[cmake-developers] [PATCH] Use dllexport and dllimport on Cygwin too
Tony Kelman
tony at kelman.net
Thu Aug 27 03:48:18 EDT 2015
First hunk below is from Yaakov Selkowitz, it was reported to be
necessary to build KF5 in Cygwin. Second hunk fixes the corresponding
test to account for the change. Currently the MinGW platform reference
outputs appear to match the Cygwin results here, though a separate new
pair of reference outputs just for Cygwin could of course work for this
too.
Thanks,
Tony
diff --git a/Modules/GenerateExportHeader.cmake
b/Modules/GenerateExportHeader.cmake
index aab29ea..8205425 100644
--- a/Modules/GenerateExportHeader.cmake
+++ b/Modules/GenerateExportHeader.cmake
@@ -268,7 +268,7 @@ macro(_DO_SET_MACRO_VALUES TARGET_LIBRARY)
get_property(type TARGET ${TARGET_LIBRARY} PROPERTY TYPE)
if(NOT ${type} STREQUAL "STATIC_LIBRARY")
- if(WIN32)
+ if(WIN32 OR CYGWIN)
set(DEFINE_EXPORT "__declspec(dllexport)")
set(DEFINE_IMPORT "__declspec(dllimport)")
elseif(COMPILER_HAS_HIDDEN_VISIBILITY AND
USE_COMPILER_HIDDEN_VISIBILITY)
diff --git a/Tests/Module/GenerateExportHeader/CMakeLists.txt
b/Tests/Module/GenerateExportHeader/CMakeLists.txt
index b52c44d..8cd25a4 100644
--- a/Tests/Module/GenerateExportHeader/CMakeLists.txt
+++ b/Tests/Module/GenerateExportHeader/CMakeLists.txt
@@ -106,10 +106,10 @@ endif()
add_executable(GenerateExportHeader exportheader_test.cpp)
target_link_libraries(GenerateExportHeader ${link_libraries})
-if (WIN32)
+if (WIN32 OR CYGWIN)
if(MSVC AND COMPILER_HAS_DEPRECATED)
set(_platform Win32)
- elseif(MINGW AND COMPILER_HAS_DEPRECATED)
+ elseif((MINGW OR CYGWIN) AND COMPILER_HAS_DEPRECATED)
set(_platform MinGW)
else()
set(_platform WinEmpty)
More information about the cmake-developers
mailing list