diff options
| author | Northn <[email protected]> | 2026-05-10 10:59:19 +0400 |
|---|---|---|
| committer | Northn <[email protected]> | 2026-05-10 10:59:19 +0400 |
| commit | 14d4d42ece39953898a0ce57bfb8b16ffb2ae865 (patch) | |
| tree | ef0a93ba3ed2d66787289e94234f0ca0c09debb9 | |
| parent | bccbb1effb606109a8d608527cedc29c610e7f9b (diff) | |
add a fallback to compiler/linker frontend detection when cmake version is <3.26
| -rw-r--r-- | xmake/plugins/project/cmake/cmakelists.lua | 12 |
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)") |
