# Retain the audited owned-file inventory and symlink-safe staging implementation. set(XTC_INSTALL_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}" CACHE PATH "Directory containing built install inputs") option(XTC_INSTALL_GUI "Include the GUI in installation" ${XTC_GUI_AVAILABLE}) set(XTC_INSTALL_LICENSEDIR "${CMAKE_INSTALL_DATAROOTDIR}/licenses/xtc" CACHE STRING "License install directory") set(XTC_INSTALL_EXAMPLESDIR "${CMAKE_INSTALL_DATAROOTDIR}/xtc/examples" CACHE STRING "Example install directory") set(XTC_INSTALL_DESKTOPDIR "${CMAKE_INSTALL_DATAROOTDIR}/applications" CACHE STRING "Desktop entry directory") set(XTC_INSTALL_PKGCONFIGDIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig" CACHE STRING "pkg-config directory") configure_file(cmake/InstallDriver.cmake.in xtc-install.cmake @ONLY) install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/xtc-install.cmake") add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -DXTC_UNINSTALL=ON -P "${CMAKE_CURRENT_BINARY_DIR}/xtc-install.cmake" VERBATIM) add_custom_target(dist COMMAND ${Python3_EXECUTABLE} tools/dist.py --output "${CMAKE_CURRENT_BINARY_DIR}/xtc-${PROJECT_VERSION}.tar.gz" WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" VERBATIM) set(gui_arg) if(XTC_GUI_AVAILABLE) set(gui_arg --gui) endif() if(BUILD_TESTING) foreach(layout "" "-layout") set(extra) if(layout) set(extra --custom-layout) endif() add_custom_target(test-install${layout} COMMAND ${Python3_EXECUTABLE} tests/integration/test_install.py --build-dir "${CMAKE_CURRENT_BINARY_DIR}" ${gui_arg} ${extra} DEPENDS xtc-core xtc-check WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" VERBATIM) if(XTC_GUI_AVAILABLE) add_dependencies(test-install${layout} xtc) endif() endforeach() add_custom_target(test-release COMMAND ${Python3_EXECUTABLE} tests/integration/test_release.py "${CMAKE_CURRENT_BINARY_DIR}/xtc-${PROJECT_VERSION}.tar.gz" --generator "${CMAKE_GENERATOR}" ${gui_arg} DEPENDS dist WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" VERBATIM) endif() set(package_file "${CMAKE_CURRENT_BINARY_DIR}/xtc-${PROJECT_VERSION}-linux-${CMAKE_SYSTEM_PROCESSOR}.tar.gz") add_custom_target(package-binary COMMAND ${Python3_EXECUTABLE} tools/package.py --build-dir "${CMAKE_CURRENT_BINARY_DIR}" --output "${package_file}" ${gui_arg} DEPENDS xtc-core xtc-check WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" VERBATIM) if(XTC_GUI_AVAILABLE) add_dependencies(package-binary xtc) endif() add_custom_target(test-package COMMAND ${Python3_EXECUTABLE} tests/integration/test_package.py "${package_file}" --build-dir "${CMAKE_CURRENT_BINARY_DIR}" DEPENDS package-binary WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" VERBATIM) add_custom_target(package DEPENDS package-binary)