46 lines
2.7 KiB
CMake
46 lines
2.7 KiB
CMake
# 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)
|