summaryrefslogtreecommitdiffstats
path: root/Tests/BundleUtilities/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/BundleUtilities/CMakeLists.txt')
-rw-r--r--Tests/BundleUtilities/CMakeLists.txt54
1 files changed, 33 insertions, 21 deletions
diff --git a/Tests/BundleUtilities/CMakeLists.txt b/Tests/BundleUtilities/CMakeLists.txt
index be2b058..6209c8f 100644
--- a/Tests/BundleUtilities/CMakeLists.txt
+++ b/Tests/BundleUtilities/CMakeLists.txt
@@ -9,12 +9,6 @@ add_library(shared SHARED shared.cpp shared.h)
# another shared library
add_library(shared2 SHARED shared2.cpp shared2.h)
-# a loadable module (depends on shared2)
-# test app will load this at runtime
-add_library(module MODULE module.cpp module.h)
-set_target_properties(module PROPERTIES PREFIX "")
-get_target_property(module_loc module LOCATION)
-target_link_libraries(module shared2)
# a framework library
add_library(framework SHARED framework.cpp framework.h)
@@ -22,28 +16,37 @@ add_library(framework SHARED framework.cpp framework.h)
#set_target_properties(framework PROPERTIES FRAMEWORK 1)
# make sure rpaths are not helping BundleUtilities or the executables
-set_target_properties(shared shared2 module framework PROPERTIES
+set_target_properties(shared shared2 framework PROPERTIES
SKIP_BUILD_RPATH 1)
###### test a Bundle application using dependencies
-set(TESTBUNDLEDIR "${CMAKE_CURRENT_BINARY_DIR}/testdir1")
-add_executable(testbundleutils1 MACOSX_BUNDLE testbundleutils.cpp)
+# a loadable module (depends on shared2)
+# testbundleutils1 will load this at runtime
+add_library(module1 MODULE module.cpp module.h)
+set_target_properties(module1 PROPERTIES PREFIX "")
+get_target_property(module_loc module1 LOCATION)
+target_link_libraries(module1 shared2)
+
+# a bundle application
+add_executable(testbundleutils1 MACOSX_BUNDLE testbundleutils1.cpp)
target_link_libraries(testbundleutils1 shared framework ${CMAKE_DL_LIBS})
-set_target_properties(testbundleutils1 PROPERTIES
- INSTALL_RPATH "${TESTBUNDLEDIR}"
- BUILD_WITH_INSTALL_RPATH 1)
get_target_property(loc testbundleutils1 LOCATION)
+set_target_properties(testbundleutils1 module1 PROPERTIES
+ INSTALL_RPATH "${CMAKE_CURRENT_BINARY_DIR}/testdir1"
+ BUILD_WITH_INSTALL_RPATH 1)
+
+# add custom target to install and test the app
add_custom_target(testbundleutils1_test ALL
COMMAND ${CMAKE_COMMAND}
"-DINPUT=${loc}"
"-DMODULE=${module_loc}"
"-DINPUTDIR=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}"
- "-DOUTPUTDIR=${TESTBUNDLEDIR}"
+ "-DOUTPUTDIR=${CMAKE_CURRENT_BINARY_DIR}/testdir1"
-P "${CMAKE_CURRENT_SOURCE_DIR}/bundleutils.cmake"
- DEPENDS testbundleutils1 module
+ DEPENDS testbundleutils1 module1
)
add_dependencies(testbundleutils1_test testbundleutils1)
@@ -52,21 +55,30 @@ add_dependencies(testbundleutils1_test testbundleutils1)
###### test a non-Bundle application using dependencies
-set(TESTBUNDLEDIR "${CMAKE_CURRENT_BINARY_DIR}/testdir2")
-add_executable(testbundleutils2 testbundleutils.cpp)
+# a loadable module (depends on shared2)
+# testbundleutils2 will load this at runtime
+add_library(module2 MODULE module.cpp module.h)
+set_target_properties(module2 PROPERTIES PREFIX "")
+get_target_property(module_loc module2 LOCATION)
+target_link_libraries(module2 shared2)
+
+# a non-bundle application
+add_executable(testbundleutils2 testbundleutils2.cpp)
target_link_libraries(testbundleutils2 shared framework ${CMAKE_DL_LIBS})
-set_target_properties(testbundleutils2 PROPERTIES
- INSTALL_RPATH "${TESTBUNDLEDIR}"
- BUILD_WITH_INSTALL_RPATH 1)
get_target_property(loc testbundleutils2 LOCATION)
+set_target_properties(testbundleutils2 module2 PROPERTIES
+ INSTALL_RPATH "${CMAKE_CURRENT_BINARY_DIR}/testdir2"
+ BUILD_WITH_INSTALL_RPATH 1)
+
+# add custom target to install and test the app
add_custom_target(testbundleutils2_test ALL
COMMAND ${CMAKE_COMMAND}
"-DINPUT=${loc}"
"-DMODULE=${module_loc}"
"-DINPUTDIR=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}"
- "-DOUTPUTDIR=${TESTBUNDLEDIR}"
+ "-DOUTPUTDIR=${CMAKE_CURRENT_BINARY_DIR}/testdir2"
-P "${CMAKE_CURRENT_SOURCE_DIR}/bundleutils.cmake"
- DEPENDS testbundleutils1 module
+ DEPENDS testbundleutils1 module2
)
add_dependencies(testbundleutils2_test testbundleutils2)