diff options
| author | ruki <[email protected]> | 2023-06-03 22:59:35 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-06-03 22:59:35 +0800 |
| commit | 9d86054a09b6697b5490cd373848f030e6194eb0 (patch) | |
| tree | 588742e028f859a7177705133429c973f84ded52 | |
| parent | 068a8296f6e7f1b3dab18b81efc7a46f4874af58 (diff) | |
| parent | 64c12194b8b575938e406882d092637390050d17 (diff) | |
Merge pull request #3806 from xmake-io/cmake
improve linker for cmake
| -rw-r--r-- | xmake/modules/package/tools/cmake.lua | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua index 87c1e2725..ffde2f3d7 100644 --- a/xmake/modules/package/tools/cmake.lua +++ b/xmake/modules/package/tools/cmake.lua @@ -440,7 +440,7 @@ function _get_configs_for_mingw(package, configs, opt) envs.CMAKE_CXX_COMPILER = _translate_bin_path(package:build_getenv("cxx")) envs.CMAKE_ASM_COMPILER = _translate_bin_path(package:build_getenv("as")) envs.CMAKE_AR = _translate_bin_path(package:build_getenv("ar")) - envs.CMAKE_LINKER = _translate_bin_path(package:build_getenv("ld")) + envs.CMAKE_CUSTOM_LINKER = _translate_bin_path(package:build_getenv("ld")) envs.CMAKE_RANLIB = _translate_bin_path(package:build_getenv("ranlib")) envs.CMAKE_RC_COMPILER = _translate_bin_path(package:build_getenv("mrc")) envs.CMAKE_C_FLAGS = _get_cflags(package, opt) @@ -515,9 +515,10 @@ function _get_configs_for_cross(package, configs, opt) -- -- https://github.com/xmake-io/xmake-repo/pull/1039 -- https://stackoverflow.com/questions/1867745/cmake-use-a-custom-linker/25274328#25274328 - envs.CMAKE_LINKER = _translate_bin_path(package:build_getenv("ld")) + -- https://github.com/xmake-io/xmake-repo/pull/2134#issuecomment-1573195810 + envs.CMAKE_CUSTOM_LINKER = _translate_bin_path(package:build_getenv("ld")) if package:has_tool("ld", "gxx", "clangxx") then - envs.CMAKE_CXX_LINK_EXECUTABLE = "<CMAKE_LINKER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" + envs.CMAKE_CXX_LINK_EXECUTABLE = "<CMAKE_CUSTOM_LINKER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" end envs.CMAKE_RANLIB = _translate_bin_path(package:build_getenv("ranlib")) envs.CMAKE_C_FLAGS = _get_cflags(package, opt) @@ -579,9 +580,10 @@ function _get_configs_for_host_toolchain(package, configs, opt) -- -- https://github.com/xmake-io/xmake-repo/pull/1039 -- https://stackoverflow.com/questions/1867745/cmake-use-a-custom-linker/25274328#25274328 - envs.CMAKE_LINKER = _translate_bin_path(package:build_getenv("ld")) + -- https://github.com/xmake-io/xmake-repo/pull/2134#issuecomment-1573195810 + envs.CMAKE_CUSTOM_LINKER = _translate_bin_path(package:build_getenv("ld")) if package:has_tool("ld", "gxx", "clangxx") then - envs.CMAKE_CXX_LINK_EXECUTABLE = "<CMAKE_LINKER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" + envs.CMAKE_CXX_LINK_EXECUTABLE = "<CMAKE_CUSTOM_LINKER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" end envs.CMAKE_RANLIB = _translate_bin_path(package:build_getenv("ranlib")) envs.CMAKE_C_FLAGS = _get_cflags(package, opt) |
