hpcstat/CMakeLists.txt

32 lines
1.4 KiB
CMake
Raw Permalink Normal View History

2024-04-30 18:45:53 +08:00
cmake_minimum_required(VERSION 3.14)
project(hpcstat VERSION 0.0.0 LANGUAGES CXX)
enable_testing()
include(GNUInstallDirs)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message("Setting build type to 'Release' as none was specified.")
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()
find_package(fmt REQUIRED)
find_package(Boost REQUIRED COMPONENTS headers filesystem)
find_package(zxorm REQUIRED)
2024-05-03 16:15:40 +08:00
find_package(nlohmann_json REQUIRED)
find_path(ZPP_BITS_INCLUDE_DIR zpp_bits.h REQUIRED)
find_package(range-v3 REQUIRED)
2024-05-04 11:57:13 +08:00
find_path(NAMEOF_INCLUDE_DIR nameof.hpp REQUIRED)
2024-04-30 18:45:53 +08:00
2024-05-03 16:15:40 +08:00
add_executable(hpcstat src/main.cpp src/env.cpp src/keys.cpp src/ssh.cpp src/sql.cpp src/lfs.cpp src/common.cpp)
2024-05-01 10:45:25 +08:00
target_compile_features(hpcstat PUBLIC cxx_std_23)
2024-05-03 16:15:40 +08:00
target_include_directories(hpcstat PRIVATE ${PROJECT_SOURCE_DIR}/include ${ZPP_BITS_INCLUDE_DIR})
target_link_libraries(hpcstat PRIVATE fmt::fmt Boost::headers Boost::filesystem zxorm::zxorm
nlohmann_json::nlohmann_json range-v3::range-v3)
2024-04-30 18:45:53 +08:00
install(TARGETS hpcstat RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
2024-05-04 12:22:41 +08:00
install(DIRECTORY share/ DESTINATION ${CMAKE_INSTALL_DATADIR}/hpcstat)
2024-04-30 18:45:53 +08:00
get_property(ImportedTargets DIRECTORY "${CMAKE_SOURCE_DIR}" PROPERTY IMPORTED_TARGETS)
message("Imported targets: ${ImportedTargets}")
message("List of compile features: ${CMAKE_CXX_COMPILE_FEATURES}")