diff --git a/CMake/OTBApplicationMacros.cmake b/CMake/OTBApplicationMacros.cmake index 921071575e235ad39ce34e22062313dd2766dc53..49081c7d3988ea4d298d0ccd78c72b228221a199 100644 --- a/CMake/OTBApplicationMacros.cmake +++ b/CMake/OTBApplicationMacros.cmake @@ -67,7 +67,7 @@ macro(otb_create_application) endif() else() install(TARGETS ${APPLICATION_TARGET_NAME} - LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + LIBRARY DESTINATION lib COMPONENT RuntimeLibraries) endif() @@ -79,9 +79,19 @@ macro(otb_create_application) set(APPLICATION_BINARY_PATH ${CMAKE_CURRENT_BINARY_DIR}) endif() + if(CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(_script_output_dir ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + else() + set(_script_output_dir ${CMAKE_BINARY_DIR}/bin) + endif() + if(OTB_INSTALL_RUNTIME_DIR) + set(_script_install_dir ${OTB_INSTALL_RUNTIME_DIR}) + else() + set(_script_install_dir bin) + endif() set(INTERMEDIATE_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}) set(SCRIPT_EXT "") - if (WIN32) + if(WIN32) set(SCRIPT_EXT ".bat") endif() @@ -95,11 +105,11 @@ macro(otb_create_application) TYPE ${type}) # Copy it next to the application shared lib, and give executable rights file(COPY ${INTERMEDIATE_DIR}/${SCRIPT_NAME} - DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + DESTINATION ${_script_output_dir} FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) # Install a version of this script if we are inside the OTB build - install(PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${SCRIPT_NAME} - DESTINATION ${OTB_INSTALL_RUNTIME_DIR} + install(PROGRAMS ${_script_output_dir}/${SCRIPT_NAME} + DESTINATION ${_script_install_dir} COMPONENT Runtime) endforeach()