mxe/src/vtk-3-compile-tools.patch

141 lines
5.8 KiB
Diff

# This file is part of MXE.
# See index.html for further information.
This patch has been taken from:
http://www.vtk.org/Bug/view.php?id=12686
--- 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.
--- 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.