|
2 | 2 | # Packages needed for examples |
3 | 3 | ###################################################################################### |
4 | 4 |
|
5 | | -# todo: use these throughout |
6 | | -file(GLOB SRC_STANDARD chunkview.c glview.c hiview.c regview.c) |
7 | | -file(GLOB SRC_AUDIO micview.c wavrecord.c) |
8 | | -file(GLOB SRC_SYNC glpclview.c regtest.c tiltdemo.c) |
9 | | -set (SRC_ALL ${SRC_STANDARD} ${SRC_AUDIO} ${SRC_SYNC}) |
10 | | - |
11 | | -if (WIN32) |
12 | | - set(THREADS_USE_PTHREADS_WIN32 true) |
13 | | - find_package(Threads REQUIRED) |
14 | | - include_directories(${THREADS_PTHREADS_INCLUDE_DIR}) |
15 | | - set_source_files_properties(${SRC_ALL} PROPERTIES LANGUAGE CXX) |
16 | | -endif() |
17 | | - |
18 | | -add_executable(freenect-glview glview.c) |
19 | | -add_executable(freenect-regview regview.c) |
20 | | -add_executable(freenect-hiview hiview.c) |
21 | | -add_executable(freenect-chunkview chunkview.c) |
| 5 | +# These examples have no external dependencies and should always build. |
| 6 | +add_executable(freenect-camtest camtest.c) |
22 | 7 | add_executable(freenect-wavrecord wavrecord.c) |
23 | | -add_executable(freenect-micview micview.c) |
24 | | - |
25 | | -if (BUILD_C_SYNC) |
26 | | - add_executable(freenect-glpclview glpclview.c) |
27 | | - add_executable(freenect-tiltdemo tiltdemo.c) |
28 | | - add_executable(freenect-regtest regtest.c) |
29 | | - |
30 | | - add_dependencies(freenect-glpclview freenect-tiltdemo freenect-regtest |
31 | | - freenect_sync) |
32 | | -endif() |
33 | | - |
34 | | -# We need to include libfreenect_sync.h for glpclview |
35 | | -include_directories (../wrappers/c_sync/) |
36 | | - |
37 | | -# Mac just has everything already |
38 | | -if(APPLE) |
39 | | - set(CMAKE_EXE_LINKER_FLAGS "-framework OpenGL -framework GLUT") |
40 | | - target_link_libraries(freenect-glview freenect) |
41 | | - target_link_libraries(freenect-regview freenect) |
42 | | - target_link_libraries(freenect-hiview freenect) |
43 | | - target_link_libraries(freenect-chunkview freenect) |
44 | | - target_link_libraries(freenect-wavrecord freenect) |
45 | | - target_link_libraries(freenect-micview freenect) |
46 | | - if (BUILD_C_SYNC) |
47 | | - target_link_libraries(freenect-glpclview freenect_sync) |
48 | | - target_link_libraries(freenect-tiltdemo freenect_sync) |
49 | | - target_link_libraries(freenect-regtest freenect_sync) |
50 | | - endif() |
51 | | -# Linux, not so much |
52 | | -else() |
53 | | - |
54 | | - find_package(Threads REQUIRED) |
55 | | - find_package(OpenGL REQUIRED) |
56 | | - find_package(GLUT REQUIRED) |
57 | | - |
58 | | - include_directories(${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR} ${USB_INCLUDE_DIRS}) |
| 8 | +target_link_libraries(freenect-camtest freenect) |
| 9 | +target_link_libraries(freenect-wavrecord freenect) |
| 10 | +install(TARGETS freenect-camtest freenect-wavrecord |
| 11 | + DESTINATION bin) |
| 12 | + |
| 13 | +# All viewers need pthreads and GLUT. |
| 14 | +set(THREADS_USE_PTHREADS_WIN32 true) |
| 15 | +find_package(Threads) |
| 16 | +find_package(OpenGL) |
| 17 | +find_package(GLUT) |
| 18 | + |
| 19 | +if (Threads_FOUND AND OPENGL_FOUND AND GLUT_FOUND) |
| 20 | + include_directories(${THREADS_PTHREADS_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR}) |
| 21 | + |
| 22 | + add_executable(freenect-glview glview.c) |
| 23 | + add_executable(freenect-regview regview.c) |
| 24 | + add_executable(freenect-hiview hiview.c) |
| 25 | + add_executable(freenect-chunkview chunkview.c) |
| 26 | + add_executable(freenect-micview micview.c) |
59 | 27 |
|
60 | 28 | target_link_libraries(freenect-glview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) |
61 | 29 | target_link_libraries(freenect-regview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) |
62 | 30 | target_link_libraries(freenect-hiview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) |
63 | 31 | target_link_libraries(freenect-chunkview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) |
64 | | - target_link_libraries(freenect-wavrecord freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) |
65 | 32 | target_link_libraries(freenect-micview freenect ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) |
66 | | - if (BUILD_C_SYNC) |
67 | | - target_link_libraries(freenect-glpclview freenect_sync ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} |
68 | | - ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) |
69 | | - target_link_libraries(freenect-tiltdemo freenect_sync ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) |
70 | | - target_link_libraries(freenect-regtest freenect_sync ${CMAKE_THREAD_LIBS_INIT}) |
71 | | - endif() |
72 | | -endif() |
73 | 33 |
|
74 | | -install (TARGETS freenect-glview freenect-regview freenect-hiview freenect-chunkview freenect-wavrecord freenect-micview |
75 | | - DESTINATION bin) |
| 34 | + install(TARGETS freenect-glview freenect-regview freenect-hiview freenect-chunkview freenect-micview |
| 35 | + DESTINATION bin) |
| 36 | +endif () |
76 | 37 |
|
| 38 | +# A few examples use c_sync. |
77 | 39 | if (BUILD_C_SYNC) |
78 | | - install (TARGETS freenect-glpclview freenect-tiltdemo |
79 | | - DESTINATION bin) |
80 | | -endif() |
| 40 | + find_package(Threads REQUIRED) |
| 41 | + include_directories(../wrappers/c_sync/) |
| 42 | + include_directories(${THREADS_PTHREADS_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR}) |
| 43 | + |
| 44 | + add_executable(freenect-regtest regtest.c) |
| 45 | + add_executable(freenect-tiltdemo tiltdemo.c) |
| 46 | + |
| 47 | + target_link_libraries(freenect-regtest freenect_sync ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) |
| 48 | + target_link_libraries(freenect-tiltdemo freenect_sync ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) |
| 49 | + |
| 50 | + install(TARGETS freenect-regtest freenect-tiltdemo |
| 51 | + DESTINATION bin) |
| 52 | + |
| 53 | + if (OPENGL_FOUND AND GLUT_FOUND) |
| 54 | + add_executable(freenect-glpclview glpclview.c) |
| 55 | + target_link_libraries(freenect-glpclview freenect_sync ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIB}) |
| 56 | + install(TARGETS freenect-glpclview |
| 57 | + DESTINATION bin) |
| 58 | + endif () |
| 59 | +endif () |
0 commit comments