From 836ae8d5a6e95e0544e88aeaad171449b14b5d10 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Mon, 16 Jun 2014 22:00:10 +0000 Subject: [PATCH] Packaging binaries on Windows: Fixed missing plugins for OpenNI2 git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1392 f169173b-cf89-36c8-b27e-44dbe73f0c83 --- CMakeLists.txt | 2 +- app/src/CMakeLists.txt | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 28a2f536..93a5e811 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -268,7 +268,7 @@ set(CPACK_SOURCE_IGNORE_FILES IF(WIN32) SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING.txt") - SET(CPACK_GENERATOR "NSIS;ZIP") + SET(CPACK_GENERATOR "ZIP;NSIS") SET(CPACK_SOURCE_GENERATOR "ZIP") SET(CPACK_NSIS_PACKAGE_NAME "${PROJECT_NAME} ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") SET(ICON_PATH "${PROJECT_SOURCE_DIR}/app/src/${PROJECT_NAME}.ico") diff --git a/app/src/CMakeLists.txt b/app/src/CMakeLists.txt index 48689b71..b1928bdf 100644 --- a/app/src/CMakeLists.txt +++ b/app/src/CMakeLists.txt @@ -91,16 +91,32 @@ INSTALL(CODE "execute_process(COMMAND ln -s \"../MacOS/${CMAKE_BUNDLE_NAME}\" ${ WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)") ENDIF(APPLE AND BUILD_AS_BUNDLE) -SET(APPS "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin/${PROJECT_NAME}${CMAKE_EXECUTABLE_SUFFIX}") IF((APPLE AND BUILD_AS_BUNDLE) OR WIN32) + SET(APPS "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin/${PROJECT_NAME}${CMAKE_EXECUTABLE_SUFFIX}") SET(plugin_dest_dir bin) SET(qtconf_dest_dir bin) + SET(openni2_dest_dir bin) + IF(APPLE) SET(plugin_dest_dir MacOS) SET(qtconf_dest_dir Resources) SET(APPS "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/${CMAKE_BUNDLE_NAME}") ENDIF(APPLE) + IF(OpenNI2_FOUND) + # Install needed OpenNI sensor dll by copying directories from the OpenNI2 installation + IF(WIN32) + find_path(OpenNI2_BIN_DIR NAMES OpenNI2.dll) + IF(NOT OpenNI2_BIN_DIR) + MESSAGE(FATAL_ERROR "OpenNI2.dll not found! Verify your PATH.") + ENDIF(NOT OpenNI2_BIN_DIR) + ENDIF(WIN32) + INSTALL(DIRECTORY "${OpenNI2_BIN_DIR}/OpenNI2" + DESTINATION ${openni2_dest_dir} + COMPONENT runtime + REGEX ".*pdb" EXCLUDE) + ENDIF(OpenNI2_FOUND) + # Install needed Qt plugins by copying directories from the qt installation # One can cull what gets copied by using 'REGEX "..." EXCLUDE' # Exclude debug libraries