From 48bfda760d7e1b5cfff70655f0698d945a76f8ba Mon Sep 17 00:00:00 2001 From: etenie Date: Sun, 24 Nov 2024 04:04:52 +0100 Subject: [PATCH] build: Search for files instead off explicitly giving CMake file list and enable color diagnostics --- CMakeLists.txt | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1327b8e..a3d3eed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,16 +1,16 @@ cmake_minimum_required(VERSION 3.30) + project(nutri) set(CMAKE_CXX_STANDARD 26) set(CMAKE_EXPORT_COMPILE_COMMANDS 1) -add_compile_options(-fdiagnostics-color=always) +set(CMAKE_COLOR_DIAGNOSTICS 1) find_program(MOLD_LINKER mold) -if (MOLD_LINKER) +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) @@ -20,10 +20,10 @@ endif() include(FetchContent) find_package(ctre QUIET) -if (NOT ctre_FOUND) +if(NOT ctre_FOUND) FetchContent_Declare( ctre - GIT_REPOSITORY https://github.com/hanickadot/compile-time-regular-expressions.git + GIT_REPOSITORY https://github.com/hanickadot/compile-time-regular-expressions.git GIT_TAG v3.9.0 GIT_SHALLOW TRUE ) @@ -31,10 +31,10 @@ if (NOT ctre_FOUND) endif() find_package(cpr QUIET) -if (NOT cpr_FOUND) +if(NOT cpr_FOUND) FetchContent_Declare( cpr - GIT_REPOSITORY https://github.com/libcpr/cpr.git + GIT_REPOSITORY https://github.com/libcpr/cpr.git GIT_TAG 1.11.0 GIT_SHALLOW TRUE ) @@ -42,7 +42,7 @@ if (NOT cpr_FOUND) endif() find_package(glaze QUIET) -if (NOT glaze_FOUND) +if(NOT glaze_FOUND) FetchContent_Declare( glaze GIT_REPOSITORY https://github.com/stephenberry/glaze.git @@ -52,13 +52,10 @@ if (NOT glaze_FOUND) FetchContent_MakeAvailable(glaze) endif() -add_executable( - nutri - src/main.cpp - src/ArgParser.hpp - src/Helpers/Utility.cpp - src/Helpers/Utility.hpp - src/Helpers/WolframAlpha.hpp +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)