35 lines
734 B
CMake
35 lines
734 B
CMake
cmake_minimum_required(VERSION 3.30)
|
|
|
|
project(nutri)
|
|
|
|
set(CMAKE_CXX_STANDARD 26)
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
|
|
set(CMAKE_COLOR_DIAGNOSTICS 1)
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
|
|
|
find_program(MOLD_LINKER mold)
|
|
if(MOLD_LINKER)
|
|
add_link_options(-fuse-ld=mold)
|
|
endif()
|
|
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
|
|
add_compile_options(-O3 -march=native)
|
|
add_link_options(-s)
|
|
endif()
|
|
|
|
include(FetchContent)
|
|
|
|
include(FindCTRE)
|
|
include(FindCPR)
|
|
include(FindGlaze)
|
|
|
|
file(GLOB_RECURSE SOURCES
|
|
${CMAKE_SOURCE_DIR}/src/*.cpp
|
|
${CMAKE_SOURCE_DIR}/src/*.hpp
|
|
)
|
|
|
|
add_executable(nutri ${SOURCES})
|
|
target_link_libraries(nutri PRIVATE cpr::cpr ctre::ctre glaze::glaze)
|