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}")