From f8e628bfb81b1008d31c58339011419bb0137206 Mon Sep 17 00:00:00 2001 From: Muellni Date: Mon, 31 Oct 2011 09:04:03 +0100 Subject: [PATCH] vtk patch for building without wine --- src/vtk-3-compile-tools.patch | 55 +++++++++++++++++++++++++++++++ src/vtk-4-compile-tools.patch | 61 +++++++++++++++++++++++++++++++++++ src/vtk.mk | 7 +++- 3 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 src/vtk-3-compile-tools.patch create mode 100644 src/vtk-4-compile-tools.patch diff --git a/src/vtk-3-compile-tools.patch b/src/vtk-3-compile-tools.patch new file mode 100644 index 00000000..82d23c8f --- /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 00000000..54713d89 --- /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 6382571a..c69ca87e 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'\