diff --git a/Patches/README.md b/Patches/README.md new file mode 100644 index 0000000..fb54cfe --- /dev/null +++ b/Patches/README.md @@ -0,0 +1,24 @@ +This directory contains patch files to enable cotire for some popular open sources packages that +use CMake as a build system. + +For example, to apply Cotire to LLVM 3.0, first copy `cotire.cmake` to a directory on the CMake +module search path (e.g., `llvm-3.0.src/cmake/modules`). + +Then apply the corresponding patch: + + $ cd /path/to/llvm-3.0.src + $ patch -p1 < /path/to/llvm-3.0.src.patch + +Then proceed with an out-of-source Cmake build: + + $ mkdir build; cd build + $ cmake .. + -- The C compiler identification is GNU 4.2.1 + -- The CXX compiler identification is Clang 3.1.0 + ... + $ make + [ 0%] Generating C unity source lib/Support/cotire/LLVMSupport_C_unity.c + [ 0%] Generating CXX unity source lib/Support/cotire/LLVMSupport_CXX_unity.cxx + [ 0%] Generating CXX prefix header lib/Support/cotire/LLVMSupport_CXX_prefix.hxx + [ 0%] Building CXX precompiled header lib/Support/cotire/LLVMSupport_CXX_prefix.hxx.gch + ... diff --git a/Patches/bullet-2.80-rev2531.patch b/Patches/bullet-2.80-rev2531.patch new file mode 100644 index 0000000..ac5a217 --- /dev/null +++ b/Patches/bullet-2.80-rev2531.patch @@ -0,0 +1,389 @@ +diff -rupN bullet-2.80-rev2531/CMakeLists.txt bullet-2.80-rev2531.cotire/CMakeLists.txt +--- bullet-2.80-rev2531/CMakeLists.txt 2012-03-03 04:15:04.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/CMakeLists.txt 2012-03-24 20:40:40.000000000 +0100 +@@ -11,6 +11,7 @@ IF(COMMAND cmake_policy) + cmake_policy(SET CMP0003 NEW) + ENDIF(COMMAND cmake_policy) + ++include("${CMAKE_SOURCE_DIR}/cotire.cmake") + + IF (NOT CMAKE_BUILD_TYPE) + # SET(CMAKE_BUILD_TYPE "Debug") +diff -rupN bullet-2.80-rev2531/Demos/OpenGL/CMakeLists.txt bullet-2.80-rev2531.cotire/Demos/OpenGL/CMakeLists.txt +--- bullet-2.80-rev2531/Demos/OpenGL/CMakeLists.txt 2011-09-13 03:52:42.000000000 +0200 ++++ bullet-2.80-rev2531.cotire/Demos/OpenGL/CMakeLists.txt 2012-03-24 20:35:19.000000000 +0100 +@@ -65,3 +65,7 @@ IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (INSTALL_EXTRA_LIBS) + ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) ++ ++if (COMMAND cotire) ++ cotire(OpenGLSupport) ++endif() +diff -rupN bullet-2.80-rev2531/Extras/ConvexDecomposition/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/ConvexDecomposition/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/ConvexDecomposition/CMakeLists.txt 2010-09-18 02:24:50.000000000 +0200 ++++ bullet-2.80-rev2531.cotire/Extras/ConvexDecomposition/CMakeLists.txt 2012-03-24 20:35:36.000000000 +0100 +@@ -62,3 +62,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_EXTRA_LIBS) ++ ++if (COMMAND cotire) ++ cotire(ConvexDecomposition) ++endif() +diff -rupN bullet-2.80-rev2531/Extras/GIMPACTUtils/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/GIMPACTUtils/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/GIMPACTUtils/CMakeLists.txt 2010-09-18 02:24:50.000000000 +0200 ++++ bullet-2.80-rev2531.cotire/Extras/GIMPACTUtils/CMakeLists.txt 2012-03-24 20:35:42.000000000 +0100 +@@ -35,3 +35,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_EXTRA_LIBS) ++ ++if (COMMAND cotire) ++ cotire(GIMPACTUtils) ++endif() +diff -rupN bullet-2.80-rev2531/Extras/HACD/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/HACD/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/HACD/CMakeLists.txt 2011-07-07 02:28:15.000000000 +0200 ++++ bullet-2.80-rev2531.cotire/Extras/HACD/CMakeLists.txt 2012-03-24 20:36:03.000000000 +0100 +@@ -49,3 +49,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + + ENDIF (INSTALL_EXTRA_LIBS) + ++ + ++if (COMMAND cotire) + ++ cotire(HACD) + ++endif() + +diff -rupN bullet-2.80-rev2531/Extras/PhysicsEffects/src/base_level/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/PhysicsEffects/src/base_level/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/PhysicsEffects/src/base_level/CMakeLists.txt 2012-03-05 05:59:58.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/Extras/PhysicsEffects/src/base_level/CMakeLists.txt 2012-03-24 20:36:29.000000000 +0100 +@@ -75,3 +75,7 @@ ADD_LIBRARY(PfxBaseLevel ${PfxBaseLevel_ + + + SET_TARGET_PROPERTIES(PfxBaseLevel PROPERTIES VERSION ${BULLET_VERSION}) + + SET_TARGET_PROPERTIES(PfxBaseLevel PROPERTIES SOVERSION ${BULLET_VERSION}) + ++ + ++if (COMMAND cotire) + ++ cotire(PfxBaseLevel) + ++endif() + +diff -rupN bullet-2.80-rev2531/Extras/PhysicsEffects/src/low_level/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/PhysicsEffects/src/low_level/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/PhysicsEffects/src/low_level/CMakeLists.txt 2012-03-05 05:59:58.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/Extras/PhysicsEffects/src/low_level/CMakeLists.txt 2012-03-24 20:36:39.000000000 +0100 +@@ -27,3 +27,7 @@ ADD_LIBRARY(PfxLowLevel ${PfxLowLevel_SR + + + SET_TARGET_PROPERTIES(PfxLowLevel PROPERTIES VERSION ${BULLET_VERSION}) + + SET_TARGET_PROPERTIES(PfxLowLevel PROPERTIES SOVERSION ${BULLET_VERSION}) + ++ + ++if (COMMAND cotire) + ++ cotire(PfxLowLevel) + ++endif() + +diff -rupN bullet-2.80-rev2531/Extras/PhysicsEffects/src/util/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/PhysicsEffects/src/util/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/PhysicsEffects/src/util/CMakeLists.txt 2012-03-05 05:59:58.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/Extras/PhysicsEffects/src/util/CMakeLists.txt 2012-03-24 20:36:47.000000000 +0100 +@@ -18,3 +18,7 @@ ADD_LIBRARY(PfxUtil ${PfxUtil_SRCS} ${Pf + + + SET_TARGET_PROPERTIES(PfxUtil PROPERTIES VERSION ${BULLET_VERSION}) + + SET_TARGET_PROPERTIES(PfxUtil PROPERTIES SOVERSION ${BULLET_VERSION}) + ++ + ++if (COMMAND cotire) + ++ cotire(PfxUtil) + ++endif() + +diff -rupN bullet-2.80-rev2531/Extras/Serialize/BlenderSerialize/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/Serialize/BlenderSerialize/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/Serialize/BlenderSerialize/CMakeLists.txt 2010-03-06 16:23:36.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/Extras/Serialize/BlenderSerialize/CMakeLists.txt 2012-03-24 20:36:55.000000000 +0100 +@@ -5,3 +5,7 @@ ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Seri + ) + + ADD_LIBRARY(BlenderSerialize dna249.cpp dna249-64bit.cpp bBlenderFile.cpp bBlenderFile.h bMain.cpp bMain.h ) ++ ++if (COMMAND cotire) ++ cotire(BlenderSerialize) ++endif() +diff -rupN bullet-2.80-rev2531/Extras/Serialize/BulletFileLoader/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/Serialize/BulletFileLoader/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/Serialize/BulletFileLoader/CMakeLists.txt 2012-02-29 05:43:51.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/Extras/Serialize/BulletFileLoader/CMakeLists.txt 2012-03-24 20:37:05.000000000 +0100 +@@ -47,3 +47,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_EXTRA_LIBS) ++ ++if (COMMAND cotire) ++ cotire(BulletFileLoader) ++endif() +diff -rupN bullet-2.80-rev2531/Extras/Serialize/BulletWorldImporter/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/Serialize/BulletWorldImporter/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/Serialize/BulletWorldImporter/CMakeLists.txt 2012-02-29 05:43:51.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/Extras/Serialize/BulletWorldImporter/CMakeLists.txt 2012-03-24 20:37:15.000000000 +0100 +@@ -36,3 +36,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_EXTRA_LIBS) ++ ++if (COMMAND cotire) ++ cotire(BulletWorldImporter) ++endif() +diff -rupN bullet-2.80-rev2531/Extras/Serialize/makesdna/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/Serialize/makesdna/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/Serialize/makesdna/CMakeLists.txt 2010-03-06 16:23:36.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/Extras/Serialize/makesdna/CMakeLists.txt 2012-03-24 20:37:26.000000000 +0100 +@@ -35,3 +35,7 @@ SET(SRC ${BULLET_PHYSICS_SOURCE_DIR}/sr + ADD_LIBRARY(BulletDNA ${SRC} ${INC_FILES}) + + MESSAGE(STATUS "Configuring makesdna") ++ ++if (COMMAND cotire) ++ cotire(BulletDNA) ++endif() +diff -rupN bullet-2.80-rev2531/Extras/glui/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/glui/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/glui/CMakeLists.txt 2010-03-06 16:23:36.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/Extras/glui/CMakeLists.txt 2012-03-24 20:35:51.000000000 +0100 +@@ -64,3 +64,7 @@ arcball.cpp glui_button.cpp glui_fil + IF (BUILD_SHARED_LIBS) + TARGET_LINK_LIBRARIES(GLUI ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}) + ENDIF (BUILD_SHARED_LIBS) ++ ++if (COMMAND cotire) ++ cotire(GLUI) ++endif() +diff -rupN bullet-2.80-rev2531/Extras/iff/CMakeLists.txt bullet-2.80-rev2531.cotire/Extras/iff/CMakeLists.txt +--- bullet-2.80-rev2531/Extras/iff/CMakeLists.txt 2010-03-06 16:23:36.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/Extras/iff/CMakeLists.txt 2012-03-24 20:36:12.000000000 +0100 +@@ -9,3 +9,7 @@ iffw.cpp + ) + + #SUBDIRS( BulletIffConverter ) ++ ++if (COMMAND cotire) ++ cotire(Iff) ++endif() +diff -rupN bullet-2.80-rev2531/UnitTests/cppunit/CMakeLists.txt bullet-2.80-rev2531.cotire/UnitTests/cppunit/CMakeLists.txt +--- bullet-2.80-rev2531/UnitTests/cppunit/CMakeLists.txt 2010-07-24 00:09:57.000000000 +0200 ++++ bullet-2.80-rev2531.cotire/UnitTests/cppunit/CMakeLists.txt 2012-03-24 20:39:51.000000000 +0100 +@@ -71,4 +71,8 @@ ADD_LIBRARY(cppunit + + src/cppunit/XmlDocument.cpp + + src/cppunit/XmlElement.cpp + + + +-) +\ No newline at end of file ++) + ++ + ++if (COMMAND cotire) + ++ cotire(cppunit) + ++endif() + +diff -rupN bullet-2.80-rev2531/src/BulletCollision/CMakeLists.txt bullet-2.80-rev2531.cotire/src/BulletCollision/CMakeLists.txt +--- bullet-2.80-rev2531/src/BulletCollision/CMakeLists.txt 2012-02-29 06:19:22.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/src/BulletCollision/CMakeLists.txt 2012-03-24 20:37:38.000000000 +0100 +@@ -277,3 +277,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/Bulle + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_LIBS) ++ ++if (COMMAND cotire) ++ cotire(BulletCollision) ++endif() +diff -rupN bullet-2.80-rev2531/src/BulletDynamics/CMakeLists.txt bullet-2.80-rev2531.cotire/src/BulletDynamics/CMakeLists.txt +--- bullet-2.80-rev2531/src/BulletDynamics/CMakeLists.txt 2011-09-15 20:47:13.000000000 +0200 ++++ bullet-2.80-rev2531.cotire/src/BulletDynamics/CMakeLists.txt 2012-03-24 20:43:34.000000000 +0100 +@@ -110,3 +110,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/Bulle + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_LIBS) ++ ++if (COMMAND cotire) ++ cotire(BulletDynamics) ++endif() +diff -rupN bullet-2.80-rev2531/src/BulletMultiThreaded/CMakeLists.txt bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/CMakeLists.txt +--- bullet-2.80-rev2531/src/BulletMultiThreaded/CMakeLists.txt 2012-02-29 06:19:22.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/CMakeLists.txt 2012-03-24 20:37:58.000000000 +0100 +@@ -121,3 +121,6 @@ PATTERN "*.h" PATTERN ".svn" EXCLUDE PA + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_LIBS) + ++if (COMMAND cotire) ++ cotire(BulletMultiThreaded) ++endif() +diff -rupN bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/DX11/CMakeLists.txt bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/DX11/CMakeLists.txt +--- bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/DX11/CMakeLists.txt 2011-11-11 20:00:26.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/DX11/CMakeLists.txt 2012-03-24 20:38:09.000000000 +0100 +@@ -81,3 +81,7 @@ IF (INSTALL_LIBS) + + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + + ENDIF (INSTALL_LIBS) + ++ + ++if (COMMAND cotire) + ++ cotire(BulletSoftBodySolvers_DX11) + ++endif() + +diff -rupN bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/AMD/CMakeLists.txt bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/AMD/CMakeLists.txt +--- bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/AMD/CMakeLists.txt 2011-12-20 19:03:24.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/AMD/CMakeLists.txt 2012-03-24 20:38:22.000000000 +0100 +@@ -60,3 +60,7 @@ IF (INSTALL_LIBS) + + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + + ENDIF (INSTALL_LIBS) + ++ + ++if (COMMAND cotire) + ++ cotire(BulletSoftBodySolvers_OpenCL_AMD) + ++endif() + +diff -rupN bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/Apple/CMakeLists.txt bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/Apple/CMakeLists.txt +--- bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/Apple/CMakeLists.txt 2011-11-11 20:00:26.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/Apple/CMakeLists.txt 2012-03-24 20:38:38.000000000 +0100 +@@ -75,3 +75,7 @@ IF (INSTALL_LIBS) + + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + + ENDIF (INSTALL_LIBS) + ++ + ++if (COMMAND cotire) + ++ cotire(BulletSoftBodySolvers_OpenCL_Apple) + ++endif() + +diff -rupN bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/Intel/CMakeLists.txt bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/Intel/CMakeLists.txt +--- bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/Intel/CMakeLists.txt 2011-12-20 19:03:24.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/Intel/CMakeLists.txt 2012-03-24 20:38:51.000000000 +0100 +@@ -80,3 +80,7 @@ IF (INSTALL_LIBS) + + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + + ENDIF (INSTALL_LIBS) + ++ + ++if (COMMAND cotire) + ++ cotire(BulletSoftBodySolvers_OpenCL_Intel) + ++endif() + +diff -rupN bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/MiniCL/CMakeLists.txt bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/MiniCL/CMakeLists.txt +--- bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/MiniCL/CMakeLists.txt 2011-11-11 20:00:26.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/MiniCL/CMakeLists.txt 2012-03-24 20:39:00.000000000 +0100 +@@ -73,3 +73,7 @@ IF (INSTALL_LIBS) + + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + + ENDIF (INSTALL_LIBS) + ++ + ++if (COMMAND cotire) + ++ cotire(BulletSoftBodySolvers_OpenCL_Mini) + ++endif() + +diff -rupN bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/NVidia/CMakeLists.txt bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/NVidia/CMakeLists.txt +--- bullet-2.80-rev2531/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/NVidia/CMakeLists.txt 2011-12-20 19:03:24.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/NVidia/CMakeLists.txt 2012-03-24 20:39:08.000000000 +0100 +@@ -79,3 +79,7 @@ IF (INSTALL_LIBS) + + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + + ENDIF (INSTALL_LIBS) + ++ + ++if (COMMAND cotire) + ++ cotire(BulletSoftBodySolvers_OpenCL_NVidia) + ++endif() + +diff -rupN bullet-2.80-rev2531/src/BulletSoftBody/CMakeLists.txt bullet-2.80-rev2531.cotire/src/BulletSoftBody/CMakeLists.txt +--- bullet-2.80-rev2531/src/BulletSoftBody/CMakeLists.txt 2010-12-01 06:55:08.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/src/BulletSoftBody/CMakeLists.txt 2012-03-24 20:39:20.000000000 +0100 +@@ -63,3 +63,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_LIBS) ++ ++if (COMMAND cotire) ++ cotire(BulletSoftBody) ++endif() +diff -rupN bullet-2.80-rev2531/src/LinearMath/CMakeLists.txt bullet-2.80-rev2531.cotire/src/LinearMath/CMakeLists.txt +--- bullet-2.80-rev2531/src/LinearMath/CMakeLists.txt 2011-11-11 21:11:03.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/src/LinearMath/CMakeLists.txt 2012-03-24 20:39:28.000000000 +0100 +@@ -64,3 +64,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR} FILES + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + ENDIF (INSTALL_LIBS) ++ ++if (COMMAND cotire) ++ cotire(LinearMath) ++endif() +diff -rupN bullet-2.80-rev2531/src/MiniCL/CMakeLists.txt bullet-2.80-rev2531.cotire/src/MiniCL/CMakeLists.txt +--- bullet-2.80-rev2531/src/MiniCL/CMakeLists.txt 2012-02-29 06:19:22.000000000 +0100 ++++ bullet-2.80-rev2531.cotire/src/MiniCL/CMakeLists.txt 2012-03-24 20:39:38.000000000 +0100 +@@ -64,3 +64,6 @@ PATTERN "*.h" PATTERN ".svn" EXCLUDE PA + ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) + + ENDIF (INSTALL_LIBS) + + + ++if (COMMAND cotire) + ++ cotire(MiniCL) + ++endif() + diff --git a/Patches/clang-3.0.src.patch b/Patches/clang-3.0.src.patch new file mode 100644 index 0000000..9a4d5be --- /dev/null +++ b/Patches/clang-3.0.src.patch @@ -0,0 +1,35 @@ +diff -rupN clang-3.0.src/CMakeLists.txt clang-3.0.src.cotire/CMakeLists.txt +--- clang-3.0.src/CMakeLists.txt 2011-10-06 15:03:08.000000000 +0200 ++++ clang-3.0.src.cotire/CMakeLists.txt 2012-03-24 14:04:10.000000000 +0100 +@@ -36,6 +36,7 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR + include(TableGen) + include("${CLANG_PATH_TO_LLVM_BUILD}/share/llvm/cmake/LLVMConfig.cmake") + include(HandleLLVMOptions) ++ include(cotire) + + set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}") + +@@ -206,6 +207,11 @@ macro(add_clang_library name) + LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} + ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) + set_target_properties(${name} PROPERTIES FOLDER "Clang libraries") ++ if (COMMAND cotire) ++ if (NOT "${name}" MATCHES "libclang") ++ cotire(${name}) ++ endif() ++ endif() + endmacro(add_clang_library) + + macro(add_clang_executable name) +diff -rupN clang-3.0.src/tools/libclang/CMakeLists.txt clang-3.0.src.cotire/tools/libclang/CMakeLists.txt +--- clang-3.0.src/tools/libclang/CMakeLists.txt 2011-10-06 09:00:54.000000000 +0200 ++++ clang-3.0.src.cotire/tools/libclang/CMakeLists.txt 2012-03-24 14:05:02.000000000 +0100 +@@ -70,3 +70,8 @@ if( NOT BUILD_SHARED_LIBS AND NOT WIN32 + PROPERTIES + OUTPUT_NAME "libclang") + endif() ++ ++if (COMMAND cotire) ++ cotire(libclang) ++ cotire(${LIBCLANG_STATIC_TARGET_NAME}) ++endif() diff --git a/Patches/clapack-3.2.1-CMAKE.patch b/Patches/clapack-3.2.1-CMAKE.patch new file mode 100644 index 0000000..61dfafe --- /dev/null +++ b/Patches/clapack-3.2.1-CMAKE.patch @@ -0,0 +1,93 @@ +diff -rupN clapack-3.2.1-CMAKE/BLAS/SRC/CMakeLists.txt clapack-3.2.1-CMAKE.cotire/BLAS/SRC/CMakeLists.txt +--- clapack-3.2.1-CMAKE/BLAS/SRC/CMakeLists.txt 2009-08-14 22:16:25.000000000 +0200 ++++ clapack-3.2.1-CMAKE.cotire/BLAS/SRC/CMakeLists.txt 2012-03-24 19:59:26.000000000 +0100 +@@ -141,3 +141,13 @@ if(UNIX) + target_link_libraries(blas m) + endif() + target_link_libraries(blas f2c) ++ ++if (COMMAND cotire) ++ cotire(blas) ++ if (TARGET blas_unity) ++ if(UNIX) ++ target_link_libraries(blas_unity m) ++ endif() ++ target_link_libraries(blas_unity f2c_unity) ++ endif() ++endif() +diff -rupN clapack-3.2.1-CMAKE/CMakeLists.txt clapack-3.2.1-CMAKE.cotire/CMakeLists.txt +--- clapack-3.2.1-CMAKE/CMakeLists.txt 2009-08-10 20:46:33.000000000 +0200 ++++ clapack-3.2.1-CMAKE.cotire/CMakeLists.txt 2012-03-24 19:56:58.000000000 +0100 +@@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 2.6) + project(CLAPACK C) + enable_testing() + include(CTest) ++include("${CMAKE_SOURCE_DIR}/cotire.cmake") + + if(WIN32 AND NOT CYGWIN) + set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c) +diff -rupN clapack-3.2.1-CMAKE/F2CLIBS/libf2c/CMakeLists.txt clapack-3.2.1-CMAKE.cotire/F2CLIBS/libf2c/CMakeLists.txt +--- clapack-3.2.1-CMAKE/F2CLIBS/libf2c/CMakeLists.txt 2009-08-10 20:06:06.000000000 +0200 ++++ clapack-3.2.1-CMAKE.cotire/F2CLIBS/libf2c/CMakeLists.txt 2012-03-24 19:58:41.000000000 +0100 +@@ -60,3 +60,6 @@ include_directories(${CLAPACK_SOURCE_DIR + include_directories(${CLAPACK_BINARY_DIR}/F2CLIBS/libf2c) + add_library(f2c ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h) + set_property(TARGET f2c PROPERTY PREFIX lib) ++if (COMMAND cotire) ++ cotire(f2c) ++endif() +diff -rupN clapack-3.2.1-CMAKE/SRC/CMakeLists.txt clapack-3.2.1-CMAKE.cotire/SRC/CMakeLists.txt +--- clapack-3.2.1-CMAKE/SRC/CMakeLists.txt 2009-08-10 19:47:54.000000000 +0200 ++++ clapack-3.2.1-CMAKE.cotire/SRC/CMakeLists.txt 2012-03-24 19:59:20.000000000 +0100 +@@ -378,3 +378,9 @@ endif() + add_library(lapack ${ALLOBJ} ${ALLXOBJ}) + target_link_libraries(lapack blas) + ++if (COMMAND cotire) ++ cotire(lapack) ++ if (TARGET lapack_unity) ++ target_link_libraries(lapack_unity blas_unity) ++ endif() ++endif() +diff -rupN clapack-3.2.1-CMAKE/TESTING/EIG/CMakeLists.txt clapack-3.2.1-CMAKE.cotire/TESTING/EIG/CMakeLists.txt +--- clapack-3.2.1-CMAKE/TESTING/EIG/CMakeLists.txt 2009-08-10 19:47:54.000000000 +0200 ++++ clapack-3.2.1-CMAKE.cotire/TESTING/EIG/CMakeLists.txt 2012-03-24 20:07:55.000000000 +0100 +@@ -120,6 +120,12 @@ set(ZEIGTST zchkee.c + macro(add_eig_executable name ) + add_executable(${name} ${ARGN}) + target_link_libraries(${name} tmglib lapack ) ++ if (COMMAND cotire) ++ cotire(${name}) ++ if (TARGET ${name}_unity) ++ target_link_libraries(${name}_unity tmglib lapack ) ++ endif() ++ endif() + endmacro(add_eig_executable) + + add_eig_executable(xeigtsts ${SEIGTST} ${SCIGTST} ${AEIGTST} +diff -rupN clapack-3.2.1-CMAKE/TESTING/LIN/CMakeLists.txt clapack-3.2.1-CMAKE.cotire/TESTING/LIN/CMakeLists.txt +--- clapack-3.2.1-CMAKE/TESTING/LIN/CMakeLists.txt 2009-08-10 20:06:06.000000000 +0200 ++++ clapack-3.2.1-CMAKE.cotire/TESTING/LIN/CMakeLists.txt 2012-03-24 20:08:13.000000000 +0100 +@@ -190,6 +190,12 @@ set(ZLINTSTRFP zchkrfp.c zdrvrfp.c zdrv + macro(add_lin_executable name ) + add_executable(${name} ${ARGN}) + target_link_libraries(${name} tmglib lapack) ++ if (COMMAND cotire) ++ cotire(${name}) ++ if (TARGET ${name}_unity) ++ target_link_libraries(${name}_unity tmglib lapack ) ++ endif() ++ endif() + endmacro(add_lin_executable) + + add_lin_executable(xlintsts ${ALINTST} ${SCLNTST} ${SLINTST} +diff -rupN clapack-3.2.1-CMAKE/TESTING/MATGEN/CMakeLists.txt clapack-3.2.1-CMAKE.cotire/TESTING/MATGEN/CMakeLists.txt +--- clapack-3.2.1-CMAKE/TESTING/MATGEN/CMakeLists.txt 2009-08-10 19:47:54.000000000 +0200 ++++ clapack-3.2.1-CMAKE.cotire/TESTING/MATGEN/CMakeLists.txt 2012-03-24 20:05:19.000000000 +0100 +@@ -67,3 +67,6 @@ if(BUILD_COMPLEX16) + endif() + add_library(tmglib ${ALLOBJ} ) + ++if (COMMAND cotire) ++ cotire(tmglib) ++endif() diff --git a/Patches/cmake-2.8.7.patch b/Patches/cmake-2.8.7.patch new file mode 100644 index 0000000..d80a223 --- /dev/null +++ b/Patches/cmake-2.8.7.patch @@ -0,0 +1,218 @@ +diff -rupN cmake-2.8.7/CMakeLists.txt cmake-2.8.7.cotire/CMakeLists.txt +--- cmake-2.8.7/CMakeLists.txt 2011-12-30 17:49:56.000000000 +0100 ++++ cmake-2.8.7.cotire/CMakeLists.txt 2012-03-24 14:41:40.000000000 +0100 +@@ -13,6 +13,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FAT + SET(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required + PROJECT(CMake) + ++include(Modules/cotire.cmake) ++ + IF(CMAKE_BOOTSTRAP) + # Running from bootstrap script. Set local variable and remove from cache. + SET(CMAKE_BOOTSTRAP 1) +diff -rupN cmake-2.8.7/Source/CMakeLists.txt cmake-2.8.7.cotire/Source/CMakeLists.txt +--- cmake-2.8.7/Source/CMakeLists.txt 2011-12-30 17:49:56.000000000 +0100 ++++ cmake-2.8.7.cotire/Source/CMakeLists.txt 2012-02-24 22:35:58.000000000 +0100 +@@ -364,6 +364,9 @@ TARGET_LINK_LIBRARIES(CMakeLib cmsys + IF(APPLE) + TARGET_LINK_LIBRARIES(CMakeLib "-framework CoreFoundation") + ENDIF(APPLE) ++if (COMMAND cotire) ++cotire(CMakeLib) ++endif() + + # On some platforms we need the rpcrt4 library for the VS 7 generators. + IF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW) +@@ -433,6 +436,9 @@ SET(CTEST_SRCS cmCTest.cxx + # Build CTestLib + ADD_LIBRARY(CTestLib ${CTEST_SRCS}) + TARGET_LINK_LIBRARIES(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES}) ++if (COMMAND cotire) ++cotire(CTestLib) ++endif() + + # + # Sources for CPack +@@ -477,6 +483,9 @@ ENDIF(APPLE) + # Build CPackLib + ADD_LIBRARY(CPackLib ${CPACK_SRCS}) + TARGET_LINK_LIBRARIES(CPackLib CMakeLib) ++if (COMMAND cotire) ++cotire(CPackLib) ++endif() + + IF(APPLE) + ADD_EXECUTABLE(cmakexbuild cmakexbuild.cxx) +@@ -485,11 +494,17 @@ IF(APPLE) + CPack/OSXScriptLauncher.cxx) + TARGET_LINK_LIBRARIES(OSXScriptLauncher cmsys) + TARGET_LINK_LIBRARIES(OSXScriptLauncher "-framework CoreFoundation") ++if (COMMAND cotire) ++cotire(cmakexbuild) ++endif() + ENDIF(APPLE) + + # Build CMake executable + ADD_EXECUTABLE(cmake cmakemain.cxx) + TARGET_LINK_LIBRARIES(cmake CMakeLib) ++if (COMMAND cotire) ++cotire(cmake) ++endif() + + # Build special executable for running programs on Windows 98 + IF(WIN32) +@@ -503,10 +518,16 @@ ENDIF(WIN32) + # Build CTest executable + ADD_EXECUTABLE(ctest ctest.cxx) + TARGET_LINK_LIBRARIES(ctest CTestLib) ++if (COMMAND cotire) ++cotire(ctest) ++endif() + + # Build CPack executable + ADD_EXECUTABLE(cpack CPack/cpack.cxx) + TARGET_LINK_LIBRARIES(cpack CPackLib) ++if (COMMAND cotire) ++cotire(cpack) ++endif() + + # Curses GUI + IF(BUILD_CursesDialog) +diff -rupN cmake-2.8.7/Source/CursesDialog/CMakeLists.txt cmake-2.8.7.cotire/Source/CursesDialog/CMakeLists.txt +--- cmake-2.8.7/Source/CursesDialog/CMakeLists.txt 2011-12-30 17:49:57.000000000 +0100 ++++ cmake-2.8.7.cotire/Source/CursesDialog/CMakeLists.txt 2012-02-22 20:41:03.000000000 +0100 +@@ -33,5 +33,7 @@ INCLUDE_DIRECTORIES(${CURSES_INCLUDE_PAT + ADD_EXECUTABLE(ccmake ${CURSES_SRCS} ) + TARGET_LINK_LIBRARIES(ccmake CMakeLib) + TARGET_LINK_LIBRARIES(ccmake cmForm) +- ++if (COMMAND cotire) ++cotire(ccmake) ++endif() + INSTALL_TARGETS(/bin ccmake) +diff -rupN cmake-2.8.7/Source/CursesDialog/form/CMakeLists.txt cmake-2.8.7.cotire/Source/CursesDialog/form/CMakeLists.txt +--- cmake-2.8.7/Source/CursesDialog/form/CMakeLists.txt 2011-12-30 17:49:57.000000000 +0100 ++++ cmake-2.8.7.cotire/Source/CursesDialog/form/CMakeLists.txt 2012-02-24 21:30:47.000000000 +0100 +@@ -64,3 +64,6 @@ TARGET_LINK_LIBRARIES(cmForm ${CURSES_LI + IF(CURSES_EXTRA_LIBRARY) + TARGET_LINK_LIBRARIES(cmForm ${CURSES_EXTRA_LIBRARY}) + ENDIF(CURSES_EXTRA_LIBRARY) ++if (COMMAND cotire) ++cotire(cmForm) ++endif() +diff -rupN cmake-2.8.7/Source/kwsys/CMakeLists.txt cmake-2.8.7.cotire/Source/kwsys/CMakeLists.txt +--- cmake-2.8.7/Source/kwsys/CMakeLists.txt 2011-12-30 17:49:57.000000000 +0100 ++++ cmake-2.8.7.cotire/Source/kwsys/CMakeLists.txt 2012-03-24 15:03:17.000000000 +0100 +@@ -926,6 +926,9 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR) + ADD_LIBRARY(${KWSYS_NAMESPACE}TestDynload MODULE testDynload.c) + SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}TestDynload PROPERTY LABELS ${KWSYS_LABELS_LIB}) + ADD_DEPENDENCIES(${KWSYS_NAMESPACE}TestDynload ${KWSYS_NAMESPACE}) ++if (COMMAND cotire) ++cotire(${KWSYS_NAMESPACE}TestDynload) ++endif() + ENDIF(KWSYS_USE_DynamicLoader) + CREATE_TEST_SOURCELIST( + KWSYS_CXX_TEST_SRCS ${KWSYS_NAMESPACE}TestsCxx.cxx +@@ -934,6 +937,9 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR) + ADD_EXECUTABLE(${KWSYS_NAMESPACE}TestsCxx ${KWSYS_CXX_TEST_SRCS}) + SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}TestsCxx PROPERTY LABELS ${KWSYS_LABELS_EXE}) + TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE}TestsCxx ${KWSYS_NAMESPACE}) ++if (COMMAND cotire) ++cotire(${KWSYS_NAMESPACE}TestsCxx) ++endif() + SET(TEST_SYSTEMTOOLS_BIN_FILE + "${CMAKE_CURRENT_SOURCE_DIR}/testSystemTools.bin") + SET(TEST_SYSTEMTOOLS_SRC_FILE +diff -rupN cmake-2.8.7/Utilities/cmbzip2/CMakeLists.txt cmake-2.8.7.cotire/Utilities/cmbzip2/CMakeLists.txt +--- cmake-2.8.7/Utilities/cmbzip2/CMakeLists.txt 2011-12-30 17:49:58.000000000 +0100 ++++ cmake-2.8.7.cotire/Utilities/cmbzip2/CMakeLists.txt 2012-02-22 20:45:26.000000000 +0100 +@@ -2,3 +2,6 @@ project(bzip2) + add_definitions(-D_FILE_OFFSET_BITS=64) + add_library(cmbzip2 + blocksort.c huffman.c crctable.c randtable.c compress.c decompress.c bzlib.c) ++if (COMMAND cotire) ++cotire(cmbzip2) ++endif() +\ No newline at end of file +diff -rupN cmake-2.8.7/Utilities/cmcompress/CMakeLists.txt cmake-2.8.7.cotire/Utilities/cmcompress/CMakeLists.txt +--- cmake-2.8.7/Utilities/cmcompress/CMakeLists.txt 2011-12-30 17:49:58.000000000 +0100 ++++ cmake-2.8.7.cotire/Utilities/cmcompress/CMakeLists.txt 2012-02-22 20:45:29.000000000 +0100 +@@ -3,3 +3,6 @@ PROJECT(CMCompress) + ADD_LIBRARY(cmcompress cmcompress.c) + + INSTALL(FILES Copyright.txt DESTINATION ${CMake_DOC_DEST}/cmcompress) ++if (COMMAND cotire) ++cotire(cmcompress) ++endif() +\ No newline at end of file +diff -rupN cmake-2.8.7/Utilities/cmcurl/CMakeLists.txt cmake-2.8.7.cotire/Utilities/cmcurl/CMakeLists.txt +--- cmake-2.8.7/Utilities/cmcurl/CMakeLists.txt 2011-12-30 17:49:58.000000000 +0100 ++++ cmake-2.8.7.cotire/Utilities/cmcurl/CMakeLists.txt 2012-02-22 20:43:57.000000000 +0100 +@@ -706,6 +706,9 @@ IF(CMAKE_BUILD_CURL_SHARED) + RUNTIME_OUTPUT_DIRECTORY ${CMake_BIN_DIR}) + INSTALL_TARGETS(/bin cmcurl) + ENDIF(CMAKE_BUILD_CURL_SHARED) ++if (COMMAND cotire) ++cotire(cmcurl) ++endif() + + OPTION(CURL_TESTING "Do libCurl testing" OFF) + IF(CURL_TESTING) +diff -rupN cmake-2.8.7/Utilities/cmexpat/CMakeLists.txt cmake-2.8.7.cotire/Utilities/cmexpat/CMakeLists.txt +--- cmake-2.8.7/Utilities/cmexpat/CMakeLists.txt 2011-12-30 17:49:58.000000000 +0100 ++++ cmake-2.8.7.cotire/Utilities/cmexpat/CMakeLists.txt 2012-02-22 20:45:40.000000000 +0100 +@@ -32,3 +32,6 @@ CONFIGURE_FILE(${CMEXPAT_SOURCE_DIR}/exp + + ADD_LIBRARY(cmexpat ${expat_SRCS}) + INSTALL(FILES COPYING DESTINATION ${CMake_DOC_DEST}/cmexpat) ++if (COMMAND cotire) ++cotire(cmexpat) ++endif() +\ No newline at end of file +diff -rupN cmake-2.8.7/Utilities/cmlibarchive/libarchive/CMakeLists.txt cmake-2.8.7.cotire/Utilities/cmlibarchive/libarchive/CMakeLists.txt +--- cmake-2.8.7/Utilities/cmlibarchive/libarchive/CMakeLists.txt 2011-12-30 17:49:58.000000000 +0100 ++++ cmake-2.8.7.cotire/Utilities/cmlibarchive/libarchive/CMakeLists.txt 2012-02-22 20:45:55.000000000 +0100 +@@ -116,6 +116,9 @@ IF(BUILD_ARCHIVE_WITHIN_CMAKE) + # and call the library cmlibarchive + ADD_LIBRARY(cmlibarchive STATIC ${libarchive_SOURCES} ${include_HEADERS}) + TARGET_LINK_LIBRARIES(cmlibarchive ${ADDITIONAL_LIBS}) ++if (COMMAND cotire) ++cotire(cmlibarchive) ++endif() + ELSE() + # Libarchive is a shared library + ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS}) +@@ -123,7 +126,10 @@ ELSE() + SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION}) + SET_TARGET_PROPERTIES(archive PROPERTIES + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) +- ++if (COMMAND cotire) ++cotire(archive) ++endif() ++ + # archive_static is a static library + ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS}) + SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS +@@ -134,6 +140,9 @@ ELSE() + IF(NOT WIN32 OR CYGWIN) + SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive) + ENDIF(NOT WIN32 OR CYGWIN) ++if (COMMAND cotire) ++cotire(archive_static) ++endif() + + # How to install the libraries + INSTALL(TARGETS archive archive_static +diff -rupN cmake-2.8.7/Utilities/cmzlib/CMakeLists.txt cmake-2.8.7.cotire/Utilities/cmzlib/CMakeLists.txt +--- cmake-2.8.7/Utilities/cmzlib/CMakeLists.txt 2011-12-30 17:49:58.000000000 +0100 ++++ cmake-2.8.7.cotire/Utilities/cmzlib/CMakeLists.txt 2012-02-22 20:42:30.000000000 +0100 +@@ -39,5 +39,7 @@ ENDFOREACH(name) + + + ADD_LIBRARY(cmzlib ${ZLIB_SRCS}) +- ++if (COMMAND cmzlib) ++cotire(cmzlib) ++endif() + INSTALL(FILES Copyright.txt DESTINATION ${CMake_DOC_DEST}/cmzlib) diff --git a/Patches/cminpack-1.1.4.patch b/Patches/cminpack-1.1.4.patch new file mode 100644 index 0000000..23fdee5 --- /dev/null +++ b/Patches/cminpack-1.1.4.patch @@ -0,0 +1,18 @@ +diff -rupN cminpack-1.1.4/CMakeLists.txt cminpack-1.1.4.cotire/CMakeLists.txt +--- cminpack-1.1.4/CMakeLists.txt 2011-04-15 08:51:13.000000000 +0200 ++++ cminpack-1.1.4.cotire/CMakeLists.txt 2012-03-24 20:21:19.000000000 +0100 +@@ -6,6 +6,7 @@ project (CMINPACK) + string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER) + + include(${PROJECT_SOURCE_DIR}/cmake/cminpack_utils.cmake) ++include(${PROJECT_SOURCE_DIR}/cmake/cotire.cmake) + # Set version and OS-specific settings + set(CMINPACK_VERSION 1.0.90 CACHE STRING "CMinpack version") + DISSECT_VERSION() +@@ -70,3 +71,6 @@ endif (USE_FPIC AND NOT SHARED_LIBS) + + set_target_properties(cminpack PROPERTIES VERSION ${CMINPACK_VERSION}) + ++if (COMMAND cotire) ++ cotire(cminpack) ++endif() diff --git a/Patches/hdf5-1.8.8.patch b/Patches/hdf5-1.8.8.patch new file mode 100644 index 0000000..d0ed54b --- /dev/null +++ b/Patches/hdf5-1.8.8.patch @@ -0,0 +1,118 @@ +diff -rupN hdf5-1.8.8/CMakeLists.txt hdf5-1.8.8.cotire/CMakeLists.txt +--- hdf5-1.8.8/CMakeLists.txt 2011-11-07 23:11:41.000000000 +0100 ++++ hdf5-1.8.8.cotire/CMakeLists.txt 2012-03-24 17:30:29.000000000 +0100 +@@ -200,6 +200,7 @@ SET (HDF5_PACKAGE_BUGREPORT "help@hdfgro + #----------------------------------------------------------------------------- + INCLUDE (${HDF5_RESOURCES_DIR}/HDFMacros.cmake) + INCLUDE (${HDF5_RESOURCES_DIR}/HDF5Macros.cmake) ++INCLUDE (${HDF5_RESOURCES_DIR}/cotire.cmake) + + #----------------------------------------------------------------------------- + # Setup output Directories +diff -rupN hdf5-1.8.8/c++/src/CMakeLists.txt hdf5-1.8.8.cotire/c++/src/CMakeLists.txt +--- hdf5-1.8.8/c++/src/CMakeLists.txt 2011-11-07 23:11:40.000000000 +0100 ++++ hdf5-1.8.8.cotire/c++/src/CMakeLists.txt 2012-03-24 17:29:43.000000000 +0100 +@@ -85,6 +85,9 @@ ADD_LIBRARY (${HDF5_CPP_LIB_TARGET} ${LI + TARGET_LINK_LIBRARIES (${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET}) + SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIB_TARGET}") + H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} ${LIB_TYPE}) ++if (COMMAND cotire) ++cotire(${HDF5_CPP_LIB_TARGET}) ++endif() + + #----------------------------------------------------------------------------- + # Add file(s) to CMake Install +diff -rupN hdf5-1.8.8/fortran/src/CMakeLists.txt hdf5-1.8.8.cotire/fortran/src/CMakeLists.txt +--- hdf5-1.8.8/fortran/src/CMakeLists.txt 2011-11-07 23:11:41.000000000 +0100 ++++ hdf5-1.8.8.cotire/fortran/src/CMakeLists.txt 2012-03-24 17:30:02.000000000 +0100 +@@ -118,6 +118,9 @@ ADD_LIBRARY (${HDF5_F90_C_LIB_TARGET} ${ + TARGET_LINK_LIBRARIES (${HDF5_F90_C_LIB_TARGET} ${HDF5_LIB_TARGET}) + SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_C_LIB_TARGET}") + H5_SET_LIB_OPTIONS (${HDF5_F90_C_LIB_TARGET} ${HDF5_F90_C_LIB_NAME} ${LIB_TYPE}) ++if (COMMAND cotire) ++cotire(${HDF5_F90_C_LIB_TARGET}) ++endif() + + #----------------------------------------------------------------------------- + # Fortran 2003 standard +@@ -221,6 +224,7 @@ SET_TARGET_PROPERTIES (${HDF5_F90_LIB_TA + TARGET_LINK_LIBRARIES (${HDF5_F90_LIB_TARGET} ${HDF5_F90_C_LIB_TARGET} ${HDF5_LIB_TARGET}) + SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_LIB_TARGET}") + H5_SET_LIB_OPTIONS (${HDF5_F90_LIB_TARGET} ${HDF5_F90_LIB_NAME} ${LIB_TYPE}) ++cotire(${HDF5_F90_LIB_TARGET}) + + #----------------------------------------------------------------------------- + # Add file(s) to CMake Install +diff -rupN hdf5-1.8.8/hl/c++/src/CMakeLists.txt hdf5-1.8.8.cotire/hl/c++/src/CMakeLists.txt +--- hdf5-1.8.8/hl/c++/src/CMakeLists.txt 2011-11-07 23:11:39.000000000 +0100 ++++ hdf5-1.8.8.cotire/hl/c++/src/CMakeLists.txt 2012-03-24 17:29:52.000000000 +0100 +@@ -18,6 +18,9 @@ TARGET_LINK_LIBRARIES ( + ) + SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_CPP_LIB_TARGET}") + H5_SET_LIB_OPTIONS (${HDF5_HL_CPP_LIB_TARGET} ${HDF5_HL_CPP_LIB_NAME} ${LIB_TYPE}) ++if (COMMAND cotire) ++cotire(${HDF5_HL_CPP_LIB_TARGET}) ++endif() + + #----------------------------------------------------------------------------- + # Add file(s) to CMake Install +diff -rupN hdf5-1.8.8/hl/src/CMakeLists.txt hdf5-1.8.8.cotire/hl/src/CMakeLists.txt +--- hdf5-1.8.8/hl/src/CMakeLists.txt 2011-11-07 23:11:38.000000000 +0100 ++++ hdf5-1.8.8.cotire/hl/src/CMakeLists.txt 2012-03-24 17:30:11.000000000 +0100 +@@ -37,6 +37,9 @@ ADD_LIBRARY (${HDF5_HL_LIB_TARGET} ${LIB + TARGET_LINK_LIBRARIES (${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET}) + SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_LIB_TARGET}") + H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} ${LIB_TYPE}) ++if (COMMAND cotire) ++cotire(${HDF5_HL_LIB_TARGET}) ++endif() + + #----------------------------------------------------------------------------- + # Add file(s) to CMake Install +diff -rupN hdf5-1.8.8/src/CMakeLists.txt hdf5-1.8.8.cotire/src/CMakeLists.txt +--- hdf5-1.8.8/src/CMakeLists.txt 2011-11-07 23:11:30.000000000 +0100 ++++ hdf5-1.8.8.cotire/src/CMakeLists.txt 2012-03-24 17:29:26.000000000 +0100 +@@ -631,6 +631,16 @@ ADD_LIBRARY (${HDF5_LIB_TARGET} ${LIB_TY + TARGET_LINK_LIBRARIES (${HDF5_LIB_TARGET} ${LINK_LIBS}) + SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT ${HDF5_LIB_TARGET}) + H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} ${LIB_TYPE}) ++#set_target_properties(${HDF5_LIB_TARGET} PROPERTIES COTIRE_IGNORED_INCLUDE_DIRECTORIES "/Developer/usr;/usr/llvm-gcc-4.2;${CMAKE_SOURCE_DIR};${CMAKE_BINARY_DIR}") ++ ++if (COMMAND cotire) ++SET_SOURCE_FILES_PROPERTIES ( ++"${HDF5_BINARY_DIR}/H5overflow.h" ++"${HDF5_BINARY_DIR}/H5version.h" ++"${HDF5_BINARY_DIR}/H5Edefin.h" ++PROPERTIES COTIRE_DEPENDENCY FALSE) ++cotire(${HDF5_LIB_TARGET}) ++endif() + + #----------------------------------------------------------------------------- + # Add file(s) to CMake Install +Binary files hdf5-1.8.8/src/H5public.h.gch and hdf5-1.8.8.cotire/src/H5public.h.gch differ +diff -rupN hdf5-1.8.8/test/CMakeLists.txt hdf5-1.8.8.cotire/test/CMakeLists.txt +--- hdf5-1.8.8/test/CMakeLists.txt 2011-11-07 23:11:23.000000000 +0100 ++++ hdf5-1.8.8.cotire/test/CMakeLists.txt 2012-03-24 17:30:22.000000000 +0100 +@@ -30,6 +30,9 @@ IF (MINGW) + ENDIF (MINGW) + TARGET_LINK_LIBRARIES (${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET}) + H5_SET_LIB_OPTIONS (${HDF5_TEST_LIB_TARGET} ${HDF5_TEST_LIB_NAME} ${LIB_TYPE}) ++if (COMMAND cotire) ++cotire(${HDF5_TEST_LIB_TARGET}) ++endif() + + # -------------------------------------------------------------------- + # Copy all the HDF5 files from the test directory into the source directory +diff -rupN hdf5-1.8.8/tools/lib/CMakeLists.txt hdf5-1.8.8.cotire/tools/lib/CMakeLists.txt +--- hdf5-1.8.8/tools/lib/CMakeLists.txt 2011-11-07 23:11:35.000000000 +0100 ++++ hdf5-1.8.8.cotire/tools/lib/CMakeLists.txt 2012-03-24 17:28:41.000000000 +0100 +@@ -40,6 +40,9 @@ H5_SET_LIB_OPTIONS ( + HDF5_TOOLS_LIB_NAME_RELEASE + HDF5_TOOLS_LIB_NAME_DEBUG + ) ++if (COMMAND cotire) ++cotire(${HDF5_TOOLS_LIB_TARGET}) ++endif() + + ############################################################################## + ############################################################################## diff --git a/Patches/libpng-1.5.9.patch b/Patches/libpng-1.5.9.patch new file mode 100644 index 0000000..09e987d --- /dev/null +++ b/Patches/libpng-1.5.9.patch @@ -0,0 +1,38 @@ +diff -rupN libpng-1.5.9/CMakeLists.txt libpng-1.5.9.cotire/CMakeLists.txt +--- libpng-1.5.9/CMakeLists.txt 2012-02-18 21:31:14.000000000 +0100 ++++ libpng-1.5.9.cotire/CMakeLists.txt 2012-03-24 18:08:54.000000000 +0100 +@@ -9,6 +9,8 @@ + cmake_minimum_required(VERSION 2.4.4) + set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) + ++include("${CMAKE_SOURCE_DIR}/cotire.cmake") ++ + if(UNIX AND NOT DEFINED CMAKE_BUILD_TYPE) + if(CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION EQUAL 4) + # workaround CMake 2.4.x bug +@@ -146,6 +148,12 @@ if(PNG_SHARED) + set_target_properties(${PNG_LIB_NAME} PROPERTIES IMPORT_PREFIX "lib") + endif() + target_link_libraries(${PNG_LIB_NAME} ${ZLIB_LIBRARY} ${M_LIBRARY}) ++ if (COMMAND cotire) ++ cotire(${PNG_LIB_NAME}) ++ if (TARGET ${PNG_LIB_NAME}_unity) ++ target_link_libraries(${PNG_LIB_NAME}_unity ${ZLIB_LIBRARY} ${M_LIBRARY}) ++ endif() ++ endif() + endif() + + if(PNG_STATIC) +@@ -157,6 +165,12 @@ if(PNG_STATIC) + set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES PREFIX "lib") + endif() + target_link_libraries(${PNG_LIB_NAME_STATIC} ${ZLIB_LIBRARY} ${M_LIBRARY}) ++ if (COMMAND cotire) ++ cotire(${PNG_LIB_NAME_STATIC}) ++ if (TARGET ${PNG_LIB_NAME_STATIC}_unity) ++ target_link_libraries(${PNG_LIB_NAME_STATIC}_unity ${ZLIB_LIBRARY} ${M_LIBRARY}) ++ endif() ++ endif() + endif() + + if(PNG_SHARED AND WIN32) diff --git a/Patches/llvm-3.0.src.patch b/Patches/llvm-3.0.src.patch new file mode 100644 index 0000000..20cfbd9 --- /dev/null +++ b/Patches/llvm-3.0.src.patch @@ -0,0 +1,58 @@ +diff -rupN llvm-3.0.src/CMakeLists.txt llvm-3.0.src.cotire/CMakeLists.txt +--- llvm-3.0.src/CMakeLists.txt 2011-10-06 03:51:51.000000000 +0200 ++++ llvm-3.0.src.cotire/CMakeLists.txt 2012-03-24 12:37:46.000000000 +0100 +@@ -15,6 +15,7 @@ set(PACKAGE_VERSION "3.0") + set_property(GLOBAL PROPERTY USE_FOLDERS ON) + + include(VersionFromVCS) ++include(cotire) + + option(LLVM_APPEND_VC_REV + "Append the version control system revision id to LLVM version" OFF) +diff -rupN llvm-3.0.src/cmake/modules/AddLLVM.cmake llvm-3.0.src.cotire/cmake/modules/AddLLVM.cmake +--- llvm-3.0.src/cmake/modules/AddLLVM.cmake 2011-07-30 10:47:05.000000000 +0200 ++++ llvm-3.0.src.cotire/cmake/modules/AddLLVM.cmake 2012-03-11 15:06:04.000000000 +0100 +@@ -25,6 +25,9 @@ macro(add_llvm_library name) + ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) + endif() + set_target_properties(${name} PROPERTIES FOLDER "Libraries") ++ if (COMMAND cotire) ++ cotire(${name}) ++ endif() + endmacro(add_llvm_library name) + + macro(add_llvm_library_dependencies name) +@@ -69,6 +72,9 @@ ${name} ignored.") + LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} + ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) + endif() ++ if (COMMAND cotire) ++ cotire(${name}) ++ endif() + endif() + + set_target_properties(${name} PROPERTIES FOLDER "Loadable modules") +@@ -89,6 +95,9 @@ macro(add_llvm_executable name) + add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} ) + endif( LLVM_COMMON_DEPENDS ) + link_system_libs( ${name} ) ++ if (COMMAND cotire) ++ cotire(${name}) ++ endif() + endmacro(add_llvm_executable name) + + +diff -rupN llvm-3.0.src/lib/Support/CMakeLists.txt llvm-3.0.src.cotire/lib/Support/CMakeLists.txt +--- llvm-3.0.src/lib/Support/CMakeLists.txt 2011-09-13 21:42:16.000000000 +0200 ++++ llvm-3.0.src.cotire/lib/Support/CMakeLists.txt 2012-03-24 12:38:36.000000000 +0100 +@@ -4,6 +4,10 @@ if( MINGW ) + set(LLVM_REQUIRES_EH 1) + endif() + ++if (COMMAND cotire) ++ set_source_files_properties (IsInf.cpp IsNAN.cpp PROPERTIES COTIRE_EXCLUDED TRUE) ++endif() ++ + add_llvm_library(LLVMSupport + APFloat.cpp + APInt.cpp diff --git a/Patches/yaml-cpp.patch b/Patches/yaml-cpp.patch new file mode 100644 index 0000000..c6166fd --- /dev/null +++ b/Patches/yaml-cpp.patch @@ -0,0 +1,37 @@ +diff -rupN yaml-cpp/CMakeLists.txt yaml-cpp-cotire/CMakeLists.txt +--- yaml-cpp/CMakeLists.txt 2012-01-21 09:52:48.000000000 +0100 ++++ yaml-cpp-cotire/CMakeLists.txt 2012-03-24 17:14:15.000000000 +0100 +@@ -14,6 +14,7 @@ if(POLICY CMP0015) + endif() + + include(CheckCXXCompilerFlag) ++include("${CMAKE_SOURCE_DIR}/cotire.cmake") + + + ### +@@ -235,6 +236,7 @@ add_library(yaml-cpp + ${contrib_private_headers} + ) + ++cotire(yaml-cpp) + set_target_properties(yaml-cpp PROPERTIES + VERSION "${YAML_CPP_VERSION}" + SOVERSION "${YAML_CPP_VERSION_MAJOR}.${YAML_CPP_VERSION_MINOR}" +diff -rupN yaml-cpp/test/CMakeLists.txt yaml-cpp-cotire/test/CMakeLists.txt +--- yaml-cpp/test/CMakeLists.txt 2012-01-21 09:52:48.000000000 +0100 ++++ yaml-cpp-cotire/test/CMakeLists.txt 2012-02-19 10:21:36.000000000 +0100 +@@ -13,3 +13,5 @@ add_executable(run-tests + target_link_libraries(run-tests yaml-cpp) + + add_test(yaml-reader-test run-tests) ++ ++cotire(run-tests) +\ No newline at end of file +diff -rupN yaml-cpp/util/CMakeLists.txt yaml-cpp-cotire/util/CMakeLists.txt +--- yaml-cpp/util/CMakeLists.txt 2012-01-21 09:52:48.000000000 +0100 ++++ yaml-cpp-cotire/util/CMakeLists.txt 2012-02-19 10:21:54.000000000 +0100 +@@ -1,2 +1,3 @@ + add_executable(parse parse.cpp) + target_link_libraries(parse yaml-cpp) ++cotire(parse) +\ No newline at end of file diff --git a/Patches/zlib-1.2.6.patch b/Patches/zlib-1.2.6.patch new file mode 100644 index 0000000..e48086f --- /dev/null +++ b/Patches/zlib-1.2.6.patch @@ -0,0 +1,23 @@ +diff -rupN zlib-1.2.6/CMakeLists.txt zlib-1.2.6.cotire/CMakeLists.txt +--- zlib-1.2.6/CMakeLists.txt 2012-01-17 03:51:23.000000000 +0100 ++++ zlib-1.2.6.cotire/CMakeLists.txt 2012-03-24 21:08:41.000000000 +0100 +@@ -7,6 +7,8 @@ if(NOT DEFINED BUILD_SHARED_LIBS) + option(BUILD_SHARED_LIBS "Build a shared library form of zlib" ON) + endif() + ++include("${CMAKE_SOURCE_DIR}/cotire.cmake") ++ + include(CheckTypeSize) + include(CheckFunctionExists) + include(CheckIncludeFile) +@@ -176,6 +178,10 @@ if(NOT SKIP_INSTALL_FILES AND NOT SKIP_I + install(FILES zlib.3 DESTINATION share/man/man3) + endif() + ++if (COMMAND cotire) ++ cotire(zlib) ++endif() ++ + #============================================================================ + # Example binaries + #============================================================================ diff --git a/README.md b/README.md index cb1fcc6..b6a307b 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,9 @@ the original target, but does so much faster by entering: See the advanced usage section of the [cotire manual][manual] for information on how to configure the cotire process (e.g., how to apply cotire to a certain build configuration only). +The directory `Patches` contains patch files to enable cotire for some popular open sources +packages that use CMake as a build system. + speedup -------