mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 02:39:48 -06:00
Swift: fix Windows DLL import library support for CMP0157 NEW
This was accidentally removed when the command templates were reorganized to introduce the new policy. Restore the flag in the shared library creation to ensure that we emit the import libraries to the correct location.
This commit is contained in:
@@ -132,7 +132,7 @@ if(CMAKE_Swift_COMPILATION_MODE_DEFAULT)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_Swift_CREATE_SHARED_LIBRARY)
|
||||
set(CMAKE_Swift_CREATE_SHARED_LIBRARY "<CMAKE_Swift_COMPILER> ${CMAKE_Swift_PARALLEL_FLAGS} -emit-library <CMAKE_SHARED_LIBRARY_Swift_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <SONAME_FLAG> <TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
|
||||
set(CMAKE_Swift_CREATE_SHARED_LIBRARY "<CMAKE_Swift_COMPILER> ${CMAKE_Swift_PARALLEL_FLAGS} -emit-library <CMAKE_SHARED_LIBRARY_Swift_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> ${CMAKE_Swift_IMPLIB_LINKER_FLAGS} <SONAME_FLAG> <TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_Swift_CREATE_SHARED_MODULE)
|
||||
|
||||
1
Tests/RunCMake/Swift/ImportLibraryFlags-check-stdout.txt
Normal file
1
Tests/RunCMake/Swift/ImportLibraryFlags-check-stdout.txt
Normal file
@@ -0,0 +1 @@
|
||||
.*-implib:lib\\L.lib
|
||||
6
Tests/RunCMake/Swift/ImportLibraryFlags.cmake
Normal file
6
Tests/RunCMake/Swift/ImportLibraryFlags.cmake
Normal file
@@ -0,0 +1,6 @@
|
||||
cmake_policy(SET CMP0157 NEW)
|
||||
enable_language(Swift)
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
add_library(L SHARED L.swift)
|
||||
@@ -77,6 +77,14 @@ elseif(RunCMake_GENERATOR STREQUAL Ninja)
|
||||
run_cmake_command(ForceResponseFile-check ${CMAKE_COMMAND} --build ${ForceResponseFile_TEST_BINARY_DIR} -- -vn)
|
||||
endblock()
|
||||
|
||||
block()
|
||||
if(CMAKE_SYSTEM_NAME MATCHES Windows)
|
||||
set(ImportLibraryFlags_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/SwiftLibraryModuleCommand-build)
|
||||
run_cmake(ImportLibraryFlags)
|
||||
run_cmake_command(ImportLibraryFlags-check ${CMAKE_COMMAND} --build ${SwiftLibraryModuleCommand_TEST_BINARY_DIR} -- -n -v)
|
||||
endif()
|
||||
endblock()
|
||||
|
||||
block()
|
||||
set(SwiftLibraryModuleCommand_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/SwiftLibraryModuleCommand-build)
|
||||
run_cmake(SwiftLibraryModuleCommand)
|
||||
|
||||
Reference in New Issue
Block a user