summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSoramane <61896496+soramanew@users.noreply.github.com>2025-08-29 19:41:26 +1000
committerSoramane <61896496+soramanew@users.noreply.github.com>2025-08-29 19:41:26 +1000
commit11bc8d04643ea696fa9b4efd76cbbca79b8ed29d (patch)
tree1d9752033665e7008c75478e0e6490aef15aa892
parentnix: fix + expose lib stuff (diff)
downloadcaelestia-shell-11bc8d04643ea696fa9b4efd76cbbca79b8ed29d.tar.gz
caelestia-shell-11bc8d04643ea696fa9b4efd76cbbca79b8ed29d.tar.bz2
caelestia-shell-11bc8d04643ea696fa9b4efd76cbbca79b8ed29d.zip
cmake: better modules enable/disable
-rw-r--r--CMakeLists.txt7
-rw-r--r--nix/default.nix6
2 files changed, 7 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 14f498b..7050078 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -33,21 +33,22 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
set(DISTRIBUTOR "Unset" CACHE STRING "Distributor")
+set(ENABLE_MODULES "assets;plugin;shell" CACHE STRING "Modules to build/install")
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)
-if(NOT DONT_BUILD_ASSETS AND NOT PLUGIN_ONLY AND NOT SHELL_ONLY)
+if("assets" IN_LIST ENABLE_MODULES)
add_subdirectory(assets/cpp)
endif()
-if(NOT DONT_BUILD_PLUGIN AND NOT ASSETS_ONLY AND NOT SHELL_ONLY)
+if("plugin" IN_LIST ENABLE_MODULES)
add_subdirectory(plugin)
endif()
-if(NOT DONT_BUILD_SHELL AND NOT ASSETS_ONLY AND NOT PLUGIN_ONLY)
+if("shell" IN_LIST ENABLE_MODULES)
foreach(dir assets components config modules services utils)
install(DIRECTORY ${dir} DESTINATION "${INSTALL_QSCONFDIR}")
endforeach()
diff --git a/nix/default.nix b/nix/default.nix
index c32aa87..0c4b3b2 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -83,7 +83,7 @@
cmakeFlags =
[
- (lib.cmakeBool "ASSETS_ONLY" true)
+ (lib.cmakeFeature "ENABLE_MODULES" "assets")
(lib.cmakeFeature "INSTALL_LIBDIR" "${placeholder "out"}/lib")
]
++ cmakeVersionFlags;
@@ -102,7 +102,7 @@
dontWrapQtApps = true;
cmakeFlags =
[
- (lib.cmakeBool "PLUGIN_ONLY" true)
+ (lib.cmakeFeature "ENABLE_MODULES" "plugin")
(lib.cmakeFeature "INSTALL_QMLDIR" qt6.qtbase.qtQmlPrefix)
]
++ cmakeVersionFlags;
@@ -120,7 +120,7 @@ in
cmakeBuildType = "Release";
cmakeFlags =
[
- (lib.cmakeBool "SHELL_ONLY" true)
+ (lib.cmakeFeature "ENABLE_MODULES" "shell")
(lib.cmakeFeature "INSTALL_QSCONFDIR" "${placeholder "out"}/share/caelestia-shell")
]
++ cmakeVersionFlags;