diff options
Diffstat (limited to 'Tests/BundleTest')
-rw-r--r-- | Tests/BundleTest/BundleLib.cxx | 1 | ||||
-rw-r--r-- | Tests/BundleTest/BundleTest.cxx | 4 | ||||
-rw-r--r-- | Tests/BundleTest/CMakeLists.txt | 22 |
3 files changed, 26 insertions, 1 deletions
diff --git a/Tests/BundleTest/BundleLib.cxx b/Tests/BundleTest/BundleLib.cxx new file mode 100644 index 0000000..9fe07f8 --- /dev/null +++ b/Tests/BundleTest/BundleLib.cxx @@ -0,0 +1 @@ +int foo() { return 0; } diff --git a/Tests/BundleTest/BundleTest.cxx b/Tests/BundleTest/BundleTest.cxx index 59c0f1e..c879be1 100644 --- a/Tests/BundleTest/BundleTest.cxx +++ b/Tests/BundleTest/BundleTest.cxx @@ -1,4 +1,6 @@ +extern int foo(); + int main() { -return 0; + return foo(); } diff --git a/Tests/BundleTest/CMakeLists.txt b/Tests/BundleTest/CMakeLists.txt index dcc6798..4bab24e 100644 --- a/Tests/BundleTest/CMakeLists.txt +++ b/Tests/BundleTest/CMakeLists.txt @@ -1,4 +1,26 @@ PROJECT(BundleTest) SET(MACOSX_BUNDLE_INFO_STRING "bundle_info_string") + +# Test building a bundle linking to a shared library. +ADD_LIBRARY(BundleTestLib SHARED BundleLib.cxx) ADD_EXECUTABLE(BundleTest MACOSX_BUNDLE BundleTest.cxx) +TARGET_LINK_LIBRARIES(BundleTest BundleTestLib) + +# Test bundle installation. +INSTALL(TARGETS BundleTestLib DESTINATION Application/BundleTestExe.app/Contents/Plugins) +INSTALL(TARGETS BundleTest DESTINATION Application) + +# Test whether bundles respect the output name. Since the library is +# installed into a location that uses this output name this will fail if the +# bundle does not respect the name. Also the executable will not be found by +# the test driver if this does not work. +SET_TARGET_PROPERTIES(BundleTest PROPERTIES OUTPUT_NAME BundleTestExe) + +# Test executable versioning if it is supported. +IF(NOT XCODE) + SET_TARGET_PROPERTIES(BundleTest PROPERTIES VERSION 1) +ENDIF(NOT XCODE) +# Make sure the executable can find its installed library. +SET_TARGET_PROPERTIES(BundleTestLib PROPERTIES + INSTALL_NAME_DIR "@executable_path/../Plugins") |