@@ -39,12 +39,19 @@ set(PYTHON_EXECUTABLE "python2")
3939
4040PROJECT (libfreenect)
4141
42+ set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR} /cmake_modules/" )
43+
44+ # Find the host operating system and architecture
45+ include (FindOS)
46+ # Set up installation directories
47+ include (SetupDirectories)
48+
4249set (PROJECT_VER_MAJOR 0)
4350set (PROJECT_VER_MINOR 4)
4451set (PROJECT_VER_PATCH 1)
45- set (PROJECT_VER
52+ set (PROJECT_VER
4653 "${PROJECT_VER_MAJOR} .${PROJECT_VER_MINOR} .${PROJECT_VER_PATCH} " )
47- set (PROJECT_APIVER
54+ set (PROJECT_APIVER
4855 "${PROJECT_VER_MAJOR} .${PROJECT_VER_MINOR} " )
4956
5057OPTION (BUILD_AUDIO "Build audio support" OFF )
@@ -58,20 +65,15 @@ OPTION(BUILD_AS3_SERVER "Build the Actionscript 3 Server Example" OFF)
5865OPTION (BUILD_PYTHON "Build Python extension" OFF )
5966OPTION (BUILD_OPENNI2_DRIVER "Build libfreenect driver for OpenNI2" OFF )
6067IF (PROJECT_OS_LINUX)
61- OPTION (BUILD_CPACK "Build an RPM or DEB using CPack" OFF )
68+ OPTION (BUILD_CPACK_DEB "Build an DEB using CPack" OFF )
69+ OPTION (BUILD_CPACK_RPM "Build an RPM using CPack" OFF )
70+ OPTION (BUILD_CPACK_TGZ "Build an TGZ using CPack" OFF )
6271ENDIF (PROJECT_OS_LINUX)
6372
6473######################################################################################
6574# Dependencies and Definitions
6675######################################################################################
6776
68- set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR} /cmake_modules/" )
69-
70- # Find the host operating system and architecture
71- include (FindOS)
72- # Set up installation directories
73- include (SetupDirectories)
74-
7577# Find packages needed to build library
7678find_package (libusb-1.0 REQUIRED)
7779
@@ -93,7 +95,7 @@ else(WIN32)
9395endif ()
9496
9597######################################################################################
96- # CMake
98+ # CMake
9799######################################################################################
98100
99101SET (EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR} /bin)
@@ -177,13 +179,17 @@ configure_file(
177179 "${CMAKE_CURRENT_BINARY_DIR} /UninstallTarget.cmake"
178180 IMMEDIATE @ONLY)
179181
182+ # --- cmake config file ---
183+ CONFIGURE_FILE (libfreenectConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR} /libfreenectConfig.cmake @ONLY)
184+ INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR} /libfreenectConfig.cmake DESTINATION share/${PROJECT_NAME} )
185+
180186add_custom_target (uninstall
181187 COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR} /UninstallTarget.cmake)
182188
183189# Create Debian/RPM Packages
184190# after make, use "fakeroot cpack" in the build Dir to complete
185191
186- IF ( BUILD_CPACK )
192+ IF ( BUILD_CPACK_TGZ OR BUILD_CPACK_DEB OR BUILD_CPACK_RPM )
187193 set (CPACK_PACKAGE_DESCRIPTION "libfreenect for kinect" )
188194 set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "libfreenect library for using kinect" )
189195 set (CPACK_PACKAGE_NAME "libfreenect-dev" )
@@ -196,7 +202,16 @@ IF ( BUILD_CPACK )
196202 set (CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VER_PATCH} )
197203 set (VERSION "${CPACK_PACKAGE_VERSION_MAJOR} .${CPACK_PACKAGE_VERSION_MINOR} .${CPACK_PACKAGE_VERSION_PATCH} " )
198204
199- set (CPACK_GENERATOR "DEB;RPM;" )
205+ set (CPACK_GENERATOR "" )
206+ if (BUILD_CPACK_TGZ)
207+ list (APPEND CPACK_GENERATOR "TGZ" )
208+ endif ()
209+ if (BUILD_CPACK_RPM)
210+ list (APPEND CPACK_GENERATOR "RPM" )
211+ endif ()
212+ if (BUILD_CPACK_DEB)
213+ list (APPEND CPACK_GENERATOR "DEB" )
214+ endif ()
200215 set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME} -${CPACK_PACKAGE_VERSION_MAJOR} .${CPACK_PACKAGE_VERSION_MINOR} -${CMAKE_SYSTEM_PROCESSOR} " )
201216
202217 include (CPack)
@@ -211,5 +226,5 @@ IF ( BUILD_CPACK )
211226 INSTALL (FILES "GPL2" DESTINATION "share/doc/${CPACK_PACKAGE_NAME} " )
212227 INSTALL (FILES "README.md" DESTINATION "share/doc/${CPACK_PACKAGE_NAME} " )
213228
214- ENDIF ( BUILD_CPACK )
229+ ENDIF ( )
215230
0 commit comments