diff --git a/examples/protonect/CMakeLists.txt b/examples/protonect/CMakeLists.txt index b56c89c49..7e8e553c8 100644 --- a/examples/protonect/CMakeLists.txt +++ b/examples/protonect/CMakeLists.txt @@ -9,6 +9,8 @@ SET(DEPENDS_DIR "${MY_DIR}/../../depends" CACHE STRING "dependency directory") OPTION(ENABLE_CXX11 "Enable C++11 support" OFF) OPTION(ENABLE_OPENCL "Enable OpenCL support" ON) OPTION(ENABLE_OPENGL "Enable OpenGL support" ON) +OPTION(BUILD_STATIC "Build static version of this library" ON) +OPTION(BUILD_SHARED "Build shared version of this library" ON) IF(ENABLE_CXX11) INCLUDE(CheckCXXCompilerFlag) @@ -173,28 +175,37 @@ GENERATE_RESOURCES(${RESOURCES_INC_FILE} ${MY_DIR} ${RESOURCES}) ADD_DEFINITIONS(-DRESOURCES_INC) ADD_LIBRARY(freenect2 OBJECT ${SOURCES}) set_target_properties(freenect2 PROPERTIES POSITION_INDEPENDENT_CODE 1) -ADD_LIBRARY(freenect2shared SHARED $) -ADD_LIBRARY(freenect2static STATIC $) -set_target_properties(freenect2shared PROPERTIES OUTPUT_NAME freenect2) -set_target_properties(freenect2static PROPERTIES OUTPUT_NAME freenect2) -IF(MSVC) - set_target_properties(freenect2static PROPERTIES OUTPUT_NAME freenect2static) -ENDIF() -MESSAGE("Linking with these libraries: ${LIBRARIES}") -TARGET_LINK_LIBRARIES(freenect2shared ${LIBRARIES}) - -ADD_EXECUTABLE(Protonect - Protonect.cpp -) - -TARGET_LINK_LIBRARIES(Protonect - freenect2shared -) +if(BUILD_SHARED) + ADD_LIBRARY(freenect2shared SHARED $) +endif() -CONFIGURE_FILE(freenect2.cmake.in "${PROJECT_BINARY_DIR}/freenect2Config.cmake" @ONLY) +if(BUILD_STATIC) + ADD_LIBRARY(freenect2static STATIC $) +endif() + +if(BUILD_SHARED) + set_target_properties(freenect2shared PROPERTIES OUTPUT_NAME freenect2) + + MESSAGE("Linking with these libraries: ${LIBRARIES}") + TARGET_LINK_LIBRARIES(freenect2shared ${LIBRARIES}) + ADD_EXECUTABLE(Protonect + Protonect.cpp + ) + TARGET_LINK_LIBRARIES(Protonect + freenect2shared + ) + CONFIGURE_FILE(freenect2.cmake.in "${PROJECT_BINARY_DIR}/freenect2Config.cmake" @ONLY) + INSTALL(TARGETS freenect2shared DESTINATION lib) +endif() + +if(BUILD_STATIC) + set_target_properties(freenect2static PROPERTIES OUTPUT_NAME freenect2) + INSTALL(TARGETS freenect2static DESTINATION lib) + IF(MSVC) + set_target_properties(freenect2static PROPERTIES OUTPUT_NAME freenect2static) + endif() +endif() -INSTALL(TARGETS freenect2shared DESTINATION lib) -INSTALL(TARGETS freenect2static DESTINATION lib) INSTALL(DIRECTORY "${MY_DIR}/include/" DESTINATION include PATTERN "*.in" EXCLUDE) IF(LIBFREENECT2_THREADING_TINYTHREAD) INSTALL(FILES "${MY_DIR}/src/tinythread/tinythread.h" DESTINATION include/${PROJECT_NAME}/tinythread/) diff --git a/examples/protonect/cmake_modules/FindTurboJPEG.cmake b/examples/protonect/cmake_modules/FindTurboJPEG.cmake index a0fcc5748..611b99654 100644 --- a/examples/protonect/cmake_modules/FindTurboJPEG.cmake +++ b/examples/protonect/cmake_modules/FindTurboJPEG.cmake @@ -3,6 +3,7 @@ # - TurboJPEG_FOUND # - TurboJPEG_INCLUDE_DIRS # - TurboJPEG_LIBRARIES +# - TurboJPEG_LIBRARIES_STATIC FIND_PATH(TurboJPEG_INCLUDE_DIRS turbojpeg.h @@ -20,7 +21,23 @@ FIND_PATH(TurboJPEG_INCLUDE_DIRS ) FIND_LIBRARY(TurboJPEG_LIBRARIES - NAMES libturbojpeg.so.0 turbojpeg + NAMES libturbojpeg.so.0 turbojpeg.so + DOC "Found TurboJPEG library path" + PATHS + "${DEPENDS_DIR}/libjpeg_turbo" + "${DEPENDS_DIR}/libjpeg-turbo64" + "/usr/local/opt/jpeg-turbo" # homebrew + "/opt/local" # macports + "C:/libjpeg-turbo64" + "/opt/libjpeg-turbo" + ENV TurboJPEG_ROOT + PATH_SUFFIXES + lib + lib64 +) + +FIND_LIBRARY(TurboJPEG_LIBRARIES_STATIC + NAMES libturbojpeg.a.0 turbojpeg.a DOC "Found TurboJPEG library path" PATHS "${DEPENDS_DIR}/libjpeg_turbo"