From 4694aa12dfbfea7f770fa29bce3fb8bf2b60f76a Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Fri, 14 Oct 2022 22:16:30 +0200
Subject: [PATCH] CMAKE: Fix the C/CXX flag passing

---
 CMakeLists.txt | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f90b2390..c60f8127 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -48,10 +48,14 @@ set(${CMAKE_C_COMPILER_ID}_C_FLAGS)
 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)
+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)
+set(RelWithDebInfo_GNU_CXX_FLAGS   $<$<COMPILE_LANGUAGE:CXX>:-Wno-switch)
+set(Release_GNU_CXX_FLAGS          $<$<COMPILE_LANGUAGE:CXX>:-Wno-switch)
+set(RelWithDebInfo_Clang_CXX_FLAGS $<$<COMPILE_LANGUAGE:CXX>:-Wno-switch-enum)
+set(Release_Clang_CXX_FLAGS        $<$<COMPILE_LANGUAGE:CXX>:-Wno-switch-enum)
 
 # Common flags, also per compiler
 set(COMMON_C_FLAGS
@@ -314,13 +318,15 @@ 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}
+    ${${CMAKE_BUILD_TYPE}_${CMAKE_C_COMPILER_ID}_C_FLAGS}
+    ${${CMAKE_BUILD_TYPE}_${CMAKE_CXX_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}
+    ${${CMAKE_BUILD_TYPE}_${CMAKE_C_COMPILER_ID}_C_FLAGS}
+    ${${CMAKE_BUILD_TYPE}_${CMAKE_CXX_COMPILER_ID}_C_FLAGS}
 )
 
 set_directory_properties(PROPERTIES EP_PREFIX ${CMAKE_BINARY_DIR}/Rust)
-- 
GitLab