Revision: 7626
          http://playerstage.svn.sourceforge.net/playerstage/?rev=7626&view=rev
Author:   gbiggs
Date:     2009-05-08 00:23:57 +0000 (Fri, 08 May 2009)

Log Message:
-----------
Added checks for specific required gtk functions to playervcr, disabled 
pmaptest when getopt_long is not found

Modified Paths:
--------------
    code/player/trunk/cmake/internal/SearchForStuff.cmake
    code/player/trunk/utils/playervcr/CMakeLists.txt
    code/player/trunk/utils/pmap/CMakeLists.txt

Modified: code/player/trunk/cmake/internal/SearchForStuff.cmake
===================================================================
--- code/player/trunk/cmake/internal/SearchForStuff.cmake       2009-05-07 
08:09:17 UTC (rev 7625)
+++ code/player/trunk/cmake/internal/SearchForStuff.cmake       2009-05-08 
00:23:57 UTC (rev 7626)
@@ -50,6 +50,7 @@
 CHECK_FUNCTION_EXISTS (cfmakeraw HAVE_CFMAKERAW)
 CHECK_FUNCTION_EXISTS (dirname HAVE_DIRNAME)
 CHECK_FUNCTION_EXISTS (getopt HAVE_GETOPT)
+CHECK_FUNCTION_EXISTS (getopt_long HAVE_GETOPT_LONG)
 CHECK_INCLUDE_FILES (linux/joystick.h HAVE_LINUX_JOYSTICK_H)
 CHECK_INCLUDE_FILES (stdint.h HAVE_STDINT_H)
 CHECK_INCLUDE_FILES (strings.h HAVE_STRINGS_H)

Modified: code/player/trunk/utils/playervcr/CMakeLists.txt
===================================================================
--- code/player/trunk/utils/playervcr/CMakeLists.txt    2009-05-07 08:09:17 UTC 
(rev 7625)
+++ code/player/trunk/utils/playervcr/CMakeLists.txt    2009-05-08 00:23:57 UTC 
(rev 7626)
@@ -1,17 +1,32 @@
+INCLUDE (CheckFunctionExists)
 OPTION (BUILD_UTILS_PLAYERVCR "Build the playervcr utility" ON)
 IF (BUILD_UTILS_PLAYERVCR)
     IF (WITH_GTK)
-        SET (playervcrSrcs playervcr.c)
+        SET (CMAKE_REQUIRED_FLAGS ${GTK_CFLAGS})
+        SET (CMAKE_REQUIRED_INCLUDES ${GTK_PKG_INCLUDE_DIRS})
+        SET (CMAKE_REQUIRED_LIBRARIES ${GTK_PKG_LIBRARIES})
+        CHECK_FUNCTION_EXISTS (gtk_dialog_new_with_buttons 
HAVE_GTK_DIALOG_NEW_WITH_BUTTONS)
+        CHECK_FUNCTION_EXISTS (gtk_button_set_use_stock 
HAVE_GTK_BUTTON_SET_USE_STOCK)
+        CHECK_FUNCTION_EXISTS (gtk_dialog_run HAVE_GTK_DIALOG_RUN)
+        SET (CMAKE_REQUIRED_FLAGS)
+        SET (CMAKE_REQUIRED_INCLUDES)
+        SET (CMAKE_REQUIRED_LIBRARIES)
 
