diff --git a/SuperBuild/Packaging/CMakeLists.txt b/SuperBuild/Packaging/CMakeLists.txt index c8ec47b2b193bfebdd00ef739db0447184e7a0c2..75ae60cbb433439366f0331be179380f0384ea9a 100644 --- a/SuperBuild/Packaging/CMakeLists.txt +++ b/SuperBuild/Packaging/CMakeLists.txt @@ -59,7 +59,10 @@ else(OUT_OF_SOURCE_BUILD) set(SUPERBUILD_INSTALL_DIR ${SB_INSTALL_PREFIX}) if(WIN32 OR CMAKE_CROSSCOMPILING) set(MONTEVERDI_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) - set(OTB_INSTALL_DIR "${OTB_MODULES_DIR}/../../../..") + get_filename_component(OTB_INSTALL_DIR ${OTB_MODULES_DIR} PATH) + get_filename_component(OTB_INSTALL_DIR ${OTB_INSTALL_DIR} PATH) + get_filename_component(OTB_INSTALL_DIR ${OTB_INSTALL_DIR} PATH) + get_filename_component(OTB_INSTALL_DIR ${OTB_INSTALL_DIR} PATH) endif() endif(OUT_OF_SOURCE_BUILD) @@ -177,5 +180,5 @@ macro_update_dependencies_list(PACKAGE-configure_DEPENDS) macro_create_targets_for_package(OTB) if(GENERATE_XDK) -macro_create_targets_for_package(XDK) + macro_create_targets_for_package(XDK) endif() diff --git a/SuperBuild/Packaging/PMacros.cmake b/SuperBuild/Packaging/PMacros.cmake index 50cdb06b0828c562f8f7a28a73d56f6a65216279..823c4c9ab82c918a7b57f551dcd111ddcc5c7085 100644 --- a/SuperBuild/Packaging/PMacros.cmake +++ b/SuperBuild/Packaging/PMacros.cmake @@ -1,21 +1,24 @@ macro(macro_setup_cmake_sources pkg) message( "-- Configuring ${pkg} package") - + #reset it again in macro(macro_create_targets_for_package pkg) + #because thats the cmake macros way. set(PACKAGE_PROJECT_DIR ${CMAKE_BINARY_DIR}/PACKAGE-${pkg}) execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${PACKAGE_PROJECT_DIR}/build") - #Easy way to have the write "PACKAGE_PROJECT_DIR/src/CMakeLists.txt" - #inside foreach() if("${pkg}" STREQUAL "XDK") - set(PACKAGE_PLATFORM_NAME "xdk-${PACKAGE_PLATFORM_NAME}") + set(${archive_name} ${PACKAGE_NAME}-${PACKAGE_VERSION_STRING}-xdk-${PACKAGE_PLATFORM_NAME}${PACKAGE_ARCH}) + else() + set(${archive_name} ${PACKAGE_NAME}-${PACKAGE_VERSION_STRING}-${PACKAGE_PLATFORM_NAME}${PACKAGE_ARCH}) + endif() + + if("${pkg}" STREQUAL "XDK") set(PKG_GENERATE_XDK ON) else() set(PKG_GENERATE_XDK OFF) endif() - #set archive name inside loop - set(ARCHIVE_NAME ${PACKAGE_NAME}-${PACKAGE_VERSION_STRING}-${PACKAGE_PLATFORM_NAME}${PACKAGE_ARCH}) + #set archive name inside loop file(WRITE "${PACKAGE_PROJECT_DIR}/src/CMakeLists.txt" "cmake_minimum_required(VERSION 2.6) include(CMakeParseArguments) @@ -34,7 +37,7 @@ macro(macro_setup_cmake_sources pkg) set(PKG_GENERATE_XDK ${PKG_GENERATE_XDK}) ${EXTRA_CACHE_CONFIG} include(\"${SUPERBUILD_SOURCE_DIR}/Packaging/PackageHelper.cmake\") - super_package(STAGE_DIR \"${ARCHIVE_NAME}\")" ) + super_package(STAGE_DIR \"${archive_name}\")" ) endmacro() @@ -60,6 +63,22 @@ macro(macro_update_dependencies_list list_variable) endmacro() macro(macro_create_targets_for_package pkg) + + if("${pkg}" STREQUAL "XDK") + set(PACKAGE_PLATFORM_NAME_ "xdk-${PACKAGE_PLATFORM_NAME}") + set(PKG_GENERATE_XDK ON) + else() + set(PACKAGE_PLATFORM_NAME_ "${PACKAGE_PLATFORM_NAME}") + set(PKG_GENERATE_XDK OFF) + endif() + + set(PACKAGE_PROJECT_DIR ${CMAKE_BINARY_DIR}/PACKAGE-${pkg}) + if("${pkg}" STREQUAL "XDK") + set(${archive_name} ${PACKAGE_NAME}-${PACKAGE_VERSION_STRING}-xdk-${PACKAGE_PLATFORM_NAME}${PACKAGE_ARCH}) + else() + set(${archive_name} ${PACKAGE_NAME}-${PACKAGE_VERSION_STRING}-${PACKAGE_PLATFORM_NAME}${PACKAGE_ARCH}) + endif() + #configure add_custom_target(PACKAGE-${pkg}-configure COMMAND ${CMAKE_COMMAND} @@ -82,7 +101,7 @@ macro(macro_create_targets_for_package pkg) add_custom_target(PACKAGE-${pkg} ALL DEPENDS COMMAND ${ZIP_EXECUTABLE} - "-r" "${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.zip" "${CMAKE_INSTALL_PREFIX}/${ARCHIVE_NAME}" + "-r" "${CMAKE_BINARY_DIR}/${archive_name}.zip" "${CMAKE_INSTALL_PREFIX}/${archive_name}" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" DEPENDS PACKAGE-${pkg}-build ) @@ -91,9 +110,9 @@ macro(macro_create_targets_for_package pkg) ALL DEPENDS COMMAND ${MAKESELF_SCRIPT} "--target" - "${ARCHIVE_NAME}" - "${CMAKE_INSTALL_PREFIX}/${ARCHIVE_NAME}" - "${ARCHIVE_NAME}.run" + "${archive_name}" + "${CMAKE_INSTALL_PREFIX}/${archive_name}" + "${archive_name}.run" "${PACKAGE_LONG_NAME} ${PACKAGE_VERSION_STRING}" "./pkgsetup" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" @@ -110,7 +129,7 @@ macro(macro_create_targets_for_package pkg) add_custom_target(PACKAGE-${pkg}-clean COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_BINARY_DIR}/PACKAGE-${pkg}" COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_BINARY_DIR}/PACKAGE-TOOLS" - COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}${PACKAGE_EXTENSION}" + COMMAND ${CMAKE_COMMAND} -E remove "${CMAKE_BINARY_DIR}/${archive_name}${PACKAGE_EXTENSION}" COMMAND ${CMAKE_COMMAND} "${CMAKE_BINARY_DIR}" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" ) @@ -150,4 +169,4 @@ macro(get_version input_file match_string check_cmake_var) else() message(FATAL_ERROR "macro(get_version): File '${input_file}' does not exists") endif() -endmacro() +endmacro() \ No newline at end of file