diff --git a/PKGBUILD b/PKGBUILD index fb13eec..4598e25 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -6,14 +6,16 @@ url='https://github.com/Tabascl/fantasize.git' source=("$pkgname-$pkgver.tar.gz::https://github.com/Tabascl/fantasize/archive/refs/tags/v$pkgver.tar.gz") arch=('x86_64') license=('GPL3') -makedepends=('git' 'cmake' 'nlohmann-json' 'boost') +makedepends=('git' 'meson' 'nlohmann-json' 'boost') sha256sums=('SKIP') build() { - cmake -S "$pkgname-$pkgver/app" -B build -DCMAKE_BUILD_TYPE=Release - cmake --build build + meson setup build "$pkgname-$pkgver/app" -Dbuildtype=Release + cd build + meson compile } package() { - cmake --install build --prefix "$pkgdir/" --verbose + cd build + meson install } diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt deleted file mode 100644 index 3c8b26a..0000000 --- a/app/CMakeLists.txt +++ /dev/null @@ -1,39 +0,0 @@ -cmake_minimum_required(VERSION 3.0) - -project(fantasize VERSION 0.1.8) - -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -find_package(nlohmann_json 3.11.2 REQUIRED) -find_package(Boost 1.74 COMPONENTS program_options log log_setup date_time REQUIRED) - -add_executable(${PROJECT_NAME} - src/main.cxx - src/sensor/LMSensorsFacade.cxx -# src/sensor/GPUSensorsFacade.cxx - src/sensor/Sensor.cxx -# src/sensor/NvidiaSensor.cxx - src/sensor/LMSensor.cxx - src/pwm/PWMControl.cxx - src/pwm/PWMControlFacade.cxx - src/fan/HwmonFan.cxx - src/fan/FanCurve.cxx - src/fan/FanLabeler.cxx - src/fan/Aggregators.cxx - src/FanGenerator.cxx - src/Serializer.cxx - src/sensor/SensorManager.cxx - src/Controller.cxx - src/Settings.cxx - src/App.cxx -) - -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 20) - -# target_include_directories(${PROJECT_NAME} PUBLIC include /opt/cuda) -target_include_directories(${PROJECT_NAME} PUBLIC include) -# target_link_libraries(${PROJECT_NAME} PUBLIC sensors nvidia-ml nlohmann_json::nlohmann_json tbb ${Boost_LIBRARIES}) -target_link_libraries(${PROJECT_NAME} PUBLIC sensors nlohmann_json::nlohmann_json tbb ${Boost_LIBRARIES}) - -install(TARGETS ${PROJECT_NAME} DESTINATION usr/local/bin) -install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/unit/fantasize.service DESTINATION usr/lib/systemd/system) diff --git a/app/meson.build b/app/meson.build new file mode 100644 index 0000000..6d945b8 --- /dev/null +++ b/app/meson.build @@ -0,0 +1,37 @@ +project('fantasize', 'cpp', version : '0.2.0', default_options : ['cpp_std=c++20']) + +src = [ + 'src/main.cxx', + 'src/sensor/LMSensorsFacade.cxx', + 'src/sensor/Sensor.cxx', + 'src/sensor/LMSensor.cxx', + 'src/pwm/PWMControl.cxx', + 'src/pwm/PWMControlFacade.cxx', + 'src/fan/HwmonFan.cxx', + 'src/fan/FanCurve.cxx', + 'src/fan/FanLabeler.cxx', + 'src/fan/Aggregators.cxx', + 'src/FanGenerator.cxx', + 'src/Serializer.cxx', + 'src/sensor/SensorManager.cxx', + 'src/Controller.cxx', + 'src/Settings.cxx', + 'src/App.cxx' +] + +deps = [ + dependency('nlohmann_json'), + dependency('boost', modules : ['program_options', 'log', 'log_setup', 'date_time', 'thread']), + dependency('tbb'), + meson.get_compiler('cpp').find_library('sensors') +] + +inc = include_directories('include') + +exe = executable('fantasize', + src, + dependencies: deps, + install: true, + include_directories: inc) + +install_data('unit/fantasize.service', install_dir : 'usr/lib/systemd/system')