8
8
#
9
9
10
10
#
11
- # Packages required: libjpeg-dev libopencv-calib3d-dev libssl-dev libcurl4-openssl-dev
11
+ # Packages required: libjpeg-dev libopencv-calib3d-dev libssl-dev libcurl4-openssl-dev libconfig-dev
12
12
#
13
13
14
14
cmake_minimum_required ( VERSION 3.2 )
@@ -28,10 +28,25 @@ project("artoolkitx_calib_camera"
28
28
set (ARTOOLKITX_HOME "${CMAKE_CURRENT_SOURCE_DIR} /../../artoolkitx" )
29
29
set (ARTOOLKITX_CAMERA_CALIBRATION_HOME "${CMAKE_CURRENT_SOURCE_DIR} /.." )
30
30
31
- list (APPEND CMAKE_FIND_ROOT_PATH "${ARTOOLKITX_HOME} /Source/depends/linux" )
32
- list (APPEND CMAKE_FIND_ROOT_PATH "${ARTOOLKITX_CAMERA_CALIBRATION_HOME} /depends/linux" )
31
+ add_definitions ("-DARX_TARGET_PLATFORM_LINUX=1" )
33
32
34
- add_definitions ("-DTARGET_PLATFORM_LINUX=1" )
33
+ if (${CMAKE_BUILD_TYPE} MATCHES "Debug" )
34
+ add_definitions ("-DDEBUG=1" )
35
+ endif ()
36
+
37
+ # Search prefix.
38
+ list (APPEND CMAKE_MODULE_PATH "${ARTOOLKITX_HOME} /Source/cmake" )
39
+ if (ARX_TARGET_PLATFORM_VARIANT)
40
+ list (APPEND CMAKE_FIND_ROOT_PATH "${ARTOOLKITX_HOME} /Source/depends/linux-${ARX_TARGET_PLATFORM_VARIANT} " )
41
+ list (APPEND CMAKE_FIND_ROOT_PATH "${ARTOOLKITX_CAMERA_CALIBRATION_HOME} /depends/linux-${ARX_TARGET_PLATFORM_VARIANT} " )
42
+ else ()
43
+ list (APPEND CMAKE_FIND_ROOT_PATH "${ARTOOLKITX_HOME} /Source/depends/linux" )
44
+ list (APPEND CMAKE_FIND_ROOT_PATH "${ARTOOLKITX_CAMERA_CALIBRATION_HOME} /depends/linux" )
45
+ endif ()
46
+ if ("${ARX_TARGET_PLATFORM_VARIANT} " STREQUAL "raspbian" )
47
+ list (APPEND CMAKE_FIND_ROOT_PATH "/opt/vc/" )
48
+ set (GL_PREFER_EMBEDDED 1)
49
+ endif ()
35
50
36
51
# Installation settings.
37
52
# If the user didn't define CMAKE_INSTALL_PREFIX, set a local install destination.
@@ -47,13 +62,26 @@ set(CMAKE_CXX_EXTENSIONS OFF)
47
62
48
63
include_directories (${ARTOOLKITX_CAMERA_CALIBRATION_HOME} )
49
64
50
- find_package (OpenGL REQUIRED)
51
- include_directories (${OPENGL_INCLUDE_DIR} )
52
-
53
65
find_package (SDL2 REQUIRED)
54
- include (${SDL2_DIR} /sdl2-config.cmake)
55
- string (STRIP ${SDL2_LIBRARIES} SDL2_LIBRARIES)
56
- include_directories (${SDL2_INCLUDE_DIRS} )
66
+ string (STRIP "${SDL2_LIBRARY} " SDL2_LIBRARY)
67
+ include_directories (${SDL2_INCLUDE_DIR} )
68
+ if ("${ARX_TARGET_PLATFORM_VARIANT} " STREQUAL "raspbian" )
69
+ list (APPEND SDL2_LIBRARY -Wl,--no -undefined -lm -L/opt/vc/lib -lbcm_host -ldl -ldl -lpthread -lrt)
70
+ endif ()
71
+
72
+ find_package (OpenGL)
73
+ find_package (OpenGLES2)
74
+ find_package (OpenGL3)
75
+ if ((OPENGL_FOUND OR OpenGL3_FOUND) AND OPENGLES2_FOUND)
76
+ if (GL_PREFER_EMBEDDED)
77
+ set (OPENGL_FOUND 0)
78
+ set (OpenGL3_FOUND 0)
79
+ message (STATUS "Opting for embedded OpenGL" )
80
+ else ()
81
+ set (OPENGLES2_FOUND 0)
82
+ message (STATUS "Opting for desktop OpenGL. Set GL_PREFER_EMBEDDED to change." )
83
+ endif ()
84
+ endif ()
57
85
58
86
find_package (JPEG REQUIRED)
59
87
include_directories (${JPEG_INCLUDE_DIR} )
@@ -145,8 +173,7 @@ add_dependencies(${CMAKE_PROJECT_NAME}
145
173
146
174
target_link_libraries (${CMAKE_PROJECT_NAME}
147
175
ARX
148
- ${OPENGL_LIBRARIES}
149
- ${SDL2_LIBRARIES}
176
+ ${SDL2_LIBRARY}
150
177
${JPEG_LIBRARIES}
151
178
${OPENCV_CALIB3D_LIBRARY} ${OPENCV_FEATURES2D_LIBRARY} ${OPENCV_IMGPROC_LIBRARY} ${OPENCV_FLANN_LIBRARY} ${OPENCV_CORE_LIBRARY}
152
179
${CURL_LIBRARIES} ${OPENSSL_LIBRARIES}
@@ -155,6 +182,19 @@ target_link_libraries(${CMAKE_PROJECT_NAME}
155
182
m
156
183
)
157
184
185
+ if (OPENGL_FOUND)
186
+ target_include_directories (${PROJECT_NAME} PRIVATE ${OPENGL_INCLUDE_DIR} )
187
+ target_link_libraries (${CMAKE_PROJECT_NAME} ${OPENGL_LIBRARIES} )
188
+ endif ()
189
+ if (OPENGLES2_FOUND)
190
+ target_include_directories (${PROJECT_NAME} PRIVATE ${OPENGLES2_INCLUDE_DIR} )
191
+ target_link_libraries (${CMAKE_PROJECT_NAME} ${OPENGLES2_LIBRARIES} )
192
+ endif ()
193
+ if (OpenGL3_FOUND)
194
+ target_include_directories (${PROJECT_NAME} PRIVATE ${OpenGL3_INCLUDE_PATH} )
195
+ target_link_libraries (${CMAKE_PROJECT_NAME} ${OpenGL3_LIBRARIES} )
196
+ endif ()
197
+
158
198
get_directory_property (ARXCC_DEFINES DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS )
159
199
foreach (d ${ARXCC_DEFINES} )
160
200
message (STATUS "Defined: " ${d} )
0 commit comments