From e288002301bc1ab186f1348488cc608054749cad Mon Sep 17 00:00:00 2001 From: Muellni Date: Mon, 31 Oct 2011 09:44:38 +0100 Subject: [PATCH] package vtk: consolidate patch file and add tools target merged compile tools patches into one patch file and added a CompileTools target for compiling only the compile tools during the native build --- src/vtk-3-compile-tools.patch | 79 +++++++++++++++++++++++++++++++++++ src/vtk-4-compile-tools.patch | 61 --------------------------- src/vtk.mk | 12 +++--- 3 files changed, 84 insertions(+), 68 deletions(-) delete mode 100644 src/vtk-4-compile-tools.patch diff --git a/src/vtk-3-compile-tools.patch b/src/vtk-3-compile-tools.patch index 82d23c8f..290ba636 100644 --- a/src/vtk-3-compile-tools.patch +++ b/src/vtk-3-compile-tools.patch @@ -53,3 +53,82 @@ ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.6) # Make sure build occurs in proper order. + +--- 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 + ) + +--- VTK/CMakeLists.txt 2011-08-24 15:37:07.000000000 +0200 ++++ VTK/CMakeLists.txt 2011-10-31 09:12:59.451958504 +0100 +@@ -42,8 +42,13 @@ + FILE(WRITE "${EXPORT_EXECUTABLES_FILE}" "#generated by VTK, do not edit\n") + ENDIF(NOT EXPORT_EXECUTABLES_FILE) + ++# Add a target for building only the compile tools ++ADD_CUSTOM_TARGET(CompileTools) ++SET(COMPILE_TOOLS_TARGET "CompileTools") ++ + GET_PROPERTY(VTK_TARGET_SUPPORTS_SHARED_LIBS + GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS) ++ + + # Warn when using "old style" CMake install commands... But only when + # building VTK itself. diff --git a/src/vtk-4-compile-tools.patch b/src/vtk-4-compile-tools.patch deleted file mode 100644 index 54713d89..00000000 --- a/src/vtk-4-compile-tools.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- 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 c69ca87e..ddc46154 100644 --- a/src/vtk.mk +++ b/src/vtk.mk @@ -17,14 +17,12 @@ endef define $(PKG)_BUILD - # first we need a native build for compile tools + # first we need a native build to create the 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 + cd '$(1)/native_build' && cmake -DCMAKE_BUILD_TYPE='Release' .. + + # only the newly created CompileTools target need to be built + $(MAKE) -C '$(1)/native_build' -j '$(JOBS)' VERBOSE=1 CompileTools # now for the cross compilation mkdir '$(1)/cross_build'