1#
2# Before calling this, ensure that the following variables are set:
3#
4# VTK_DEVICE_LIBS - a path containing a wildcard suitable for globbing
5# VTK_SIMULATOR_LIBS - a path containing a wildcard suitable for globbing
6# VTK_INSTALLED_HEADERS - the path containing all headers for the framework
7# CMAKE_FRAMEWORK_INSTALL_PREFIX - the path in which to make vtk.framework
8#
9
10# Make sure VTK is installed.
11if (NOT EXISTS "@VTK_INSTALLED_HEADERS@")
12  message(FATAL_ERROR
13          "VTK not installed. Build the source then build the 'install' target.")
14endif()
15
16# Ensure a framework path is set
17if (NOT EXISTS "@CMAKE_FRAMEWORK_INSTALL_PREFIX@")
18  message(FATAL_ERROR
19          "Please specifiy a CMAKE_FRAMEWORK_INSTALL_PREFIX.")
20endif()
21
22# Glob all input libs
23file(GLOB VTK_LIB_GLOB
24  "@VTK_DEVICE_LIBS@"
25  "@VTK_SIMULATOR_LIBS@"
26)
27
28# Set framework output path
29set(FRAMEWORK_PATH "@CMAKE_FRAMEWORK_INSTALL_PREFIX@/vtk.framework")
30
31# Do these individually, as we don't want them piped
32execute_process(COMMAND mkdir -p "${FRAMEWORK_PATH}")
33execute_process(COMMAND mkdir -p "${FRAMEWORK_PATH}/Headers")
34execute_process(COMMAND cp -r "@VTK_INSTALLED_HEADERS@/"
35                              "${FRAMEWORK_PATH}/Headers/.")
36execute_process(COMMAND libtool -static -o
37                      "${FRAMEWORK_PATH}/vtk_lib"
38                      ${VTK_LIB_GLOB})
39execute_process(COMMAND lipo -create "${FRAMEWORK_PATH}/vtk_lib"
40                             -output "${FRAMEWORK_PATH}/vtk")
41execute_process(COMMAND rm "${FRAMEWORK_PATH}/vtk_lib")
42
43message(STATUS "Created ${FRAMEWORK_PATH}")