11CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
22
3- macro (auto_detect_lib LIBNAME)
4- if ( PKG_CONFIG_FOUND )
5- string (TOLOWER ${LIBNAME} PKGCONFIGNAME)
6- pkg_check_modules(${LIBNAME} ${PKGCONFIGNAME} ${ARGN} )
7- else (PKG_CONFIG_FOUND)
8- #MESSAGE("Fallback to non-pkg-config")
9- FIND_PACKAGE (${LIBNAME} ${ARGN} )
10- endif (PKG_CONFIG_FOUND)
11- endmacro ()
12-
133PROJECT (libfreenect2)
144SET (CMAKE_BUILD_TYPE RelWithDebInfo)
155
166SET (MY_DIR ${libfreenect2_SOURCE_DIR} )
17- SET (ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH} : ${ MY_DIR} /../../depends/libusb/lib/pkgconfig/: ${MY_DIR} /../../depends/glfw/lib/pkgconfig/" )
7+ SET (DEPENDS_DIR "${ MY_DIR} /../../depends" CACHE STRING "dependency directory" )
188
199OPTION (ENABLE_CXX11 "Enable C++11 support" OFF )
2010OPTION (ENABLE_OPENCL "Enable OpenCL support" ON )
@@ -48,24 +38,21 @@ SET(EXECUTABLE_OUTPUT_PATH ${MY_DIR}/bin)
4838SET (LIBRARY_OUTPUT_PATH ${MY_DIR} /lib)
4939
5040# dependencies
51- find_package (PkgConfig) # try find PKGConfig as it will be used if found
52- auto_detect_lib (LibUSB-1.0 REQUIRED)
53- auto_detect_lib (OpenCV REQUIRED)
41+ FIND_PACKAGE (PkgConfig) # try find PKGConfig as it will be used if found
42+ FIND_PACKAGE (LibUSB REQUIRED)
43+ FIND_PACKAGE (OpenCV REQUIRED)
5444FIND_PACKAGE (TurboJPEG REQUIRED) #does not provide a package-config file
5545
56- #hack for buggy libusb pkgconfig file
57- if (NOT LibUSB_INCLUDE_DIR)
58- find_path (LibUSB_INCLUDE_DIR NAMES libusb.h PATHS /usr/include /libusb-1.0 )
59- endif ()
60-
6146# Add includes
62- INCLUDE_DIRECTORIES ("${MY_DIR} /include" ${LIBFREENECT2_THREADING_INCLUDE_DIR} ${OpenCV_INCLUDE_DIRS} ${LibUSB_INCLUDE_DIR} ${TurboJPEG_INCLUDE_DIR} )
47+ INCLUDE_DIRECTORIES (
48+ "${MY_DIR} /include"
49+ ${LIBFREENECT2_THREADING_INCLUDE_DIR}
50+ ${OpenCV_INCLUDE_DIRS}
51+ ${LibUSB_INCLUDE_DIRS}
52+ ${TurboJPEG_INCLUDE_DIRS}
53+ )
6354
64- if (APPLE AND NOT ${TurboJPEG_FOUND} )
65- # libjpeg-turbo
66- INCLUDE_DIRECTORIES ("${MY_DIR} /../../depends/libjpeg_turbo/include/" )
67- LINK_DIRECTORIES ("${MY_DIR} /../../depends/libjpeg_turbo/lib/" )
68- endif ()
55+ LINK_DIRECTORIES (${LibUSB_LIBRARY_DIRS} )
6956
7057SET (RESOURCES_INC_FILE "${MY_DIR} /src/resources.inc" )
7158
@@ -119,7 +106,7 @@ SET(LIBRARIES
119106 ${OpenCV_LIBS}
120107 ${OpenCV_LIBRARIES}
121108 ${LibUSB_LIBRARIES}
122- ${TurboJPEG_LIBRARY }
109+ ${TurboJPEG_LIBRARIES }
123110 ${LIBFREENECT2_THREADING_LIBRARIES}
124111)
125112
@@ -130,34 +117,16 @@ SET(RESOURCES
130117)
131118
132119IF (ENABLE_OPENGL)
133- auto_detect_lib(GLFW3)
134-
135- #Assuming local build witout global deps, ugly to to this automatic but to keep backward compatibiliy
136- if (NOT GLFW3_FOUND)
137-
138- MESSAGE (STATUS "Building local GLFW" )
139- # GLFW
140- SET (BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries" )
141- SET (GLFW_BUILD_EXAMPLES OFF CACHE BOOL "Build the GLFW example programs" )
142- SET (GLFW_BUILD_TESTS OFF CACHE BOOL "Build the GLFW test programs" )
143- SET (GLFW_BUILD_DOCS OFF CACHE BOOL "Build the GLFW documentation" )
144-
145- ADD_SUBDIRECTORY (${MY_DIR} /../../depends /glfw_src/ ${MY_DIR} /../../depends /glfw)
146- INCLUDE_DIRECTORIES (${MY_DIR} /../../depends /glfw_src/include /)
147-
148- LIST (APPEND LIBRARIES
149- glfw
150- )
151-
152- else ()
120+ FIND_PACKAGE (GLFW3)
121+ FIND_PACKAGE (OpenGL)
122+ IF (GLFW3_FOUND)
153123 INCLUDE_DIRECTORIES (${GLFW3_INCLUDE_DIRS} )
154124
155125 LINK_DIRECTORIES (${GLFW3_LIBRARY_DIRS} )
156126 LIST (APPEND LIBRARIES
157127 ${GLFW3_LIBRARIES}
128+ ${OPENGL_gl_LIBRARY}
158129 )
159- endif ()
160-
161130 SET (LIBFREENECT2_WITH_OPENGL_SUPPORT 1)
162131 LIST (APPEND SOURCES
163132 src/flextGL.c
@@ -172,6 +141,7 @@ IF(ENABLE_OPENGL)
172141 src/shader/stage1.fs
173142 src/shader/stage2.fs
174143 )
144+ ENDIF ()
175145ENDIF (ENABLE_OPENGL)
176146
177147IF (ENABLE_OPENCL)
@@ -195,7 +165,7 @@ IF(ENABLE_OPENCL)
195165 ENDIF (OPENCL_FOUND)
196166ENDIF (ENABLE_OPENCL)
197167
198- SET (CMAKE_INSTALL_RPATH ${LibUSB-1.0_LIBDIR })
168+ SET (CMAKE_INSTALL_RPATH ${LibUSB_LIBDIR } )
199169
200170CONFIGURE_FILE ("${MY_DIR} /include/libfreenect2/config.h.in" "${MY_DIR} /include/libfreenect2/config.h" @ONLY)
201171GENERATE_RESOURCES(${RESOURCES_INC_FILE} ${MY_DIR} ${RESOURCES} )
0 commit comments