diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 84f909d..8689d04 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,31 @@ cmake_minimum_required(VERSION 3.19) -project(caelestia-shell VERSION "0.0.1") + +if(NOT DEFINED VERSION) + execute_process(COMMAND git describe --tags --abbrev=0 + WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" + OUTPUT_VARIABLE VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + if("${VERSION}" STREQUAL "") + message(FATAL_ERROR "VERSION is not set and failed to get from git") + endif() + + string(REGEX REPLACE "^v" "" VERSION "${VERSION}") +endif() + +project(caelestia-shell VERSION ${VERSION} LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(INSTALL_LIBDIR "/usr/lib/caelestia" CACHE STRING "Library install dir") -set(INSTALL_QMLDIR "/usr/lib/qt6/qml" CACHE STRING "QML install dir") -set(INSTALL_QSCONFDIR "/etc/xdg/quickshell/caelestia" CACHE STRING "Quickshell config install dir") +set(CPACK_GENERATOR "STGZ;TGZ") +set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION}") +set(CPACK_PACKAGE_DIRECTORY "${CMAKE_BINARY_DIR}/packages") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib") + +set(INSTALL_LIBDIR "usr/lib/caelestia" CACHE STRING "Library install dir") +set(INSTALL_QMLDIR "usr/lib/qt6/qml" CACHE STRING "QML install dir") +set(INSTALL_QSCONFDIR "etc/xdg/quickshell/caelestia" CACHE STRING "Quickshell config install dir") add_compile_options(-Wall -Wextra) @@ -16,3 +36,5 @@ foreach(dir assets components config modules services utils) install(DIRECTORY ${dir} DESTINATION "${INSTALL_QSCONFDIR}") endforeach() install(FILES shell.qml LICENSE DESTINATION "${INSTALL_QSCONFDIR}") + +include(CPack) |