2024-10-15 17:48:16 +00:00
|
|
|
cmake_minimum_required(VERSION 3.30)
|
2024-11-24 03:04:52 +00:00
|
|
|
|
2024-10-15 17:48:16 +00:00
|
|
|
project(nutri)
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 26)
|
2024-10-16 12:02:16 +00:00
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
|
2024-11-24 03:04:52 +00:00
|
|
|
set(CMAKE_COLOR_DIAGNOSTICS 1)
|
2024-11-10 20:39:27 +00:00
|
|
|
|
2025-01-15 12:40:39 +00:00
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
|
|
|
|
2024-11-10 20:58:51 +00:00
|
|
|
find_program(MOLD_LINKER mold)
|
2024-11-24 03:04:52 +00:00
|
|
|
if(MOLD_LINKER)
|
2024-11-10 20:58:51 +00:00
|
|
|
add_link_options(-fuse-ld=mold)
|
|
|
|
endif()
|
|
|
|
|
2024-11-10 20:39:27 +00:00
|
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
|
|
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
|
|
|
|
add_compile_options(-O3 -march=native)
|
2024-11-10 20:58:51 +00:00
|
|
|
add_link_options(-s)
|
2024-11-10 20:39:27 +00:00
|
|
|
endif()
|
2024-10-15 17:48:16 +00:00
|
|
|
|
2024-10-16 12:02:16 +00:00
|
|
|
include(FetchContent)
|
|
|
|
|
2025-01-15 12:40:39 +00:00
|
|
|
include(FindCTRE)
|
|
|
|
include(FindCPR)
|
|
|
|
include(FindGlaze)
|
2024-10-15 17:48:16 +00:00
|
|
|
|
2024-11-24 03:04:52 +00:00
|
|
|
file(GLOB_RECURSE SOURCES
|
|
|
|
${CMAKE_SOURCE_DIR}/src/*.cpp
|
|
|
|
${CMAKE_SOURCE_DIR}/src/*.hpp
|
2024-11-10 17:26:07 +00:00
|
|
|
)
|
|
|
|
|
2024-11-24 03:04:52 +00:00
|
|
|
add_executable(nutri ${SOURCES})
|
2024-11-10 17:26:07 +00:00
|
|
|
target_link_libraries(nutri PRIVATE cpr::cpr ctre::ctre glaze::glaze)
|