summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vtk-3-compile-tools.patch55
-rw-r--r--src/vtk-4-compile-tools.patch61
-rw-r--r--src/vtk.mk7
3 files changed, 122 insertions, 1 deletions
diff --git a/src/vtk-3-compile-tools.patch b/src/vtk-3-compile-tools.patch
new file mode 100644
index 0000000..82d23c8
--- /dev/null
+++ b/src/vtk-3-compile-tools.patch
@@ -0,0 +1,55 @@
+--- VTK/Utilities/kwsys/CMakeLists.txt 2011-08-24 15:37:12.000000000 +0200
++++ VTK/Utilities/kwsys/CMakeLists.txt 2011-10-30 00:06:06.402085234 +0200
+@@ -937,13 +937,20 @@
+ # file and build it into the library. Win9x platforms reproduce the
+ # executable into a temporary directory when it is needed.
+ IF(KWSYS_USE_Process)
+- IF(NOT UNIX)
++ IF(NOT CMAKE_CROSSCOMPILING)
+ # Build the forwarding executable itself and a program that will
+ # encode it into a C file.
+- ADD_EXECUTABLE(${KWSYS_NAMESPACE}ProcessFwd9x ProcessFwd9x.c)
+ ADD_EXECUTABLE(${KWSYS_NAMESPACE}EncodeExecutable EncodeExecutable.c)
+- KWSYS_SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}ProcessFwd9x PROPERTY LABELS ${KWSYS_LABELS_EXE})
+ KWSYS_SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}EncodeExecutable PROPERTY LABELS ${KWSYS_LABELS_EXE})
++ EXPORT(TARGETS ${KWSYS_NAMESPACE}EncodeExecutable FILE ${EXPORT_EXECUTABLES_FILE} NAMESPACE "${EXPORT_EXECUTABLES_NAMESPACE}" APPEND)
++ IF(COMPILE_TOOLS_TARGET)
++ ADD_DEPENDENCIES(${COMPILE_TOOLS_TARGET} ${KWSYS_NAMESPACE}EncodeExecutable)
++ ENDIF(COMPILE_TOOLS_TARGET)
++ ENDIF(NOT CMAKE_CROSSCOMPILING)
++
++ IF(NOT UNIX)
++ ADD_EXECUTABLE(${KWSYS_NAMESPACE}ProcessFwd9x ProcessFwd9x.c)
++ KWSYS_SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}ProcessFwd9x PROPERTY LABELS ${KWSYS_LABELS_EXE})
+
+ # Construct the location of the executable to be encoded.
+ SET(BIN_DIR ${CMAKE_CURRENT_BINARY_DIR})
+@@ -957,24 +964,23 @@
+ ENDIF(CMAKE_BUILD_TOOL MATCHES "make")
+
+ # Take advantage of a better custom command syntax if possible.
+- SET(CMD ${BIN_DIR}${CFG_INTDIR}/${KWSYS_NAMESPACE}EncodeExecutable.exe)
+ SET(FWD ${BIN_DIR}${CFG_INTDIR}/${KWSYS_NAMESPACE}ProcessFwd9x.exe)
+ IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.6)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c
+- COMMAND ${CMD}
++ COMMAND ${KWSYS_NAMESPACE}EncodeExecutable
+ ARGS ${FWD} ${CMAKE_CURRENT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c
+ ${KWSYS_NAMESPACE} ProcessFwd9x
+- DEPENDS ${CMD} ${FWD})
++ DEPENDS ${KWSYS_NAMESPACE}EncodeExecutable ${FWD})
+ ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.6)
+ ADD_CUSTOM_COMMAND(
+ TARGET ${KWSYS_NAMESPACE}
+ SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/ProcessFwd9x.c
+- COMMAND ${CMD}
++ COMMAND ${KWSYS_NAMESPACE}EncodeExecutable
+ ARGS ${FWD} ${CMAKE_CURRENT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c
+ ${KWSYS_NAMESPACE} ProcessFwd9x
+ OUTPUTS ${CMAKE_CURRENT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c
+- DEPENDS ${CMD} ${FWD})
++ DEPENDS ${KWSYS_NAMESPACE}EncodeExecutable ${FWD})
+ ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.6)
+
+ # Make sure build occurs in proper order.
diff --git a/src/vtk-4-compile-tools.patch b/src/vtk-4-compile-tools.patch
new file mode 100644
index 0000000..54713d8
--- /dev/null
+++ b/src/vtk-4-compile-tools.patch
@@ -0,0 +1,61 @@
+--- VTK/Utilities/vtkhdf5/src/CMakeLists.txt 2011-08-24 15:37:13.000000000 +0200
++++ VTK/Utilities/vtkhdf5/src/CMakeLists.txt 2011-10-30 00:13:16.798098058 +0200
+@@ -572,34 +572,40 @@
+ # Setup the H5Detect utility which generates H5Tinit with platform
+ # specific type checks inside
+ #-----------------------------------------------------------------------------
+-SET (CMD ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${CFG_INIT}/H5detect${EXE_EXT})
+-IF (XCODE)
+- SET (CMD "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/\${CONFIGURATION}/H5detect")
+-ENDIF (XCODE)
+-ADD_EXECUTABLE (H5detect ${HDF5_SRC_DIR}/H5detect.c)
+-IF (WIN32)
+- TARGET_LINK_LIBRARIES (H5detect "ws2_32.lib")
+-ENDIF (WIN32)
++IF(NOT CMAKE_CROSSCOMPILING)
++ ADD_EXECUTABLE (H5detect ${HDF5_SRC_DIR}/H5detect.c)
++ IF (WIN32)
++ TARGET_LINK_LIBRARIES (H5detect "ws2_32.lib")
++ ENDIF (WIN32)
++
++ EXPORT(TARGETS H5detect FILE ${EXPORT_EXECUTABLES_FILE} NAMESPACE "${EXPORT_EXECUTABLES_NAMESPACE}" APPEND)
++ IF(COMPILE_TOOLS_TARGET)
++ ADD_DEPENDENCIES(${COMPILE_TOOLS_TARGET} H5detect)
++ ENDIF(COMPILE_TOOLS_TARGET)
++ENDIF(NOT CMAKE_CROSSCOMPILING)
+
+ ADD_CUSTOM_COMMAND (
+ OUTPUT ${HDF5_BINARY_DIR}/H5Tinit.c
+- COMMAND ${CMD}
++ COMMAND H5detect
+ ARGS > ${HDF5_BINARY_DIR}/H5Tinit.c
+ DEPENDS H5detect
+ )
+
+-SET (CMDL ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${CFG_INIT}/H5make_libsettings${EXE_EXT})
+-IF (XCODE)
+- SET (CMDL "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/\${CONFIGURATION}/H5make_libsettings")
+-ENDIF (XCODE)
+-ADD_EXECUTABLE (H5make_libsettings ${HDF5_SRC_DIR}/H5make_libsettings.c)
+-IF (WIN32)
+- TARGET_LINK_LIBRARIES (H5make_libsettings "ws2_32.lib")
+-ENDIF (WIN32)
++IF(NOT CMAKE_CROSSCOMPILING)
++ ADD_EXECUTABLE (H5make_libsettings ${HDF5_SRC_DIR}/H5make_libsettings.c)
++ IF (WIN32)
++ TARGET_LINK_LIBRARIES (H5make_libsettings "ws2_32.lib")
++ ENDIF (WIN32)
+
++ EXPORT(TARGETS H5make_libsettings FILE ${EXPORT_EXECUTABLES_FILE} NAMESPACE "${EXPORT_EXECUTABLES_NAMESPACE}" APPEND)
++ IF(COMPILE_TOOLS_TARGET)
++ ADD_DEPENDENCIES(${COMPILE_TOOLS_TARGET} H5make_libsettings)
++ ENDIF(COMPILE_TOOLS_TARGET)
++ENDIF(NOT CMAKE_CROSSCOMPILING)
++
+ ADD_CUSTOM_COMMAND (
+ OUTPUT ${HDF5_BINARY_DIR}/H5lib_settings.c
+- COMMAND ${CMDL}
++ COMMAND H5make_libsettings
+ ARGS > ${HDF5_BINARY_DIR}/H5lib_settings.c
+ DEPENDS H5make_libsettings
+ )
diff --git a/src/vtk.mk b/src/vtk.mk
index 6382571..c69ca87 100644
--- a/src/vtk.mk
+++ b/src/vtk.mk
@@ -16,12 +16,17 @@ define $(PKG)_UPDATE
endef
define $(PKG)_BUILD
+
+ # first we need a native build for compile tools
mkdir '$(1)/native_build'
cd '$(1)/native_build' && cmake \
-DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)'\
+ -DCMAKE_BUILD_TYPE='Release'\
..
+ # only the Utilities need to be built
$(MAKE) -C '$(1)/native_build/Utilities' -j '$(JOBS)' VERBOSE=1
-
+
+ # now for the cross compilation
mkdir '$(1)/cross_build'
cd '$(1)/cross_build' && cmake \
-C '$(1)/TryRunResults.cmake'\