diff options
author | Brad King <brad.king@kitware.com> | 2017-03-13 15:54:30 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-03-21 14:02:34 (GMT) |
commit | 075f6454092ae058add228eda8220a3680b2f9e4 (patch) | |
tree | c0bff4ce5eaf25b8e38d904f3cfb64ebfc13265b /Tests/ModuleDefinition/CMakeLists.txt | |
parent | 21c4ec4ffe1c40382f6b435ff49eade31e1137f2 (diff) | |
download | CMake-075f6454092ae058add228eda8220a3680b2f9e4.zip CMake-075f6454092ae058add228eda8220a3680b2f9e4.tar.gz CMake-075f6454092ae058add228eda8220a3680b2f9e4.tar.bz2 |
Support WINDOWS_EXPORT_ALL_SYMBOLS with `.def` files
The `WINDOWS_EXPORT_ALL_SYMBOLS` target property exports all symbols
found in object files explicitly given to the linker. However, the
linker may also find additional symbols in dependencies and copy them
into the linked binary (e.g. from `msvcrt.lib`). Provide a way to
export an explicit list of such symbols by adding a `.def` file as a
source file.
Fixes: #16473
Diffstat (limited to 'Tests/ModuleDefinition/CMakeLists.txt')
-rw-r--r-- | Tests/ModuleDefinition/CMakeLists.txt | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Tests/ModuleDefinition/CMakeLists.txt b/Tests/ModuleDefinition/CMakeLists.txt index bfbb343..e49ebea 100644 --- a/Tests/ModuleDefinition/CMakeLists.txt +++ b/Tests/ModuleDefinition/CMakeLists.txt @@ -4,6 +4,8 @@ project(ModuleDefinition C) # Test .def file source recognition for DLLs. add_library(example_dll SHARED example_dll.c example_dll.def) +add_library(split_dll SHARED split_dll.c split_dll_1.def split_dll_2.def) + # Test generated .def file. add_custom_command(OUTPUT example_dll_gen.def DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/example_dll_gen.def.in @@ -24,7 +26,12 @@ endif() # Test .def file source recognition for EXEs. add_executable(example_exe example_exe.c example_exe.def) set_property(TARGET example_exe PROPERTY ENABLE_EXPORTS 1) -target_link_libraries(example_exe example_dll example_dll_gen ${example_dll_2}) +target_link_libraries(example_exe + example_dll + example_dll_gen + ${example_dll_2} + split_dll + ) # Test linking to the executable. add_library(example_mod_1 MODULE example_mod_1.c) |