summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorthn <[email protected]>2026-05-10 10:59:19 +0400
committerNorthn <[email protected]>2026-05-10 10:59:19 +0400
commit14d4d42ece39953898a0ce57bfb8b16ffb2ae865 (patch)
treeef0a93ba3ed2d66787289e94234f0ca0c09debb9
parentbccbb1effb606109a8d608527cedc29c610e7f9b (diff)
add a fallback to compiler/linker frontend detection when cmake version is <3.26
-rw-r--r--xmake/plugins/project/cmake/cmakelists.lua12
1 files changed, 10 insertions, 2 deletions
diff --git a/xmake/plugins/project/cmake/cmakelists.lua b/xmake/plugins/project/cmake/cmakelists.lua
index 88ec94533..0136bacfa 100644
--- a/xmake/plugins/project/cmake/cmakelists.lua
+++ b/xmake/plugins/project/cmake/cmakelists.lua
@@ -407,7 +407,11 @@ function _add_project(cmakelists, outputdir)
cmakelists:print("set(CURRENT_COMPILER_ID ${CMAKE_%s_COMPILER_ID})", language)
cmakelists:print("set(CURRENT_COMPILER_FRONTEND_VARIANT ${CMAKE_%s_COMPILER_FRONTEND_VARIANT})", language)
cmakelists:print("if(NOT CURRENT_COMPILER_FRONTEND_VARIANT)")
- cmakelists:print(" set(CURRENT_COMPILER_FRONTEND_VARIANT ${CURRENT_COMPILER_ID})")
+ cmakelists:print(" if(MSVC)")
+ cmakelists:print(" set(CURRENT_COMPILER_FRONTEND_VARIANT \"MSVC\")")
+ cmakelists:print(" else()")
+ cmakelists:print(" set(CURRENT_COMPILER_FRONTEND_VARIANT \"GNU\")")
+ cmakelists:print(" endif()")
cmakelists:print("endif()")
cmakelists:print("set(CURRENT_LINKER_ID ${CMAKE_%s_COMPILER_LINKER_ID})", language)
cmakelists:print("if(DEFINED CMAKE_%s_COMPILER_LINKER_FRONTEND_VARIANT)", language)
@@ -420,7 +424,11 @@ function _add_project(cmakelists, outputdir)
cmakelists:print("set(CURRENT_COMPILER_ID ${CMAKE_C_COMPILER_ID})") -- C should be defined by default if not specified
cmakelists:print("set(CURRENT_COMPILER_FRONTEND_VARIANT ${CMAKE_C_COMPILER_FRONTEND_VARIANT})")
cmakelists:print("if(NOT CURRENT_COMPILER_FRONTEND_VARIANT)")
- cmakelists:print(" set(CURRENT_COMPILER_FRONTEND_VARIANT ${CURRENT_COMPILER_ID})")
+ cmakelists:print(" if(MSVC)")
+ cmakelists:print(" set(CURRENT_COMPILER_FRONTEND_VARIANT \"MSVC\")")
+ cmakelists:print(" else()")
+ cmakelists:print(" set(CURRENT_COMPILER_FRONTEND_VARIANT \"GNU\")")
+ cmakelists:print(" endif()")
cmakelists:print("endif()")
cmakelists:print("set(CURRENT_LINKER_ID ${CMAKE_C_COMPILER_LINKER_ID})")
cmakelists:print("if(DEFINED CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT)")