From 0dd90db7ea512b83ea48107f155b059549c6b95f Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Thu, 13 Oct 2022 14:29:57 +0200 Subject: [PATCH] CMAKE: Make the build type flags also dependent on the compiler family name --- CMakeLists.txt | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8eb353a8..6e394f2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,13 +56,15 @@ endif() ### ### set(${CMAKE_C_COMPILER_ID}_C_FLAGS) -set(${CMAKE_BUILD_TYPE}_C_FLAGS) -set(RelWithDebInfo_C_FLAGS - -Wno-switch # For the CI -) -set(Release_C_FLAGS - -Wno-switch # For the CI -) +set(${CMAKE_BUILD_TYPE}_${CMAKE_C_COMPILER_ID}_C_FLAGS) + +# For the CI... +set(RelWithDebInfo_GNU_C_FLAGS -Wno-switch) +set(Release_GNU_C_FLAGS -Wno-switch) +set(RelWithDebInfo_Clang_C_FLAGS -Wno-switch-enum) +set(Release_Clang_C_FLAGS -Wno-switch-enum) + +# Common flags, also per compiler set(COMMON_C_FLAGS -Wall -Wextra -Werror -Wshadow @@ -336,8 +338,18 @@ target_compile_definitions(lektord PRIVATE ${common_DEFINITIONS} QTCREATOR_UTILS_STATIC_LIB ) -target_compile_options(lektord PRIVATE ${COMMON_C_FLAGS} ${${CMAKE_C_COMPILER_ID}_C_FLAGS} ${${CMAKE_CXX_COMPILER_ID}_CXX_FLAGS} ${${CMAKE_C_COMPILER_ID}_C_FLAGS}) -target_compile_options(lkt PRIVATE ${COMMON_C_FLAGS} ${${CMAKE_C_COMPILER_ID}_C_FLAGS} ${${CMAKE_CXX_COMPILER_ID}_CXX_FLAGS} ${${CMAKE_C_COMPILER_ID}_C_FLAGS}) +target_compile_options(lektord PRIVATE + ${COMMON_C_FLAGS} + ${${CMAKE_C_COMPILER_ID}_C_FLAGS} + ${${CMAKE_CXX_COMPILER_ID}_CXX_FLAGS} + ${${CMAKE_C_COMPILER_ID}_${CMAKE_C_COMPILER_ID}_C_FLAGS} +) +target_compile_options(lkt PRIVATE + ${COMMON_C_FLAGS} + ${${CMAKE_C_COMPILER_ID}_C_FLAGS} + ${${CMAKE_CXX_COMPILER_ID}_CXX_FLAGS} + ${${CMAKE_C_COMPILER_ID}_${CMAKE_C_COMPILER_ID}_C_FLAGS} +) set_property(TARGET lektord PROPERTY CXX_STANDARD 20) -- GitLab