From f98874e7142b1a9f2dec3e487c1ffbbf3bb5f25b Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Sun, 21 Jan 2024 11:29:06 +0100 Subject: [PATCH] build: allow optimization level to be set via DWARFS_OPTIMIZE --- CMakeLists.txt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8835c56d..ddfe5ebd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,8 +106,8 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") add_compile_options(-fdiagnostics-color=always) # For gcc, -O3 is *much* worse than -O2 # Update: This is still true for gcc-12 - set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O2 -g") - set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG -O2 -g") + # set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O2 -g") + # set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG -O2 -g") elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") add_compile_options(-fcolor-diagnostics) endif() @@ -383,6 +383,11 @@ if(NOT endif() endif() +if(DWARFS_OPTIMIZE) + string(REPLACE "-O3" "-O${DWARFS_OPTIMIZE}" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + string(REPLACE "-O3" "-O${DWARFS_OPTIMIZE}" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") +endif() + list(APPEND LIBDWARFS_SRC src/dwarfs/block_cache.cpp src/dwarfs/block_compressor.cpp @@ -1086,6 +1091,9 @@ endif() if(PRJ_VERSION_FULL) set(DWARFS_ARTIFACT_ID "${PRJ_VERSION_FULL}-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}") + if(DWARFS_OPTIMIZE) + set(DWARFS_ARTIFACT_ID "${DWARFS_ARTIFACT_ID}-O${DWARFS_OPTIMIZE}") + endif() if(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") set(DWARFS_ARTIFACT_ID "${DWARFS_ARTIFACT_ID}-reldbg") elseif(CMAKE_BUILD_TYPE STREQUAL "Debug")