Files
fantasize/app/CMakeLists.txt
2022-10-19 10:27:06 +02:00

52 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.0)
project(fantasize VERSION 0.1.7)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
find_package(nlohmann_json 3.7 REQUIRED)
find_package(Boost 1.80 COMPONENTS program_options log log_setup date_time REQUIRED)
find_library(NVML_LIB nvidia-ml)
set(ADDITIONAL_LIBS)
if (NVML_LIB)
set(HAVE_NVML)
add_library(nvidia-sensor-lib STATIC
src/sensor/NvidiaSensor.cxx
src/sensor/GPUSensorsFacade.cxx)
target_link_libraries(nvidia-sensor-lib PUBLIC NVML_LIB)
list(APPEND ADDITIONAL_LIBS nvidia-sensor-lib)
endif()
add_executable(${PROJECT_NAME}
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/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_link_libraries(${PROJECT_NAME} PUBLIC sensors nlohmann_json::nlohmann_json tbb ${Boost_LIBRARIES} ${ADDITIONAL_LIBS})
install(TARGETS ${PROJECT_NAME} DESTINATION usr/local/bin)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/unit/fantasize.service DESTINATION usr/lib/systemd/system)