diff options
author | Clinton Stimpson <clinton@elemtech.com> | 2013-07-16 04:23:12 (GMT) |
---|---|---|
committer | Clinton Stimpson <clinton@elemtech.com> | 2013-07-16 04:39:08 (GMT) |
commit | e645ff0b10567e400c722dfc28c58dc4fd8d181b (patch) | |
tree | a2ba239079f137345d940c527057d4e94d1ed463 /Tests/MacRuntimePath | |
parent | b94e726a83b92f5b7376b97aa448107884a76685 (diff) | |
download | CMake-e645ff0b10567e400c722dfc28c58dc4fd8d181b.zip CMake-e645ff0b10567e400c722dfc28c58dc4fd8d181b.tar.gz CMake-e645ff0b10567e400c722dfc28c58dc4fd8d181b.tar.bz2 |
OS X: Enable rpath support on Mac OS X when find_library() is used.
Diffstat (limited to 'Tests/MacRuntimePath')
-rw-r--r-- | Tests/MacRuntimePath/A/CMakeLists.txt | 5 | ||||
-rw-r--r-- | Tests/MacRuntimePath/A/framework2.cpp | 8 | ||||
-rw-r--r-- | Tests/MacRuntimePath/A/framework2.h | 17 | ||||
-rw-r--r-- | Tests/MacRuntimePath/B/CMakeLists.txt | 3 |
4 files changed, 32 insertions, 1 deletions
diff --git a/Tests/MacRuntimePath/A/CMakeLists.txt b/Tests/MacRuntimePath/A/CMakeLists.txt index 6e6de42..5fc54f4 100644 --- a/Tests/MacRuntimePath/A/CMakeLists.txt +++ b/Tests/MacRuntimePath/A/CMakeLists.txt @@ -14,6 +14,10 @@ set_target_properties(shared2 PROPERTIES add_library(framework SHARED framework.cpp framework.h) set_target_properties(framework PROPERTIES MACOSX_RPATH 1 FRAMEWORK 1) +# another framework +add_library(framework2 SHARED framework2.cpp framework2.h) +set_target_properties(framework2 PROPERTIES MACOSX_RPATH 1 FRAMEWORK 1) + # executable to test a shared library dependency with install rpaths add_executable(test1 test1.cpp) target_link_libraries(test1 shared) @@ -60,4 +64,5 @@ export(TARGETS shared shared2 framework FILE "${CMAKE_CURRENT_BINARY_DIR}/exp.cm install(TARGETS shared EXPORT MyExport DESTINATION lib) install(TARGETS shared2 EXPORT MyExport DESTINATION lib2) install(TARGETS framework EXPORT MyExport DESTINATION lib-fw) +install(TARGETS framework2 EXPORT MyExport DESTINATION lib-fw2) install(EXPORT MyExport DESTINATION lib FILE exp.cmake) diff --git a/Tests/MacRuntimePath/A/framework2.cpp b/Tests/MacRuntimePath/A/framework2.cpp new file mode 100644 index 0000000..d3c2c45 --- /dev/null +++ b/Tests/MacRuntimePath/A/framework2.cpp @@ -0,0 +1,8 @@ + +#include "framework2.h" +#include "stdio.h" + +void framework2() +{ + printf("framework 2\n"); +} diff --git a/Tests/MacRuntimePath/A/framework2.h b/Tests/MacRuntimePath/A/framework2.h new file mode 100644 index 0000000..4576d12 --- /dev/null +++ b/Tests/MacRuntimePath/A/framework2.h @@ -0,0 +1,17 @@ + +#ifndef framework2_h +#define framework2_h + +#ifdef WIN32 +# ifdef framework2_EXPORTS +# define FRAMEWORK2_EXPORT __declspec(dllexport) +# else +# define FRAMEWORK2_EXPORT __declspec(dllimport) +# endif +#else +# define FRAMEWORK2_EXPORT +#endif + +void FRAMEWORK2_EXPORT framework2(); + +#endif diff --git a/Tests/MacRuntimePath/B/CMakeLists.txt b/Tests/MacRuntimePath/B/CMakeLists.txt index c361620..4317af6 100644 --- a/Tests/MacRuntimePath/B/CMakeLists.txt +++ b/Tests/MacRuntimePath/B/CMakeLists.txt @@ -9,7 +9,8 @@ add_executable(testb ${MacRuntimePath_B_SOURCE_DIR}/../A/test3.cpp) target_link_libraries(testb shared framework) # test link with rpath enabled library by filename -target_link_libraries(testb $<TARGET_LINKER_FILE:shared2> framework) +find_library(fw2 NAMES framework2 HINTS ${MacRuntimePath_B_BINARY_DIR}/../Root/lib-fw2) +target_link_libraries(testb $<TARGET_LINKER_FILE:shared2> ${fw2}) add_custom_target(testb_run ALL COMMAND testb |