-        INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/client_libs 
${GTK_PKG_INCLUDE_DIRS})
-        LINK_DIRECTORIES (${GTK_PKG_LIBRARY_DIRS})
-        PLAYER_ADD_EXECUTABLE (playervcr ${playervcrSrcs})
-        TARGET_LINK_LIBRARIES (playervcr playerc playerxdr playererror
-            playerutils ${PLAYERC_EXTRA_LINK_LIBRARIES} ${GTK_PKG_LIBRARIES})
-        SET_SOURCE_FILES_PROPERTIES (${playervcrSrcs} PROPERTIES
-            COMPILE_FLAGS "${GTK_CFLAGS}")
-        SET_TARGET_PROPERTIES (playervcr PROPERTIES
-            LINK_FLAGS "${GTK_LINKFLAGS}")
+        IF (HAVE_GTK_DIALOG_NEW_WITH_BUTTONS AND HAVE_GTK_BUTTON_SET_USE_STOCK 
AND HAVE_GTK_DIALOG_RUN)
+            SET (playervcrSrcs playervcr.c)
+
+            INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/client_libs 
${GTK_PKG_INCLUDE_DIRS})
+            LINK_DIRECTORIES (${GTK_PKG_LIBRARY_DIRS})
+            PLAYER_ADD_EXECUTABLE (playervcr ${playervcrSrcs})
+            TARGET_LINK_LIBRARIES (playervcr playerc playerxdr playererror
+                playerutils ${PLAYERC_EXTRA_LINK_LIBRARIES} 
${GTK_PKG_LIBRARIES})
+            SET_SOURCE_FILES_PROPERTIES (${playervcrSrcs} PROPERTIES
+                COMPILE_FLAGS "${GTK_CFLAGS}")
+            SET_TARGET_PROPERTIES (playervcr PROPERTIES
+                LINK_FLAGS "${GTK_LINKFLAGS}")
+        ELSE (HAVE_GTK_DIALOG_NEW_WITH_BUTTONS AND 
HAVE_GTK_BUTTON_SET_USE_STOCK AND HAVE_GTK_DIALOG_RUN)
+            MESSAGE (STATUS "playervcr will not be built - GTK version is too 
old")
+        ENDIF (HAVE_GTK_DIALOG_NEW_WITH_BUTTONS AND 
HAVE_GTK_BUTTON_SET_USE_STOCK AND HAVE_GTK_DIALOG_RUN)
     ELSE (WITH_GTK)
         MESSAGE (STATUS "playervcr will not be built - GTK not found")
     ENDIF (WITH_GTK)

Modified: code/player/trunk/utils/pmap/CMakeLists.txt
===================================================================
--- code/player/trunk/utils/pmap/CMakeLists.txt 2009-05-07 08:09:17 UTC (rev 
7625)
+++ code/player/trunk/utils/pmap/CMakeLists.txt 2009-05-08 00:23:57 UTC (rev 
7626)
@@ -32,18 +32,15 @@
                 INCLUDE_DIRECTORIES (${GLUT_INCLUDE_DIR})
             ENDIF (GLUT_FOUND)
 
-            IF (NOT HAVE_GETOPT)
-                INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/replace)
-                SET (getoptSrc ${PROJECT_SOURCE_DIR}/replace/getopt.c)
-            ENDIF (NOT HAVE_GETOPT)
+            IF (HAVE_GETOPT_LONG)
+                PLAYER_ADD_EXECUTABLE (pmaptest ${pmaptestSrcs} ${getoptSrc})
+                TARGET_LINK_LIBRARIES (pmaptest pmap lodo)
+                IF (GLUT_FOUND)
+                    TARGET_LINK_LIBRARIES (pmaptest ${OPENGL_LIBRARIES} 
${GLUT_LIBRARIES})
+                ENDIF (GLUT_FOUND)
+                TARGET_LINK_LIBRARIES (pmaptest ${GSL_PKG_LIBRARIES})
+            ENDIF (HAVE_GETOPT_LONG)
 
-            PLAYER_ADD_EXECUTABLE (pmaptest ${pmaptestSrcs} ${getoptSrc})
-            TARGET_LINK_LIBRARIES (pmaptest pmap lodo)
-            IF (GLUT_FOUND)
-                TARGET_LINK_LIBRARIES (pmaptest ${OPENGL_LIBRARIES} 
${GLUT_LIBRARIES})
-            ENDIF (GLUT_FOUND)
-            TARGET_LINK_LIBRARIES (pmaptest ${GSL_PKG_LIBRARIES})
-
             PLAYER_ADD_LIBRARY (pmap ${pmapSrcs})
             IF (GLUT_FOUND)
                 TARGET_LINK_LIBRARIES (pmap ${OPENGL_LIBRARIES} 
${GLUT_LIBRARIES})


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to