@@ -4,28 +4,29 @@ project( OpenARK )
44
55set (OpenARK_VERSION_MAJOR 0)
66set (OpenARK_VERSION_MINOR 9)
7- set (OpenARK_VERSION_PATCH 2 )
7+ set (OpenARK_VERSION_PATCH 3 )
88
99set (SVM_PATHS "\" svm/\" , \" ../svm/\" , \"\" " )
10+ set (INCLUDE_DIR "${PROJECT_SOURCE_DIR} /include" )
1011
1112set (CMAKE_CXX_STACK_SIZE "10000000" )
1213set (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR} /cmake_modules" )
1314
15+ set (LIB_NAME "OpenARK" )
1416set (DEMO_NAME "OpenARK_demo" )
1517set (TEST_NAME "OpenARK_test" )
16- set (LIB_NAME "OpenARK" )
1718
18- option (BUILD_LIB "BUILD_LIB " ON )
19+ option (BUILD_DEMO "BUILD_DEMO " ON )
1920option (BUILD_TESTS "BUILD_TESTS" OFF )
2021option (USE_PMD "USE_PMD" OFF )
2122
2223include (CheckCXXCompilerFlag)
2324CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
2425CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
2526if (COMPILER_SUPPORTS_CXX11)
26- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 /EHsc " )
27+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
2728elseif (COMPILER_SUPPORTS_CXX0X)
28- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x /EHsc " )
29+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x" )
2930else ()
3031 message (STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler." )
3132endif ()
7980 Webcam.cpp
8081 DepthCamera.cpp
8182 RGBCamera.cpp
82- UDPSender.cpp
8383 StreamingAverager.cpp
8484 Calibration.cpp
8585 Util.cpp
8686 Visualizer.cpp
8787 Converter.cpp
8888 HandClassifier.cpp
89+ Detector.cpp
90+ HandDetector.cpp
91+ PlaneDetector.cpp
8992)
9093
9194set (
92- HEADERS
93- FrameObject.h
94- ObjectParams.h
95- Hand.h FramePlane.h
96- Webcam.h
97- DepthCamera.h
98- RGBCamera.h
99- UDPSender.h
100- StreamingAverager.h
101- Calibration.h
102- Util.h
103- Visualizer.h
104- Converter.h
95+ HEADERS
96+ ${INCLUDE_DIR} /FrameObject.h
97+ ${INCLUDE_DIR} /DetectionParams.h
98+ ${INCLUDE_DIR} /Hand.h
99+ ${INCLUDE_DIR} /FramePlane.h
100+ ${INCLUDE_DIR} /Webcam.h
101+ ${INCLUDE_DIR} /DepthCamera.h
102+ ${INCLUDE_DIR} /RGBCamera.h
103+ ${INCLUDE_DIR} /StreamingAverager.h
104+ ${INCLUDE_DIR} /Calibration.h
105+ ${INCLUDE_DIR} /Util.h
106+ ${INCLUDE_DIR} /Visualizer.h
107+ ${INCLUDE_DIR} /Converter.h
108+ ${INCLUDE_DIR} /HandClassifier.h
109+ ${INCLUDE_DIR} /Detector.h
110+ ${INCLUDE_DIR} /HandDetector.h
111+ ${INCLUDE_DIR} /PlaneDetector.h
105112 stdafx.h
106- HandClassifier.h
107113)
108114
109115if (NOT RSSDK_FOUND)
110116 SET (RSSDK "//" )
111117else ()
112118 set (SOURCES ${SOURCES} SR300Camera.cpp)
113- set (HEADERS ${HEADERS} SR300Camera.h)
119+ set (HEADERS ${HEADERS} ${INCLUDE_DIR} / SR300Camera.h)
114120endif (NOT RSSDK_FOUND)
115121
116122if (NOT PMDSDK_FOUND)
117123 SET (PMDSDK "//" )
118124else ()
119125 include_directories (${PMDSDK_INCLUDE_DIR} )
120126 set (SOURCES ${SOURCES} PMDCamera.cpp)
121- set (HEADERS ${HEADERS} PMDCamera.h)
127+ set (HEADERS ${HEADERS} ${INCLUDE_DIR} / PMDCamera.h)
122128 set (DEPENDENCIES ${DEPENDENCIES} ${PMDSDK_LIBRARIES} )
123129endif (NOT PMDSDK_FOUND)
124130
125- configure_file (Version .h.in ${PROJECT_SOURCE_DIR} / version .h)
126- set (HEADERS ${HEADERS} version .h)
131+ configure_file (Version .h.in ${INCLUDE_DIR} / Version .h)
132+ set (HEADERS ${HEADERS} ${INCLUDE_DIR} / Version .h)
127133
128- source_group ("Header Files" *.h)
134+ # create source group
135+ source_group ("Header Files" REGULAR_EXPRESSION ".*\\ .(h|hpp)" )
129136
130137macro (add_msvc_pch PrecompiledHeader PrecompiledSource SourcesVar)
131138 if (MSVC )
@@ -150,32 +157,32 @@ endmacro(add_msvc_pch)
150157if (MSVC )
151158 add_msvc_pch("stdafx.h" "stdafx.cpp" SOURCES )
152159 add_definitions (-D_CRT_SECURE_NO_WARNINGS)
160+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /Ot" )
161+ set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:LIBCMT" )
162+ set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD" )
153163endif (MSVC )
154164
155- add_executable ( ${DEMO_NAME} main.cpp ${SOURCES} ${HEADERS} )
156-
157- if (${BUILD_LIB} )
158- add_library (${LIB_NAME} STATIC core.h ${SOURCES} ${HEADERS} )
159- set_target_properties ( ${LIB_NAME} PROPERTIES OUTPUT_NAME
160- "openark_${OpenARK_VERSION_MAJOR} _${OpenARK_VERSION_MINOR} _${OpenARK_VERSION_PATCH} " )
161- set_target_properties (${LIB_NAME} PROPERTIES COMPILE_FLAGS "/MDd" )
162- set_property (TARGET ${LIB_NAME} PROPERTY DBG_POSTFIX d)
163- target_link_libraries ( ${LIB_NAME} ${DEPENDENCIES} )
164- endif (${BUILD_LIB} )
165-
166- target_link_libraries ( ${DEMO_NAME} ${DEPENDENCIES} )
167- set_target_properties ( ${DEMO_NAME} PROPERTIES OUTPUT_NAME "OpenARK" )
168- set_target_properties ( ${DEMO_NAME} PROPERTIES COMPILE_FLAGS ${TARGET_COMPILE_FLAGS} )
165+ add_library (${LIB_NAME} STATIC "${INCLUDE_DIR} /Core.h" ${SOURCES} ${HEADERS} )
166+ set_target_properties ( ${LIB_NAME} PROPERTIES OUTPUT_NAME
167+ "openark_${OpenARK_VERSION_MAJOR} _${OpenARK_VERSION_MINOR} _${OpenARK_VERSION_PATCH} " )
168+ set_target_properties (${LIB_NAME} PROPERTIES COMPILE_FLAGS "/MD" )
169+ set_property (TARGET ${LIB_NAME} PROPERTY DBG_POSTFIX d)
170+ target_link_libraries ( ${LIB_NAME} ${DEPENDENCIES} )
171+ target_include_directories (${LIB_NAME} PRIVATE ${INCLUDE_DIR} )
172+
173+ if (${BUILD_DEMO} )
174+ add_executable ( ${DEMO_NAME} main.cpp ${SOURCES} ${HEADERS} )
175+ target_include_directories (${DEMO_NAME} PRIVATE ${INCLUDE_DIR} )
176+ target_link_libraries ( ${DEMO_NAME} ${DEPENDENCIES} )
177+ set_target_properties ( ${DEMO_NAME} PROPERTIES OUTPUT_NAME ${LIB_NAME} )
178+ set_target_properties ( ${DEMO_NAME} PROPERTIES COMPILE_FLAGS ${TARGET_COMPILE_FLAGS} )
179+ endif (${BUILD_DEMO} )
169180
170181if (${BUILD_TESTS} )
171182 if (NOT EXISTS ${PROJECT_SOURCE_DIR} /OpenARK_test)
172183 execute_process (
173184 COMMAND git clone https://github.com/augcog/OpenARK_test.git
174185 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} )
175- #else()
176- # execute_process(
177- # COMMAND git pull
178- # WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/OpenARK_test)
179186 endif (NOT EXISTS ${PROJECT_SOURCE_DIR} /OpenARK_test)
180187
181188 set (
@@ -190,4 +197,6 @@ if(${BUILD_TESTS})
190197 target_link_libraries ( ${TEST_NAME} ${DEPENDENCIES} )
191198 set_target_properties ( ${TEST_NAME} PROPERTIES
192199 COMPILE_FLAGS ${TARGET_COMPILE_FLAGS} )
200+
201+ target_include_directories (${TEST_NAME} PRIVATE ${INCLUDE_DIR} )
193202endif (${BUILD_TESTS} )
0 commit comments