diff options
author | Yury Zhuravlev <stalkerg@gmail.com> | 2016-07-10 17:24:43 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-07-11 13:41:04 (GMT) |
commit | 9da725cb00d25c7d3f45e8ee8c943ec5241d6227 (patch) | |
tree | d8ac9317dc0b460557c119180fdd04d4bff0da55 /Tests/RunCMake/AutoExportDll | |
parent | 2005b960672d2d552585805ea398b02400a576b7 (diff) | |
download | CMake-9da725cb00d25c7d3f45e8ee8c943ec5241d6227.zip CMake-9da725cb00d25c7d3f45e8ee8c943ec5241d6227.tar.gz CMake-9da725cb00d25c7d3f45e8ee8c943ec5241d6227.tar.bz2 |
Windows: Honor WINDOWS_EXPORT_ALL_SYMBOLS for executables with exports
For executables with ENABLE_EXPORTS set, export all symbols when
instructed to do so by WINDOWS_EXPORT_ALL_SYMBOLS.
Diffstat (limited to 'Tests/RunCMake/AutoExportDll')
-rw-r--r-- | Tests/RunCMake/AutoExportDll/AutoExport.cmake | 6 | ||||
-rw-r--r-- | Tests/RunCMake/AutoExportDll/hello2.c | 8 | ||||
-rw-r--r-- | Tests/RunCMake/AutoExportDll/say.cxx | 8 |
3 files changed, 22 insertions, 0 deletions
diff --git a/Tests/RunCMake/AutoExportDll/AutoExport.cmake b/Tests/RunCMake/AutoExportDll/AutoExport.cmake index 3b2b2c5..bdddb38 100644 --- a/Tests/RunCMake/AutoExportDll/AutoExport.cmake +++ b/Tests/RunCMake/AutoExportDll/AutoExport.cmake @@ -3,5 +3,11 @@ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${autoexport_BINARY_DIR}/bin) add_subdirectory(sub) add_library(autoexport SHARED hello.cxx world.cxx foo.c) + add_executable(say say.cxx) +if(MSVC) + set_target_properties(say PROPERTIES ENABLE_EXPORTS ON) + add_library(autoexport_for_exec SHARED hello2.c) + target_link_libraries(autoexport_for_exec say) +endif() target_link_libraries(say autoexport autoexport2) diff --git a/Tests/RunCMake/AutoExportDll/hello2.c b/Tests/RunCMake/AutoExportDll/hello2.c new file mode 100644 index 0000000..d4d6b72 --- /dev/null +++ b/Tests/RunCMake/AutoExportDll/hello2.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +extern int own_auto_export_function(int i); + +void hello2() +{ + printf("hello exec:%i", own_auto_export_function(41)); +} diff --git a/Tests/RunCMake/AutoExportDll/say.cxx b/Tests/RunCMake/AutoExportDll/say.cxx index 0178688..9ca8d31 100644 --- a/Tests/RunCMake/AutoExportDll/say.cxx +++ b/Tests/RunCMake/AutoExportDll/say.cxx @@ -18,6 +18,14 @@ int bar(); void hello(); void world(); +// test exports for executable target +extern "C" { +int own_auto_export_function(int i) +{ + return i + 1; +} +} + int main() { // test static data (needs declspec to work) |