From 01d7f69551966b7a317393fffeebdf5775d6df12 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Tue, 26 Aug 2025 23:52:17 +1000 Subject: internal: build via cmake --- CMakeLists.txt | 18 ++++++++++++++++++ assets/cpp/CMakeLists.txt | 9 +++++++++ plugin/CMakeLists.txt | 10 ---------- 3 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 assets/cpp/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..84f909d --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required(VERSION 3.19) +project(caelestia-shell VERSION "0.0.1") + +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") + +add_compile_options(-Wall -Wextra) + +add_subdirectory(assets/cpp) +add_subdirectory(plugin) + +foreach(dir assets components config modules services utils) + install(DIRECTORY ${dir} DESTINATION "${INSTALL_QSCONFDIR}") +endforeach() +install(FILES shell.qml LICENSE DESTINATION "${INSTALL_QSCONFDIR}") diff --git a/assets/cpp/CMakeLists.txt b/assets/cpp/CMakeLists.txt new file mode 100644 index 0000000..a836850 --- /dev/null +++ b/assets/cpp/CMakeLists.txt @@ -0,0 +1,9 @@ +find_package(PkgConfig REQUIRED) +pkg_check_modules(PIPEWIRE REQUIRED libpipewire-0.3) +pkg_check_modules(AUBIO REQUIRED aubio) + +# Beat detector +add_executable(beat_detector beat-detector.cpp) +target_include_directories(beat_detector PRIVATE ${PIPEWIRE_INCLUDE_DIRS} ${AUBIO_INCLUDE_DIRS}) +target_link_libraries(beat_detector PRIVATE ${PIPEWIRE_LIBRARIES} ${AUBIO_LIBRARIES}) +install(TARGETS beat_detector DESTINATION ${INSTALL_LIBDIR}) diff --git a/plugin/CMakeLists.txt b/plugin/CMakeLists.txt index 29612d8..a493c32 100644 --- a/plugin/CMakeLists.txt +++ b/plugin/CMakeLists.txt @@ -1,19 +1,9 @@ -cmake_minimum_required(VERSION 3.19) -project(Caelestia VERSION "0.0.1") - -set(QT_MIN_VERSION "6.9.0") -set(CMAKE_CXX_STANDARD 20) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -add_compile_options(-Wall -Wextra) - find_package(Qt6 REQUIRED COMPONENTS Core Qml) if(QT_KNOWN_POLICY_QTP0001) qt_policy(SET QTP0001 NEW) endif() -set(INSTALL_QMLDIR "" CACHE STRING "QML install dir") set(QT_QML_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/qml") qt_standard_project_setup() add_subdirectory(src/Caelestia) -- cgit v1.2.3-freya