diff --git a/projects/hip-tests/catch/packaging/CMakeLists.txt b/projects/hip-tests/catch/packaging/CMakeLists.txt index 6959138d54..f6c72b599c 100644 --- a/projects/hip-tests/catch/packaging/CMakeLists.txt +++ b/projects/hip-tests/catch/packaging/CMakeLists.txt @@ -31,9 +31,7 @@ set(CPACK_CMAKE_GENERATOR "Ninja") ############################# # Packaging steps ############################# -if(NOT DEFINED CPACK_INSTALL_PREFIX) - set(CPACK_INSTALL_PREFIX "/opt/rocm/") -endif() + if(BUILD_SHARED_LIBS) set(PKG_NAME hip-catch-${HIP_PLATFORM}) else() @@ -77,72 +75,66 @@ foreach(CTEST_INCLUDE_FILE ${INSTALL_CTEST_INCLUDE_FILES}) endforeach() file(WRITE ${PROJECT_BINARY_DIR}/${CATCH_BUILD_DIR}/script/windows/CTestTestfile.cmake "${_autogen}\nsubdirs(${CATCH_BUILD_DIR})") - +set(INSTALL_DIR ${CMAKE_INSTALL_DATADIR}/hip) if(NOT WIN32) - set(INSTALL_DIR ${CMAKE_INSTALL_DATADIR}/hip) + if(NOT DEFINED CPACK_INSTALL_PREFIX) + set(CPACK_INSTALL_PREFIX "/opt/rocm/") + endif() execute_process(COMMAND rpmbuild --version RESULT_VARIABLE rpm_found OUTPUT_VARIABLE rpm_ver) if (rpm_found EQUAL "0" AND NOT rpm_ver STREQUAL "") - set(CPACK_GENERATOR "TGZ;DEB;RPM" CACHE STRING "Linux package types for catch tests") + set(CPACK_GENERATOR "TGZ;DEB;RPM" CACHE STRING "Linux package types for catch tests") else() - # skip rpm on Rock since rpm build package not installed - set(CPACK_GENERATOR "TGZ;DEB" CACHE STRING "Linux package types for catch tests") + # skip rpm on Rock since rpm build package not installed + set(CPACK_GENERATOR "TGZ;DEB" CACHE STRING "Linux package types for catch tests") endif() - set(CPACK_BINARY_DEB "ON") - set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") - set(CPACK_DEBIAN_PACKAGE_PROVIDES "catch") - set(CPACK_BINARY_RPM "ON") - set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") - set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/opt") - if (CPACK_PACKAGE_VERSION MATCHES "local" ) - #If building locally default value will cause build failure - #DEBUG SYMBOL pacaking require SOURCE_DIR to be small - set(CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX ${CPACK_INSTALL_PREFIX}) - endif() - - if (DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) - set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) - else() - set(CPACK_DEBIAN_PACKAGE_RELEASE "local") - endif() - - if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) - set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE}) - else() - set(CPACK_RPM_PACKAGE_RELEASE "local") - endif() - - execute_process( COMMAND rpm --eval %{?dist} - RESULT_VARIABLE PROC_RESULT - OUTPUT_VARIABLE EVAL_RESULT - OUTPUT_STRIP_TRAILING_WHITESPACE ) - # Add os distribution tag to rpm package name . For deb package its set from build env - if ( PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "" ) - string(APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}") - endif() - set(CPACK_SOURCE_GENERATOR "TGZ") - # Install license file - set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/../LICENSE.md" ) - install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${INSTALL_DIR}) - set(CPACK_RPM_PACKAGE_LICENSE "MIT") else() - # windows packaging - set(INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) - set(CPACK_INSTALL_PREFIX "") - set(CPACK_SYSTEM_NAME "") - set(CPACK_GENERATOR "ZIP" CACHE STRING "Windows package types for catch tests") - set(CPACK_TEST_ZIP "ON") - set(CPACK_ZIP_TEST_PACKAGE_NAME "catch") - set(CPACK_PKG_DIRS - ${CMAKE_BINARY_DIR}/_CPack_Packages/${CPACK_GENERATOR}/${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}) - set(CPACK_INSTALL_PREFIX ${CPACK_PKG_DIRS}) - if(${CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT}) - set(INSTALL_DIR ${CPACK_PKG_DIRS}) - else() - set(INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) + # mlsejenkins expects at catch_tests at the toplevel. + # Remove once mlsejenkins is deprecated + if(HIPTESTS_INTERNAL_BUILD) + set(INSTALL_DIR .) endif() + if(NOT DEFINED CPACK_INSTALL_PREFIX) + set(CPACK_INSTALL_PREFIX .) + endif() + set(CPACK_GENERATOR "ZIP" CACHE STRING "Windows package types for catch tests") endif() +set(CPACK_BINARY_DEB "ON") +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") +set(CPACK_DEBIAN_PACKAGE_PROVIDES "catch") +set(CPACK_BINARY_RPM "ON") +set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") +set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/opt") +if (CPACK_PACKAGE_VERSION MATCHES "local" ) + #If building locally default value will cause build failure + #DEBUG SYMBOL pacaking require SOURCE_DIR to be small + set(CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX ${CPACK_INSTALL_PREFIX}) +endif() +if (DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) + set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) +else() + set(CPACK_DEBIAN_PACKAGE_RELEASE "local") +endif() +if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) + set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE}) +else() + set(CPACK_RPM_PACKAGE_RELEASE "local") +endif() +execute_process( COMMAND rpm --eval %{?dist} + RESULT_VARIABLE PROC_RESULT + OUTPUT_VARIABLE EVAL_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE ) +# Add os distribution tag to rpm package name . For deb package its set from build env +if ( PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "" ) + string(APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}") +endif() +set(CPACK_SOURCE_GENERATOR "TGZ") +# Install license file +set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/../LICENSE.md" ) +install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${INSTALL_DIR}) +set(CPACK_RPM_PACKAGE_LICENSE "MIT") + set(INSTALL_DIR_TESTS ${INSTALL_DIR}/${CATCH_BUILD_DIR}) set(INSTALL_DIR_SCRIPT ${INSTALL_DIR}/${CATCH_BUILD_DIR}/script) diff --git a/projects/hip-tests/catch/packaging/catch_package.cmake.in b/projects/hip-tests/catch/packaging/catch_package.cmake.in index 739616a8ac..8a64382a6c 100644 --- a/projects/hip-tests/catch/packaging/catch_package.cmake.in +++ b/projects/hip-tests/catch/packaging/catch_package.cmake.in @@ -8,19 +8,10 @@ if(NOT DEFINED CPACK_GENERATOR) if("${ABS_INSTALL_PATH}" STREQUAL "${ABS_CPACK_INSTALL}") return() endif() - if(NOT WIN32) - set(CPACK_PKG_DIRS ${CMAKE_INSTALL_PREFIX}/@INSTALL_DIR@) - else() - set(CPACK_PKG_DIRS ${CMAKE_INSTALL_PREFIX}) - endif() + set(CPACK_PKG_DIRS ${CMAKE_INSTALL_PREFIX}/@INSTALL_DIR@) else() - if(NOT WIN32) - set(CPACK_PKG_DIRS - @PROJECT_BINARY_DIR@/_CPack_Packages/Linux/${CPACK_GENERATOR}/${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}/${CPACK_INSTALL_PREFIX}/@INSTALL_DIR@) - else() - set(CPACK_PKG_DIRS - @CMAKE_BINARY_DIR@/_CPack_Packages/${CPACK_GENERATOR}/${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}) - endif() + set(CPACK_PKG_DIRS + @PROJECT_BINARY_DIR@/_CPack_Packages/${CPACK_SYSTEM_NAME}/${CPACK_GENERATOR}/${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}/${CPACK_INSTALL_PREFIX}/@INSTALL_DIR@) endif() execute_process(COMMAND @Python_EXECUTABLE@