From 0b03cfdb15c0d296c98f049c47a0ac1acda86af8 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 28 Aug 2025 19:17:06 +1000 Subject: cmake: use relative paths --- CMakeLists.txt | 30 ++++++++++++++++++++++++++---- README.md | 2 +- 2 files changed, 27 insertions(+), 5 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) diff --git a/README.md b/README.md index c23d19f..cb65bf6 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ cd $XDG_CONFIG_HOME/quickshell git clone https://github.com/caelestia-dots/shell.git caelestia cd caelestia -cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release +cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/ cmake --build build sudo cmake --install build ``` -- cgit v1.2.3-freya