From f640667029023954e92f33544cf079e7421a0793 Mon Sep 17 00:00:00 2001 From: Petr Sabanov Date: Mon, 28 Apr 2025 22:32:14 +0300 Subject: [PATCH] build: Added support for custom compilation flags Introduced variables `ALFI_EXTRA_CXX_FLAGS` and `ALFI_EXTRA_CXX_FLAGS_` for customizing compilation flags in CMake. This may be used when working with CMake from the terminal or when adding the library as a submodule. --- CMakeLists.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 11e5e4f..b26e14f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,14 +9,14 @@ project(ALFI set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic -march=native") -set(CMAKE_CXX_FLAGS_DEBUG "-g3") -set(CMAKE_CXX_FLAGS_RELEASE "-g0 -s -O3 -flto=auto -DNDEBUG") -set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g3 -O2 -flto=auto -DNDEBUG") -set(CMAKE_CXX_FLAGS_MINSIZEREL "-g0 -s -Oz -flto=auto -DNDEBUG") -set(CMAKE_CXX_FLAGS_FAST "-g0 -s -Ofast -fno-finite-math-only -flto=auto -DNDEBUG") -set(CMAKE_CXX_FLAGS_FASTPARALLEL "-g0 -s -Ofast -fno-finite-math-only -flto=auto -fopenmp -DNDEBUG") -set(CMAKE_CXX_FLAGS_SANITIZE "-g3 -fsanitize=address,leak,undefined") +set(CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic -march=native ${ALFI_EXTRA_CXX_FLAGS}") +set(CMAKE_CXX_FLAGS_DEBUG "-g3 ${ALFI_EXTRA_CXX_FLAGS_DEBUG}") +set(CMAKE_CXX_FLAGS_RELEASE "-g0 -s -O3 -flto=auto -DNDEBUG ${ALFI_EXTRA_CXX_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g3 -O2 -flto=auto -DNDEBUG ${ALFI_EXTRA_CXX_FLAGS_RELWITHDEBINFO}") +set(CMAKE_CXX_FLAGS_MINSIZEREL "-g0 -s -Oz -flto=auto -DNDEBUG ${ALFI_EXTRA_CXX_FLAGS_MINSIZEREL}") +set(CMAKE_CXX_FLAGS_FAST "-g0 -s -Ofast -fno-finite-math-only -flto=auto -DNDEBUG ${ALFI_EXTRA_CXX_FLAGS_FAST}") +set(CMAKE_CXX_FLAGS_FASTPARALLEL "-g0 -s -Ofast -fno-finite-math-only -flto=auto -fopenmp -DNDEBUG ${ALFI_EXTRA_CXX_FLAGS_FASTPARALLEL}") +set(CMAKE_CXX_FLAGS_SANITIZE "-g3 -fsanitize=address,leak,undefined ${ALFI_EXTRA_CXX_FLAGS_SANITIZE}") set(CMAKE_EXPORT_COMPILE_COMMANDS ON)