diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2019-08-08 16:31:42 (GMT) |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2019-08-09 15:16:29 (GMT) |
commit | 689be6235e5be32e8ee8e37801dde1fb1c5add2a (patch) | |
tree | c4d901a70e328d716bb2fc99dfa8e09e40980f08 /Source | |
parent | 1996e0157826903f27f73825a01f83d53dc8fba4 (diff) | |
download | CMake-689be6235e5be32e8ee8e37801dde1fb1c5add2a.zip CMake-689be6235e5be32e8ee8e37801dde1fb1c5add2a.tar.gz CMake-689be6235e5be32e8ee8e37801dde1fb1c5add2a.tar.bz2 |
Generator: support per-language link library flag
This enables the use of MSVC and Swift on Windows in a single project.
MSVC uses no flag to indicate linked libraries while Swift uses `-l`.
Add support for a language specific link library flag which takes
precedence over the global `CMAKE_LINK_LIBRARY_FLAG` which preserves
compatibility with earlier releases.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmComputeLinkInformation.cxx | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx index 4aa18f2..0741f8b 100644 --- a/Source/cmComputeLinkInformation.cxx +++ b/Source/cmComputeLinkInformation.cxx @@ -285,8 +285,13 @@ cmComputeLinkInformation::cmComputeLinkInformation( } // Get options needed to link libraries. - this->LibLinkFlag = - this->Makefile->GetSafeDefinition("CMAKE_LINK_LIBRARY_FLAG"); + if (const char* flag = this->Makefile->GetDefinition( + "CMAKE_" + this->LinkLanguage + "_LINK_LIBRARY_FLAG")) { + this->LibLinkFlag = flag; + } else { + this->LibLinkFlag = + this->Makefile->GetSafeDefinition("CMAKE_LINK_LIBRARY_FLAG"); + } this->LibLinkFileFlag = this->Makefile->GetSafeDefinition("CMAKE_LINK_LIBRARY_FILE_FLAG"); this->LibLinkSuffix = |