Revision: 278
http://artoolkit.svn.sourceforge.net/artoolkit/?rev=278&view=rev
Author: retrakker
Date: 2008-02-17 14:34:52 -0800 (Sun, 17 Feb 2008)
Log Message:
-----------
updated CMake for usage with GStreamer. Added Find module for GStreamer
Modified Paths:
--------------
branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt
branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in
branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt
branches/hartmut-pre-2_8/artoolkit/util/mk_patt/mk_patt.c
Added Paths:
-----------
branches/hartmut-pre-2_8/artoolkit/CMakeModules/
branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindGStreamer.cmake
branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoGStreamer/CMakeLists.txt
branches/hartmut-pre-2_8/artoolkit/util/CMakeLists.txt
branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt
Modified: branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277)
+++ branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-02-17 22:34:52 UTC (rev 278)
@@ -1,7 +1,45 @@
PROJECT(ARToolKit)
-SET(CMAKE_OSX_ARCHITECTURES "ppc;i386")
-SET(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/")
+SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules")
+SET(ARTOOLKIT_VERSION_MAJOR 2)
+SET(ARTOOLKIT_VERSION_MINOR 72)
+SET(ARTOOLKIT_VERSION_TINY 3)
+SET(ARTOOLKIT_VERSION_REV 99)
+
+SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
+SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
+
+
+CONFIGURE_FILE(
+ ${CMAKE_SOURCE_DIR}/bin/Data/camera_para.dat
+ ${CMAKE_BINARY_DIR}/bin/Data/camera_para.dat
+ COPYONLY
+)
+
+CONFIGURE_FILE(
+ ${CMAKE_SOURCE_DIR}/bin/Data/patt.hiro
+ ${CMAKE_BINARY_DIR}/bin/Data/patt.hiro
+ COPYONLY
+)
+
+
+IF (APPLE)
+ SET(CMAKE_OSX_ARCHITECTURES ppc;i386)
+ SET(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk)
+ENDIF(APPLE)
+
+IF (UNIX)
+ SET(USE_GSTREAMER 0)
+
+ INCLUDE(FindGStreamer)
+
+ IF(GSTREAMER_FOUND)
+ SET(USE_GSTREAMER 1)
+ ENDIF(GSTREAMER_FOUND)
+ENDIF(UNIX)
+
+
ADD_SUBDIRECTORY(lib)
+ADD_SUBDIRECTORY(util)
ADD_SUBDIRECTORY(examples)
Added: branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindGStreamer.cmake
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindGStreamer.cmake (rev 0)
+++ branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindGStreamer.cmake 2008-02-17 22:34:52 UTC (rev 278)
@@ -0,0 +1,83 @@
+# - Try to find GStreamer
+# Once done this will define
+#
+# GSTREAMER_FOUND - system has GStreamer
+# GSTREAMER_INCLUDE_DIR - the GStreamer include directory
+# GSTREAMER_LIBRARIES - the libraries needed to use GStreamer
+# GSTREAMER_DEFINITIONS - Compiler switches required for using GStreamer
+#
+# (c)2006, Tim Beaulen <tb...@gm...>
+
+# TODO: Other versions --> GSTREAMER_X_Y_FOUND (Example: GSTREAMER_0_8_FOUND and GSTREAMER_0_10_FOUND etc)
+
+IF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY)
+ # in cache already
+ SET(GStreamer_FIND_QUIETLY TRUE)
+ELSE (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY)
+ SET(GStreamer_FIND_QUIETLY FALSE)
+ENDIF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY)
+
+IF (NOT WIN32)
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ INCLUDE(UsePkgConfig)
+ PKGCONFIG(gstreamer-0.10 _GStreamerIncDir _GStreamerLinkDir _GStreamerLinkFlags _GStreamerCflags)
+ #MESSAGE(STATUS "DEBUG: GStreamer include directory = ${_GStreamerIncDir}")
+ #MESSAGE(STATUS "DEBUG: GStreamer link directory = ${_GStreamerLinkDir}")
+ #MESSAGE(STATUS "DEBUG: GStreamer link flags = ${_GStreamerLinkFlags}")
+ #MESSAGE(STATUS "DEBUG: GStreamer CFlags = ${_GStreamerCflags}")
+ SET(GSTREAMER_DEFINITIONS ${_GStreamerCflags})
+ENDIF (NOT WIN32)
+
+FIND_PATH(GSTREAMER_INCLUDE_DIR gst/gst.h
+ PATHS
+ ${_GStreamerIncDir}
+ #PATH_SUFFIXES gst
+ )
+
+FIND_LIBRARY(GSTREAMER_LIBRARIES NAMES gstreamer-0.10
+ PATHS
+ ${_GStreamerLinkDir}
+ )
+
+FIND_LIBRARY(GSTREAMER_INTERFACE_LIBRARY NAMES gstinterfaces-0.10
+ PATHS
+ ${_GStreamerLinkDir}
+ )
+
+IF (GSTREAMER_INCLUDE_DIR)
+ #MESSAGE(STATUS "DEBUG: Found GStreamer include dir: ${GSTREAMER_INCLUDE_DIR}")
+ELSE (GSTREAMER_INCLUDE_DIR)
+ MESSAGE(STATUS "GStreamer: WARNING: include dir not found")
+ENDIF (GSTREAMER_INCLUDE_DIR)
+
+IF (GSTREAMER_LIBRARIES)
+ #MESSAGE(STATUS "DEBUG: Found GStreamer library: ${GSTREAMER_LIBRARIES}")
+ELSE (GSTREAMER_LIBRARIES)
+ MESSAGE(STATUS "GStreamer: WARNING: library not found")
+ENDIF (GSTREAMER_LIBRARIES)
+
+IF (GSTREAMER_INTERFACE_LIBRARY)
+ #MESSAGE(STATUS "DEBUG: Found GStreamer interface library: ${GSTREAMER_INTERFACE_LIBRARY}")
+ELSE (GSTREAMER_INTERFACE_LIBRARY)
+ MESSAGE(STATUS "GStreamer: WARNING: interface library not found")
+ENDIF (GSTREAMER_INTERFACE_LIBRARY)
+
+IF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY)
+ SET(GSTREAMER_FOUND TRUE)
+ELSE (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY)
+ SET(GSTREAMER_FOUND FALSE)
+ENDIF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY)
+
+IF (GSTREAMER_FOUND)
+ IF (NOT GStreamer_FIND_QUIETLY)
+ MESSAGE(STATUS "Found GStreamer: ${GSTREAMER_LIBRARIES}")
+ ENDIF (NOT GStreamer_FIND_QUIETLY)
+ELSE (GSTREAMER_FOUND)
+ IF (GStreamer_FIND_REQUIRED)
+ MESSAGE(SEND_ERROR "Could NOT find GStreamer")
+ ENDIF (GStreamer_FIND_REQUIRED)
+ENDIF (GSTREAMER_FOUND)
+
+MARK_AS_ADVANCED(GSTREAMER_INCLUDE_DIR GSTREAMER_LIBRARIES GSTREAMER_INTERFACE_LIBRARY)
+
Modified: branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in 2008-02-17 11:02:49 UTC (rev 277)
+++ branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in 2008-02-17 22:34:52 UTC (rev 278)
@@ -10,21 +10,21 @@
// The MAJOR version number defines non-backwards compatible
// changes in the ARToolKit API. Range: [0-99].
-#define AR_HEADER_VERSION_MAJOR 2
+#define AR_HEADER_VERSION_MAJOR @ARTOOLKIT_VERSION_MAJOR@
// The MINOR version number defines additions to the ARToolKit
// API, or (occsasionally) other significant backwards-compatible
// changes in runtime functionality. Range: [0-99].
-#define AR_HEADER_VERSION_MINOR 72
+#define AR_HEADER_VERSION_MINOR @ARTOOLKIT_VERSION_MINOR@
// The TINY version number defines bug-fixes to existing
// functionality. Range: [0-99].
-#define AR_HEADER_VERSION_TINY 0
+#define AR_HEADER_VERSION_TINY @ARTOOLKIT_VERSION_TINY@
// The BUILD version number will always be zero in releases,
// but may be non-zero in internal builds or in version-control
// repository-sourced code. Range: [0-99].
-#define AR_HEADER_VERSION_BUILD 0
+#define AR_HEADER_VERSION_BUILD @ARTOOLKIT_VERSION_REV@
// The string representation below must match the major, minor
// and tiny release numbers.
@@ -74,6 +74,13 @@
#undef AR_INPUT_1394CAM
#undef AR_INPUT_GSTREAMER
+/*
+ * CMake based configure
+ */
+#if (@USE_GSTREAMER@ == 1)
+#define AR_INPUT_GSTREAMER 1
+#endif
+
# ifdef AR_INPUT_V4L
# ifdef USE_EYETOY
# define AR_DEFAULT_PIXEL_FORMAT AR_PIXEL_FORMAT_RGB
Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277)
+++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt 2008-02-17 22:34:52 UTC (rev 278)
@@ -8,4 +8,10 @@
# Video
IF (APPLE)
ADD_SUBDIRECTORY(VideoMacOSX)
-ENDIF(APPLE)
\ No newline at end of file
+ENDIF(APPLE)
+
+IF (UNIX)
+ IF (USE_GSTREAMER)
+ ADD_SUBDIRECTORY(VideoGStreamer)
+ ENDIF(USE_GSTREAMER)
+ENDIF(UNIX)
Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoGStreamer/CMakeLists.txt
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoGStreamer/CMakeLists.txt (rev 0)
+++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoGStreamer/CMakeLists.txt 2008-02-17 22:34:52 UTC (rev 278)
@@ -0,0 +1,19 @@
+SET(LIB_NAME ARvideo)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/include
+ ${GSTREAMER_INCLUDE_DIR}
+ )
+
+SET(HDRS ${CMAKE_SOURCE_DIR}/include/AR/video.h)
+
+SET(SRCS video.c)
+
+ADD_DEFINITIONS(${GSTREAMER_DEFINITIONS})
+
+ADD_LIBRARY(${LIB_NAME} SHARED ${HDRS} ${SRCS})
+
+TARGET_LINK_LIBRARIES(${LIB_NAME}
+ AR
+ ${GSTREAMER_LIBRARIES}
+ )
Added: branches/hartmut-pre-2_8/artoolkit/util/CMakeLists.txt
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/util/CMakeLists.txt (rev 0)
+++ branches/hartmut-pre-2_8/artoolkit/util/CMakeLists.txt 2008-02-17 22:34:52 UTC (rev 278)
@@ -0,0 +1 @@
+ADD_SUBDIRECTORY(mk_patt)
Added: branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt (rev 0)
+++ branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt 2008-02-17 22:34:52 UTC (rev 278)
@@ -0,0 +1,16 @@
+SET(EXE_NAME mk_patt)
+
+SET(SRCS mk_patt.c)
+
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+
+INCLUDE(FindOpenGL)
+INCLUDE(FindGLUT)
+
+IF (APPLE)
+ ADD_EXECUTABLE(${EXE_NAME} MACOSX_BUNDLE ${SRCS})
+ELSE (APPLE)
+ ADD_EXECUTABLE(${EXE_NAME} WIN32 ${SRCS})
+ENDIF(APPLE)
+
+TARGET_LINK_LIBRARIES(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES})
Modified: branches/hartmut-pre-2_8/artoolkit/util/mk_patt/mk_patt.c
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/util/mk_patt/mk_patt.c 2008-02-17 11:02:49 UTC (rev 277)
+++ branches/hartmut-pre-2_8/artoolkit/util/mk_patt/mk_patt.c 2008-02-17 22:34:52 UTC (rev 278)
@@ -58,7 +58,7 @@
char *vconf = "-size=FULL";
#elif defined(__linux)
# if defined(AR_INPUT_GSTREAMER)
-char *vconf = "videotestsrc";
+char *vconf = "";
# elif defined(AR_INPUT_V4L)
char *vconf = "-width=640 -height=480";
# elif defined(AR_INPUT_1394CAM)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|