changeset 2063:3623b7b968d0

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
author Muellni <mmuellen@gmx.de>
date Mon, 31 Oct 2011 09:44:38 +0100
parents e251e813dbb8
children 2ca0ca8f7a9f
files src/vtk-3-compile-tools.patch src/vtk-4-compile-tools.patch src/vtk.mk
diffstat 3 files changed, 84 insertions(+), 68 deletions(-) [+]
line wrap: on
line diff
--- a/src/vtk-3-compile-tools.patch	Mon Oct 31 09:04:03 2011 +0100
+++ b/src/vtk-3-compile-tools.patch	Mon Oct 31 09:44:38 2011 +0100
@@ -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.
--- a/src/vtk-4-compile-tools.patch	Mon Oct 31 09:04:03 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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
- )
--- a/src/vtk.mk	Mon Oct 31 09:04:03 2011 +0100
+++ b/src/vtk.mk	Mon Oct 31 09:44:38 2011 +0100
@@ -17,14 +17,12 @@
 
 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'