diff --git a/CMakeLists.txt b/CMakeLists.txt index 2fb16b6bd35a565a75df9ef9e5cffb168e34f2c9..549902cca7f483f7b94d497cc49d144bfdb46987 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -278,6 +278,16 @@ ENDIF( OTB_SHOW_ALL_MSG_DEBUG ) OPTION(OTB_DISABLE_CXX_EXAMPLES_TESTING "Disable examples testing." OFF) MARK_AS_ADVANCED(OTB_DISABLE_CXX_EXAMPLES_TESTING) +#----------------------------------------------------------------------------- +# Advanced option to avoid recompiling utilities at each cmake reconfiguration +OPTION(OTB_DISABLE_UTILITIES_COMPILATION "Disable utilities compilation (developpers only - use at you own risk)" OFF) +MARK_AS_ADVANCED(OTB_DISABLE_UTILITIES_COMPILATION) + +IF(OTB_DISABLE_UTILITIES_COMPILATION) +LINK_DIRECTORIES("${OTB_BINARY_DIR}/bin") +ENDIF(OTB_DISABLE_UTILITIES_COMPILATION) + + #----------------------------------------------------------------------------- # Option to define streaming activation in applications # Use by otbConfigure.h.in @@ -617,5 +627,3 @@ ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.7) "Please upgrade to CMake 1.8.") ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 1.7) - - diff --git a/Utilities/ITK/Code/CMakeLists.txt b/Utilities/ITK/Code/CMakeLists.txt index 1f9c7e9f7f386dca11ea34e661a64c94652a2548..569e9bade5fdf90272363872c22a37bb075e9e29 100755 --- a/Utilities/ITK/Code/CMakeLists.txt +++ b/Utilities/ITK/Code/CMakeLists.txt @@ -1,3 +1,6 @@ +#ADDED BY OTB DEVELOPPERS TO AVOID INTENSIVE RECOMPILATION +IF(NOT OTB_DISABLE_UTILITIES_COMPILATION) + SUBDIRS(Common Numerics BasicFilters Algorithms SpatialObject) IF( ITK_USE_PATENTED ) @@ -11,3 +14,4 @@ ENDIF( ITK_USE_REVIEW ) ## There should be no library dependances on IO, but IO may depend on other ## libraries, so build it last SUBDIRS(IO) +ENDIF(NOT OTB_DISABLE_UTILITIES_COMPILATION) diff --git a/Utilities/ITK/Utilities/MetaIO/CMakeLists.txt b/Utilities/ITK/Utilities/MetaIO/CMakeLists.txt index b3f720bac6525f080eede53758e1ce33227e4803..b1f6be91700eb54d45d14598a56fa678cfdc4fd6 100755 --- a/Utilities/ITK/Utilities/MetaIO/CMakeLists.txt +++ b/Utilities/ITK/Utilities/MetaIO/CMakeLists.txt @@ -16,6 +16,9 @@ PROJECT( ${METAIO_NAMESPACE} ) INCLUDE_DIRECTORIES(${${METAIO_NAMESPACE}_SOURCE_DIR}) +#ADDED BY OTB DEVELOPPERS TO AVOID INTENSIVE RECOMPILATION +IF(NOT OTB_DISABLE_UTILITIES_COMPILATION) + ADD_LIBRARY(${METAIO_NAMESPACE} metaTypes.h metaUtils.cxx @@ -145,5 +148,5 @@ ELSE(METAIO_FOR_VTK) ENDIF(METAIO_FOR_ITK) ENDIF(METAIO_FOR_VTK) - +ENDIF(NOT OTB_DISABLE_UTILITIES_COMPILATION) diff --git a/Utilities/ITK/Utilities/gdcm/CMakeLists.txt b/Utilities/ITK/Utilities/gdcm/CMakeLists.txt index 955996bce627a8722eab626996558f9e917aef67..cd14acb4ac27c325ab774a20f0efb18904209777 100755 --- a/Utilities/ITK/Utilities/gdcm/CMakeLists.txt +++ b/Utilities/ITK/Utilities/gdcm/CMakeLists.txt @@ -57,10 +57,14 @@ ENDIF("GDCM_COMPILER_HAS_FUNCTION" MATCHES "^GDCM_COMPILER_HAS_FUNCTION$") #----------------------------------------------------------------------------- # Build directory on which many applications depend + +# ADDED BY OTB DEVELOPPERS TO AVOID INTENSIVE RECOMPILATION +IF(NOT DISABLE_OTB_UTILITIES_COMPILATION) SUBDIRS( Dicts src ) +ENDIF(NOT DISABLE_OTB_UTILITIES_COMPILATION) # Set the place for the public dictionary, must be set before gdcmConfigure.h SET( GDCM_PUB_DICT_PATH "${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}") diff --git a/Utilities/ITK/Utilities/itkjpeg/CMakeLists.txt b/Utilities/ITK/Utilities/itkjpeg/CMakeLists.txt index d493cfb8e23ba4aef193fc86f3f63c0db8a64d1b..d12d30376351d75ddf8cdbdf0c413c52e7096f3a 100755 --- a/Utilities/ITK/Utilities/itkjpeg/CMakeLists.txt +++ b/Utilities/ITK/Utilities/itkjpeg/CMakeLists.txt @@ -140,5 +140,7 @@ MACRO(ITK_JPEG_BODY BITRATE) ENDIF(NOT ITK_INSTALL_NO_LIBRARIES) ENDMACRO(ITK_JPEG_BODY) +# ADDED BY OTB DEVELOPPERS TO AVOID INTENSIVE RECOMPILATION +IF(NOT DISABLE_OTB_UTILITIES_COMPILATION) SUBDIRS(8 12 16) - +ENDIF(NOT DISABLE_OTB_UTILITIES_COMPILATION) diff --git a/Utilities/ITK/Utilities/itkpng/CMakeLists.txt b/Utilities/ITK/Utilities/itkpng/CMakeLists.txt index 5cada7e47144c7aac71283e6ef50519e1f5df7bf..f02bcfa0c9a18f5918335c2d4ab345f4cd820be5 100755 --- a/Utilities/ITK/Utilities/itkpng/CMakeLists.txt +++ b/Utilities/ITK/Utilities/itkpng/CMakeLists.txt @@ -25,6 +25,8 @@ CONFIGURE_FILE(${ITKPNG_SOURCE_DIR}/.NoDartCoverage CONFIGURE_FILE(${ITKPNG_SOURCE_DIR}/pngDllConfig.h.in ${ITKPNG_BINARY_DIR}/pngDllConfig.h) +#ADDED BY OTB DEVELOPPERS TO AVOID INTENSIVE RECOMPILATION +IF(NOT OTB_DISABLE_UTILITIES_COMPILATION) ADD_LIBRARY(itkpng ${PNG_SRCS}) TARGET_LINK_LIBRARIES(itkpng ${ITK_ZLIB_LIBRARIES}) @@ -49,3 +51,4 @@ IF(NOT ITK_INSTALL_NO_DEVELOPMENT) DESTINATION ${ITK_INSTALL_INCLUDE_DIR_CM24}/Utilities/itkpng COMPONENT Development) ENDIF(NOT ITK_INSTALL_NO_DEVELOPMENT) +ENDIF(NOT OTB_DISABLE_UTILITIES_COMPILATION) diff --git a/Utilities/ITK/Utilities/itktiff/CMakeLists.txt b/Utilities/ITK/Utilities/itktiff/CMakeLists.txt index ff0cf2f179daf861e6ca5d3d45002981e6af3cbb..35c7c0edaa7caa03759a99e5d837fdd165306924 100755 --- a/Utilities/ITK/Utilities/itktiff/CMakeLists.txt +++ b/Utilities/ITK/Utilities/itktiff/CMakeLists.txt @@ -137,6 +137,10 @@ CONFIGURE_FILE(${ITKTIFF_SOURCE_DIR}/tiffDllConfig.h.in CONFIGURE_FILE(${ITKTIFF_SOURCE_DIR}/tif_config.h.in ${ITKTIFF_BINARY_DIR}/tif_config.h) + +# ADDED BY OTB DEVELOPPERS TO AVOID INTENSIVE RECOMPILATION +IF(NOT OTB_DISABLE_UTILITIES_COMPILATION) + ADD_LIBRARY(itktiff ${common_SRCS}) TARGET_LINK_LIBRARIES(itktiff ${ITK_ZLIB_LIBRARIES} itkjpeg8) @@ -167,3 +171,4 @@ IF(NOT ITK_INSTALL_NO_DEVELOPMENT) DESTINATION ${ITK_INSTALL_INCLUDE_DIR_CM24}/Utilities/itktiff COMPONENT Development) ENDIF(NOT ITK_INSTALL_NO_DEVELOPMENT) +ENDIF(NOT OTB_DISABLE_UTILITIES_COMPILATION) diff --git a/Utilities/ITK/Utilities/itkzlib/CMakeLists.txt b/Utilities/ITK/Utilities/itkzlib/CMakeLists.txt index d676e8cb8aabb38b69304bb74b4d090f8538d08f..5da67d8af8e62bf0c3208101ba9c1e6bbe5f57f3 100755 --- a/Utilities/ITK/Utilities/itkzlib/CMakeLists.txt +++ b/Utilities/ITK/Utilities/itkzlib/CMakeLists.txt @@ -29,7 +29,8 @@ CONFIGURE_FILE(${ITKZLIB_SOURCE_DIR}/.NoDartCoverage CONFIGURE_FILE(${ITKZLIB_SOURCE_DIR}/zlibDllConfig.h.in ${ITKZLIB_BINARY_DIR}/zlibDllConfig.h) - +#ADDED BY OTB DEVELOPPERS TO AVOID INTENSIVE RECOMPILATION +IF(NOT OTB_DISABLE_UTILITIES_COMPILATION) ADD_LIBRARY(itkzlib ${ZLIB_SRCS}) # Apply user-defined properties to the library target. @@ -53,3 +54,4 @@ IF(NOT ITK_INSTALL_NO_DEVELOPMENT) DESTINATION ${ITK_INSTALL_INCLUDE_DIR_CM24}/Utilities/itkzlib COMPONENT Development) ENDIF(NOT ITK_INSTALL_NO_DEVELOPMENT) +ENDIF(NOT OTB_DISABLE_UTILITIES_COMPILATION) diff --git a/Utilities/ITK/Utilities/kwsys/CMakeLists.txt b/Utilities/ITK/Utilities/kwsys/CMakeLists.txt index e7999571b80ce959d2c97b3f0d6afd5a1e7045b2..cbb15a4652581a3dbb75a4adf9ab37e6b6c94c37 100755 --- a/Utilities/ITK/Utilities/kwsys/CMakeLists.txt +++ b/Utilities/ITK/Utilities/kwsys/CMakeLists.txt @@ -733,6 +733,8 @@ FOREACH(h ${KWSYS_HXX_FILES}) ENDIF(KWSYS_HEADER_INSTALL_DIR) ENDFOREACH(h) +#ADDED BY OTB DEVELOPPERS TO AVOID INTENSIVE RECOMPILATION +IF(NOT OTB_DISABLE_UTILITIES_COMPILATION) #----------------------------------------------------------------------------- # Add the library with the configured name and list of sources. IF(KWSYS_C_SRCS OR KWSYS_CXX_SRCS) @@ -957,3 +959,5 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR) ENDIF(COMMAND SET_TESTS_PROPERTIES AND COMMAND GET_TEST_PROPERTY AND KWSYS_STANDALONE) ENDIF(BUILD_TESTING) ENDIF(KWSYS_STANDALONE OR CMake_SOURCE_DIR) + +ENDIF(NOT OTB_DISABLE_UTILITIES_COMPILATION) diff --git a/Utilities/ITK/Utilities/vxl/CMakeLists.txt b/Utilities/ITK/Utilities/vxl/CMakeLists.txt index f41f4e16c6679158d266702ea3486bfcff449ded..627fe2e77c1e12214a6abac2ff11d3a007f1b807 100755 --- a/Utilities/ITK/Utilities/vxl/CMakeLists.txt +++ b/Utilities/ITK/Utilities/vxl/CMakeLists.txt @@ -18,6 +18,8 @@ SET(MODULE_PATH ${vxl_SOURCE_DIR}/config/cmake/Modules) SUBDIRS(config/cmake/config) # Build the core vxl + support libraries +#ADDED BY OTB DEVELOPPERS TO AVOID INTENSIVE RECOMPILATION +IF(NOT OTB_DISABLE_UTILITIES_COMPILATION) SUBDIRS(vcl v3p core) # Standard include directories. @@ -53,3 +55,4 @@ IF(CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w") ENDIF(CMAKE_COMPILER_IS_GNUCXX) +ENDIF(NOT OTB_DISABLE_UTILITIES_COMPILATION)