diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2007-05-08 15:53:39 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2007-05-08 15:53:39 (GMT) |
commit | 39ccc4fb11b52a3dbc18d50e19003cd9a708f623 (patch) | |
tree | fb24c43b02cc15129c9e33fbf8ed5a8e25bc8e6e | |
parent | e6b8aa496a224c92770cb9a7f1cb733f137a611d (diff) | |
download | CMake-39ccc4fb11b52a3dbc18d50e19003cd9a708f623.zip CMake-39ccc4fb11b52a3dbc18d50e19003cd9a708f623.tar.gz CMake-39ccc4fb11b52a3dbc18d50e19003cd9a708f623.tar.bz2 |
ENH: fix it so that the FRAMEWORK property does not break the building of normal shared libs on non-mac platforms
-rw-r--r-- | Source/cmLocalGenerator.cxx | 5 | ||||
-rw-r--r-- | Tests/Framework/CMakeLists.txt | 10 | ||||
-rw-r--r-- | Tests/Framework/bar.cxx | 5 | ||||
-rw-r--r-- | Tests/Framework/foo.cxx | 6 |
4 files changed, 18 insertions, 8 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 7479871..05ba04d 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -1728,7 +1728,12 @@ void cmLocalGenerator // off the per-configuration subdirectory. The link directory // ordering knows how to deal with this. linkItem += tgt->GetDirectory(0, implib); + // on apple if the FRAMEWORK prop is set, then + // do not add the target full name but just use the directory + // name +#ifdef __APPLE__ if(!tgt->GetPropertyAsBool("FRAMEWORK")) +#endif { linkItem += "/"; linkItem += tgt->GetFullName(config, implib); diff --git a/Tests/Framework/CMakeLists.txt b/Tests/Framework/CMakeLists.txt index 3aac24d..74871bc 100644 --- a/Tests/Framework/CMakeLists.txt +++ b/Tests/Framework/CMakeLists.txt @@ -1,11 +1,11 @@ project(Framework) add_library(foo SHARED foo.cxx) set_target_properties(foo PROPERTIES - FRAMEWORK TRUE - FRAMEWORK_PUBLIC_HEADERS "foo.h;foo2.h" - FRAMEWORK_VERSION ver2 - FRAMEWORK_RESOURCES "" -# VERSION 1.2 + FRAMEWORK TRUE + FRAMEWORK_PUBLIC_HEADERS "foo.h;foo2.h" + FRAMEWORK_VERSION ver2 + FRAMEWORK_RESOURCES "" ) add_executable(bar bar.cxx) target_link_libraries(bar foo) + diff --git a/Tests/Framework/bar.cxx b/Tests/Framework/bar.cxx index 37c132a..5c9d612 100644 --- a/Tests/Framework/bar.cxx +++ b/Tests/Framework/bar.cxx @@ -1,4 +1,7 @@ -void foo(); +#ifdef _WIN32 +# define CM_TEST_LIB_IMPORT __declspec( dllimport ) +#endif +CM_TEST_LIB_IMPORT void foo(); int main() { foo(); diff --git a/Tests/Framework/foo.cxx b/Tests/Framework/foo.cxx index 62acbb7..521f6f2 100644 --- a/Tests/Framework/foo.cxx +++ b/Tests/Framework/foo.cxx @@ -1,6 +1,8 @@ #include <stdio.h> - -void foo() +#ifdef _WIN32 +# define CM_TEST_LIB_EXPORT __declspec( dllexport ) +#endif +CM_TEST_LIB_EXPORT void foo() { printf("foo\n"); } |