diff options
author | Stephen Kelly <steveire@gmail.com> | 2011-08-10 20:19:39 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2011-08-10 20:19:39 (GMT) |
commit | 7924c1d6a8db87ded487e744ba3e8881e8336d00 (patch) | |
tree | a929759f78d575723fbed192b9ee9aaf8a132db9 | |
parent | 50460ea9de40d7c8ef631bbdb5d44b9aa4c14718 (diff) | |
download | CMake-7924c1d6a8db87ded487e744ba3e8881e8336d00.zip CMake-7924c1d6a8db87ded487e744ba3e8881e8336d00.tar.gz CMake-7924c1d6a8db87ded487e744ba3e8881e8336d00.tar.bz2 |
Another attempt at fixing Borland.
Apparently it still needs to be exported, but only declspec(deprecated)
does not work.
4 files changed, 17 insertions, 8 deletions
diff --git a/Modules/GenerateExportHeader.cmake b/Modules/GenerateExportHeader.cmake index 5ecb807..c921d89 100644 --- a/Modules/GenerateExportHeader.cmake +++ b/Modules/GenerateExportHeader.cmake @@ -160,10 +160,8 @@ macro(_DO_SET_MACRO_VALUES TARGET_LIBRARY) if(NOT ${type} STREQUAL "STATIC_LIBRARY") if(WIN32) - if (NOT (${CMAKE_CXX_COMPILER_ID} MATCHES Borland)) - set(DEFINE_EXPORT "__declspec(dllexport)") - set(DEFINE_IMPORT "__declspec(dllimport)") - endif() + set(DEFINE_EXPORT "__declspec(dllexport)") + set(DEFINE_IMPORT "__declspec(dllimport)") elseif(COMPILER_HAS_HIDDEN_VISIBILITY AND USE_COMPILER_HIDDEN_VISIBILITY) set(DEFINE_EXPORT "__attribute__((visibility(\"default\")))") set(DEFINE_IMPORT "__attribute__((visibility(\"default\")))") diff --git a/Tests/Module/GenerateExportHeader/lib_shared_and_statictest/CMakeLists.txt b/Tests/Module/GenerateExportHeader/lib_shared_and_statictest/CMakeLists.txt index 2030de6..d25eed0 100644 --- a/Tests/Module/GenerateExportHeader/lib_shared_and_statictest/CMakeLists.txt +++ b/Tests/Module/GenerateExportHeader/lib_shared_and_statictest/CMakeLists.txt @@ -17,7 +17,12 @@ endmacro() static_variant_build_pass("return libshared_and_static_exported();" "Failed to build static variant") shared_variant_build_pass("return libshared_and_static_exported();" "Failed to build shared variant") -shared_variant_build_fail("return libshared_and_static_deprecated();" "Built shared deprecated variant") -static_variant_build_fail("return libshared_and_static_deprecated();" "Built static deprecated variant") +if (NOT ${CMAKE_CXX_COMPILER_ID} MATCHES Borland) + shared_variant_build_fail("return libshared_and_static_deprecated();" "Built shared deprecated variant") + static_variant_build_fail("return libshared_and_static_deprecated();" "Built static deprecated variant") +else() + shared_variant_build_pass("return libshared_and_static_deprecated();" "Built shared deprecated variant") + static_variant_build_pass("return libshared_and_static_deprecated();" "Built static deprecated variant") +endif() static_variant_build_pass("return libshared_and_static_not_exported();" "Failed to build static not exported variant") shared_variant_build_fail("return libshared_and_static_not_exported();" "Built shared not exported variant") diff --git a/Tests/Module/GenerateExportHeader/libsharedtest/CMakeLists.txt b/Tests/Module/GenerateExportHeader/libsharedtest/CMakeLists.txt index 7a05205..9edc53f 100644 --- a/Tests/Module/GenerateExportHeader/libsharedtest/CMakeLists.txt +++ b/Tests/Module/GenerateExportHeader/libsharedtest/CMakeLists.txt @@ -9,7 +9,11 @@ endmacro() shared_build_pass("Libshared l; return l.libshared_exported();" "Failed to build exported") -shared_build_fail("Libshared l; return l.libshared_deprecated();" "Built use of deprecated class method. This should not be possible.") +if (NOT ${CMAKE_CXX_COMPILER_ID} MATCHES Borland) + shared_build_fail("Libshared l; return l.libshared_deprecated();" "Built use of deprecated class method. This should not be possible.") +else() + shared_build_pass("Libshared l; return l.libshared_deprecated();" "Built use of deprecated class method. This should not be possible.") +endif() if (COMPILER_HAS_HIDDEN_VISIBILITY) shared_build_fail("Libshared l; return l.libshared_excluded();" "Built use of excluded class method. This should not be possible.") else() diff --git a/Tests/Module/GenerateExportHeader/libstatictest/CMakeLists.txt b/Tests/Module/GenerateExportHeader/libstatictest/CMakeLists.txt index 58b875a..a41b168 100644 --- a/Tests/Module/GenerateExportHeader/libstatictest/CMakeLists.txt +++ b/Tests/Module/GenerateExportHeader/libstatictest/CMakeLists.txt @@ -9,5 +9,7 @@ endmacro() static_build_pass("Libstatic l; return l.libstatic_exported();" "Failed to build exported.") -static_build_fail("Libstatic l; return l.libstatic_deprecated();" "Built use of deprecated class method. This should not be possible.") +if (NOT ${CMAKE_CXX_COMPILER_ID} MATCHES Borland) + static_build_fail("Libstatic l; return l.libstatic_deprecated();" "Built use of deprecated class method. This should not be possible.") +endif() static_build_fail("libstatic_deprecated();" "Built use of deprecated function. This should not be possible.") |