Revision: 6385
          http://playerstage.svn.sourceforge.net/playerstage/?rev=6385&view=rev
Author:   gbiggs
Date:     2008-04-24 19:58:31 -0700 (Thu, 24 Apr 2008)

Log Message:
-----------
Added the messy API version checks for the camera1394 driver

Modified Paths:
--------------
    code/player/trunk/server/drivers/camera/1394/CMakeLists.txt

Modified: code/player/trunk/server/drivers/camera/1394/CMakeLists.txt
===================================================================
--- code/player/trunk/server/drivers/camera/1394/CMakeLists.txt 2008-04-24 
06:25:45 UTC (rev 6384)
+++ code/player/trunk/server/drivers/camera/1394/CMakeLists.txt 2008-04-25 
02:58:31 UTC (rev 6385)
@@ -1,2 +1,37 @@
-PLAYERDRIVER_OPTION (camera1394 build_camera1394 OFF "API version checks are a 
mess - will do later")
-PLAYERDRIVER_ADD_DRIVER_SIMPLE (camera1394 build_camera1394 camera1394.cc 
${PROJECT_SOURCE_DIR}/server/drivers/blobfinder/cmvision/conversions.c)
\ No newline at end of file
+PLAYERDRIVER_OPTION (camera1394 build_camera1394 ON)
+# PLAYERDRIVER_REQUIRE_LIB (camera1394 build_camera1394 raw1394 main "")
+SET (c1394CFlags "-DDC1394_DMA_SETUP_CAPTURE_ARGS=0")
+IF (build_camera1394)
+    SET (c1394Sources camera1394.cc 
${PROJECT_SOURCE_DIR}/server/drivers/blobfinder/cmvision/conversions.c)
+
+    INCLUDE (CheckIncludeFiles)
+    CHECK_INCLUDE_FILES (dc1394/control.h haveControlH)
+    IF (haveControlH)
+        SET (c1394CFlags "-DDC1394_DMA_SETUP_CAPTURE_ARGS=20")
+        CHECK_INCLUDE_FILES (libraw1394/raw1394.h haveRaw1394H)
+        IF (haveRaw1394H)
+            SET (c1394LinkFlags "-lraw1394 -ldc1394")
+        ELSE (haveRaw1394H)
+            SET (c1394LinkFlags "-ldc1394")
+        ENDIF (haveRaw1394H)
+    ELSE (haveControlH)
+        SET (c1394LinkFlags "-lraw1394 -ldc1394_control")
+        PLAYERDRIVER_REQUIRE_HEADER (camera1394 build_camera1394 
libraw1394/raw1394.h)
+        PLAYERDRIVER_REQUIRE_HEADER (camera1394 build_camera1394 
libdc1394/dc1394_control.h)
+        SET (testArgsSource ${CMAKE_CURRENT_BINARY_DIR}/CMakeTmp/test_args.c)
+        FILE (WRITE ${testArgsSource}
+            "#include \"libdc1394/dc1394_control.h\"\nint main () 
{dc1394_dma_setup_capture (NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL); return 
0;}")
+        TRY_COMPILE (argsIs11 ${CMAKE_CURRENT_BINARY_DIR} ${testArgsSource})
+        IF (argsIs11)
+            SET (c1394CFlags "-DDC1394_DMA_SETUP_CAPTURE_ARGS=11")
+        ELSE (argsIs11)
+            FILE (WRITE ${testArgsSource}
+                "#include \"libdc1394/dc1394_control.h\"\nint main () 
{dc1394_dma_setup_capture (NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL); return 
0;}")
+            TRY_COMPILE (argsIs12 ${CMAKE_CURRENT_BINARY_DIR} 
${testArgsSource})
+            IF (argsIs12)
+                SET (c1394CFlags "-DDC1394_DMA_SETUP_CAPTURE_ARGS=12")
+            ENDIF (argsIs12)
+        ENDIF (argsIs11)
+    ENDIF (haveControlH)
+ENDIF (build_camera1394)
+PLAYERDRIVER_ADD_DRIVER (camera1394 build_camera1394 "" "" "${c1394LinkFlags}" 
"${c1394CFlags}" ${c1394Sources})


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

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to