diff --git a/SuperBuild/CMake/External_boost.cmake b/SuperBuild/CMake/External_boost.cmake index ff0dd1e44c57f8f0d1cdb957c3a218d39350688b..70b2e9eff38cc0d3e2963043df4637ebb93b5fef 100644 --- a/SuperBuild/CMake/External_boost.cmake +++ b/SuperBuild/CMake/External_boost.cmake @@ -4,16 +4,10 @@ # support both libraries. See the related changeset in OTB trunk: # http://hg.orfeo-toolbox.org/OTB/r# ev/8da67e36c78d -if(NOT __EXTERNAL_BOOST__) -set(__EXTERNAL_BOOST__ 1) +INCLUDE_ONCE_MACRO(BOOST) -if(USE_SYSTEM_BOOST) - message(STATUS " Using Boost system version") -else() SETUP_SUPERBUILD(PROJECT BOOST) - message(STATUS " Using Boost superbuild version") - option(SUPERBUILD_BOOST_HEADER_ONLY "Only use Boost headers" ON) mark_as_advanced(SUPERBUILD_BOOST_HEADER_ONLY) @@ -61,7 +55,6 @@ else() ) endif() - message(STATUS " Using Boost SuperBuild version") else(MSVC) #TODO: find hash for archives properly @@ -127,6 +120,3 @@ else() set(_SB_Boost_INCLUDE_DIR ${SB_INSTALL_PREFIX}/include) set(_SB_Boost_LIBRARY_DIR ${SB_INSTALL_PREFIX}/lib) - -endif() -endif() diff --git a/SuperBuild/CMake/External_curl.cmake b/SuperBuild/CMake/External_curl.cmake index 2880f4b8194cdde36733bf42aa87313e8dcb17f2..94aad37e5aff32dc5eb3806e82b8b0c65846aec4 100644 --- a/SuperBuild/CMake/External_curl.cmake +++ b/SuperBuild/CMake/External_curl.cmake @@ -1,16 +1,6 @@ -if( __EXTERNAL_CURL__) - return() -else() - set(__EXTERNAL_CURL__ 1) -endif() - -if(USE_SYSTEM_CURL) - message(STATUS " Using cURL system version") - return() -endif() +INCLUDE_ONCE_MACRO(CURL) SETUP_SUPERBUILD(PROJECT CURL) -message(STATUS " Using cURL SuperBuild version") # declare dependencies ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(CURL ZLIB) @@ -45,10 +35,7 @@ else(UNIX) INSTALL_DIR ${SB_INSTALL_PREFIX} DOWNLOAD_DIR ${DOWNLOAD_LOCATION} CMAKE_CACHE_ARGS - -DCMAKE_INSTALL_PREFIX:STRING=${SB_INSTALL_PREFIX} - -DCMAKE_PREFIX_PATH:STRING=${SB_INSTALL_PREFIX};${CMAKE_PREFIX_PATH} - -DCMAKE_BUILD_TYPE:STRING=Release - -DBUILD_SHARED_LIBS:BOOL=ON + ${SB_CMAKE_CACHE_ARGS} -DBUILD_CURL_TESTS:BOOL=OFF -DBUILD_CURL_EXE:BOOL=ON -DCMAKE_USE_OPENSSL:BOOL=${SB_ENABLE_OPENSSL_CURL} diff --git a/SuperBuild/CMake/External_expat.cmake b/SuperBuild/CMake/External_expat.cmake index bbad2b09503462fe6a0858978c09b03cf9ed3083..7684e8db2f574dd5d51c87a84222c8a4b8af6c7b 100644 --- a/SuperBuild/CMake/External_expat.cmake +++ b/SuperBuild/CMake/External_expat.cmake @@ -1,16 +1,6 @@ -if( __EXTERNAL_EXPAT__) - return() -else() - set(__EXTERNAL_EXPAT__ 1) -endif() - -if(USE_SYSTEM_EXPAT) - message(STATUS " Using Expat system version") - return() -endif() +INCLUDE_ONCE_MACRO(EXPAT) SETUP_SUPERBUILD(PROJECT EXPAT) -message(STATUS " Using Expat SuperBuild version") ExternalProject_Add(EXPAT PREFIX EXPAT @@ -20,9 +10,7 @@ ExternalProject_Add(EXPAT INSTALL_DIR ${SB_INSTALL_PREFIX} DOWNLOAD_DIR ${DOWNLOAD_LOCATION} CMAKE_CACHE_ARGS - -DCMAKE_INSTALL_PREFIX:STRING=${SB_INSTALL_PREFIX} - -DCMAKE_BUILD_TYPE:STRING=Release - -DBUILD_SHARED_LIBS:BOOL=ON + ${SB_CMAKE_CACHE_ARGS} -DBUILD_examples:BOOL=OFF -DBUILD_tests:BOOL=OFF -DBUILD_tools:BOOL=OFF diff --git a/SuperBuild/CMake/External_fftw.cmake b/SuperBuild/CMake/External_fftw.cmake index dd28babb87a86813fda726726c8eccfeb07b9745..e5eebc64474ce7a13688c6e4ace72decea94f2f5 100644 --- a/SuperBuild/CMake/External_fftw.cmake +++ b/SuperBuild/CMake/External_fftw.cmake @@ -1,13 +1,4 @@ -if( __EXTERNAL_FFTW__) - return() -else() - set(__EXTERNAL_FFTW__ 1) -endif() - -if(USE_SYSTEM_FFTW) - message(STATUS " Using FFTW system version") - return() -endif() +INCLUDE_ONCE_MACRO(FFTW) SETUP_SUPERBUILD(PROJECT FFTW) @@ -22,7 +13,6 @@ if(MSVC) endif() -message(STATUS " Using FFTW SuperBuild version") # Compile the float version of FFTW ExternalProject_Add(FFTWF diff --git a/SuperBuild/CMake/External_freetype.cmake b/SuperBuild/CMake/External_freetype.cmake index c36e33ede98ad1374e7df05abfe30a8e1ad4782a..740b325fe181cf89a572623169b8c0274d5a3e03 100644 --- a/SuperBuild/CMake/External_freetype.cmake +++ b/SuperBuild/CMake/External_freetype.cmake @@ -1,17 +1,6 @@ -if( __EXTERNAL_FREETYPE__) - return() -else() - set(__EXTERNAL_FREETYPE__ 1) -endif() - -if(USE_SYSTEM_FREETYPE) - message(STATUS " Using FreeType system version") - return() -endif() - +INCLUDE_ONCE_MACRO(FREETYPE) SETUP_SUPERBUILD(PROJECT FREETYPE) -message(STATUS " Using FreeType SuperBuild version") set(FREETYPE_SB_CONFIG) if(MSVC AND BUILD_SHARED_LIBS) @@ -26,7 +15,10 @@ ExternalProject_Add(FREETYPE BINARY_DIR ${FREETYPE_SB_BUILD_DIR} INSTALL_DIR ${SB_INSTALL_PREFIX} DOWNLOAD_DIR ${DOWNLOAD_LOCATION} - CMAKE_COMMAND ${SB_CMAKE_COMMAND} ${FREETYPE_SB_CONFIG} + CMAKE_CACHE_ARGS + ${SB_CMAKE_CACHE_ARGS} + ${FREETYPE_SB_CONFIG} + CMAKE_COMMAND ${SB_CMAKE_COMMAND} ) set(_SB_FREETYPE_INCLUDE_DIRS ${SB_INSTALL_PREFIX}/include/freetype2) diff --git a/SuperBuild/CMake/External_gdal.cmake b/SuperBuild/CMake/External_gdal.cmake index 5b4c004a2fda40bb7b603db3a033c1ebb878d845..02a557294184ecb86d674b98b38192050f426dd9 100644 --- a/SuperBuild/CMake/External_gdal.cmake +++ b/SuperBuild/CMake/External_gdal.cmake @@ -1,18 +1,7 @@ -if( __EXTERNAL_GDAL__) - return() -else() - set(__EXTERNAL_GDAL__ 1) -endif() - -if(USE_SYSTEM_GDAL) - message(STATUS " Using GDAL system version") - return() -endif() +INCLUDE_ONCE_MACRO(GDAL) SETUP_SUPERBUILD(PROJECT GDAL) -message(STATUS " Using GDAL SuperBuild version") - # declare dependencies ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(GDAL TIFF CURL GEOTIFF PNG JPEG OPENJPEG SQLITE GEOS ZLIB EXPAT) diff --git a/SuperBuild/CMake/External_geos.cmake b/SuperBuild/CMake/External_geos.cmake index 8a789f4abdcef6486b97408f3b5507ebd0e382ea..2425d0b3b57a6e387a28113cc11d33269f10c198 100644 --- a/SuperBuild/CMake/External_geos.cmake +++ b/SuperBuild/CMake/External_geos.cmake @@ -1,16 +1,6 @@ -if( __EXTERNAL_GEOS__) - return() -else() - set(__EXTERNAL_GEOS__ 1) -endif() - -if(USE_SYSTEM_GEOS) - message(STATUS " Using GEOS system version") - return() -endif() +INCLUDE_ONCE_MACRO(GEOS) SETUP_SUPERBUILD(PROJECT GEOS) -message(STATUS " Using GEOS SuperBuild version") ExternalProject_Add(GEOS PREFIX GEOS @@ -21,6 +11,7 @@ ExternalProject_Add(GEOS INSTALL_DIR ${SB_INSTALL_PREFIX} DOWNLOAD_DIR ${DOWNLOAD_LOCATION} CMAKE_CACHE_ARGS + ${SB_CMAKE_CACHE_ARGS} -DBUILD_TESTING:BOOL=OFF -DGEOS_ENABLE_TESTS:BOOL=OFF CMAKE_COMMAND ${SB_CMAKE_COMMAND} ) diff --git a/SuperBuild/CMake/External_geotiff.cmake b/SuperBuild/CMake/External_geotiff.cmake index 36ffcbc785a1c23dff03e237ad5d0a15b16d91b0..a9be9a319798b2fde6066cb79731bab2a59fcfb8 100644 --- a/SuperBuild/CMake/External_geotiff.cmake +++ b/SuperBuild/CMake/External_geotiff.cmake @@ -1,16 +1,6 @@ -if( __EXTERNAL_GEOTIFF__) - return() -else() - set(__EXTERNAL_GEOTIFF__ 1) -endif() - -if(USE_SYSTEM_GEOTIFF) - message(STATUS " Using GeoTIFF system version") - return() -endif() +INCLUDE_ONCE_MACRO(GEOTIFF) SETUP_SUPERBUILD(PROJECT GEOTIFF) -message(STATUS " Using GeoTIFF SuperBuild version") # declare dependencies ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(GEOTIFF TIFF PROJ JPEG ZLIB) @@ -66,6 +56,7 @@ else() DOWNLOAD_DIR ${DOWNLOAD_LOCATION} DEPENDS ${GEOTIFF_DEPENDENCIES} CMAKE_CACHE_ARGS + ${SB_CMAKE_CACHE_ARGS} -DBUILD_TESTING:BOOL=OFF -DPROJ4_OSGEO4W_HOME:PATH=${SB_INSTALL_PREFIX} ${GEOTIFF_SB_CONFIG} diff --git a/SuperBuild/CMake/External_glew.cmake b/SuperBuild/CMake/External_glew.cmake index 053d9624ded79ac256be420e64f0fd9febff3ae2..ddec34fd459bc0a642da6e048545b3a973e4c494 100644 --- a/SuperBuild/CMake/External_glew.cmake +++ b/SuperBuild/CMake/External_glew.cmake @@ -1,54 +1,46 @@ -if(NOT __EXTERNAL_GLEW__) -set(__EXTERNAL_GLEW__ 1) +INCLUDE_ONCE_MACRO(GLEW) -if(USE_SYSTEM_GLEW) - message(STATUS " Using GLEW system version") -else() - SETUP_SUPERBUILD(PROJECT GLEW) - message(STATUS " Using GLEW SuperBuild version") +SETUP_SUPERBUILD(PROJECT GLEW) - if(UNIX) - ExternalProject_Add(GLEW - PREFIX GLEW - URL "https://sourceforge.net/projects/glew/files/glew/1.13.0/glew-1.13.0.tgz/download" - URL_MD5 7cbada3166d2aadfc4169c4283701066 - BINARY_DIR ${GLEW_SB_BUILD_DIR} - DOWNLOAD_DIR ${DOWNLOAD_LOCATION} - INSTALL_DIR ${SB_INSTALL_PREFIX} - CMAKE_COMMAND ${SB_CMAKE_COMMAND} - DEPENDS ${GLEW_DEPENDENCIES} - PATCH_COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_SOURCE_DIR}/patches/GLEW/CMakeLists.txt - ${GLEW_SB_SRC} - ) +if(UNIX) + ExternalProject_Add(GLEW + PREFIX GLEW + URL "https://sourceforge.net/projects/glew/files/glew/1.13.0/glew-1.13.0.tgz/download" + URL_MD5 7cbada3166d2aadfc4169c4283701066 + BINARY_DIR ${GLEW_SB_BUILD_DIR} + DOWNLOAD_DIR ${DOWNLOAD_LOCATION} + INSTALL_DIR ${SB_INSTALL_PREFIX} + CMAKE_CACHE_ARGS ${SB_CMAKE_CACHE_ARGS} + CMAKE_COMMAND ${SB_CMAKE_COMMAND} + DEPENDS ${GLEW_DEPENDENCIES} + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_SOURCE_DIR}/patches/GLEW/CMakeLists.txt + ${GLEW_SB_SRC} + ) - elseif(MSVC) - set(SB_GLEW_DIR "Release/Win32") - if(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(SB_GLEW_DIR "Release/x64") - endif() - ExternalProject_Add(GLEW - PREFIX GLEW - URL "https://sourceforge.net/projects/glew/files/glew/1.13.0/glew-1.13.0-win32.zip/download" - URL_MD5 a2c0e4d75bdb84217550e51c0f1e7090 - BINARY_DIR ${GLEW_SB_BUILD_DIR} - INSTALL_DIR ${CMAKE_INSTALL_PREFIX} - DOWNLOAD_DIR ${DOWNLOAD_LOCATION} - PATCH_COMMAND ${CMAKE_COMMAND} -E copy_directory ${GLEW_SB_SRC}/include ${CMAKE_INSTALL_PREFIX}/include - CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy ${GLEW_SB_SRC}/lib/${SB_GLEW_DIR}/glew32s.lib ${CMAKE_INSTALL_PREFIX}/lib - BUILD_COMMAND ${CMAKE_COMMAND} -E copy ${GLEW_SB_SRC}/lib/${SB_GLEW_DIR}/glew32.lib ${CMAKE_INSTALL_PREFIX}/lib - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy ${GLEW_SB_SRC}/bin/${SB_GLEW_DIR}/glew32.dll ${CMAKE_INSTALL_PREFIX}/bin/ - ) - - message(STATUS " Pre-built binaries of GLEW are used for MSVC") - endif() - - set(_SB_GLEW_INCLUDE_DIR ${SB_INSTALL_PREFIX}/include) - if(WIN32) - set(_SB_GLEW_LIBRARY ${SB_INSTALL_PREFIX}/lib/libGLEW.lib) - elseif(UNIX) - set(_SB_GLEW_LIBRARY ${SB_INSTALL_PREFIX}/lib/libGLEW${CMAKE_SHARED_LIBRARY_SUFFIX}) +elseif(MSVC) + set(SB_GLEW_DIR "Release/Win32") + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(SB_GLEW_DIR "Release/x64") endif() - + ExternalProject_Add(GLEW + PREFIX GLEW + URL "https://sourceforge.net/projects/glew/files/glew/1.13.0/glew-1.13.0-win32.zip/download" + URL_MD5 a2c0e4d75bdb84217550e51c0f1e7090 + BINARY_DIR ${GLEW_SB_BUILD_DIR} + INSTALL_DIR ${CMAKE_INSTALL_PREFIX} + DOWNLOAD_DIR ${DOWNLOAD_LOCATION} + PATCH_COMMAND ${CMAKE_COMMAND} -E copy_directory ${GLEW_SB_SRC}/include ${CMAKE_INSTALL_PREFIX}/include + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy ${GLEW_SB_SRC}/lib/${SB_GLEW_DIR}/glew32s.lib ${CMAKE_INSTALL_PREFIX}/lib + BUILD_COMMAND ${CMAKE_COMMAND} -E copy ${GLEW_SB_SRC}/lib/${SB_GLEW_DIR}/glew32.lib ${CMAKE_INSTALL_PREFIX}/lib + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy ${GLEW_SB_SRC}/bin/${SB_GLEW_DIR}/glew32.dll ${CMAKE_INSTALL_PREFIX}/bin/ + ) + message(STATUS " Pre-built binaries of GLEW are used for MSVC") endif() + +set(_SB_GLEW_INCLUDE_DIR ${SB_INSTALL_PREFIX}/include) +if(WIN32) + set(_SB_GLEW_LIBRARY ${SB_INSTALL_PREFIX}/lib/libGLEW.lib) +elseif(UNIX) + set(_SB_GLEW_LIBRARY ${SB_INSTALL_PREFIX}/lib/libGLEW${CMAKE_SHARED_LIBRARY_SUFFIX}) endif() diff --git a/SuperBuild/CMake/External_glfw.cmake b/SuperBuild/CMake/External_glfw.cmake index bd7d5d0b8cdb917faba74fccee27da97e97306d8..4646e64cfe175b7b9ee558d9f284597c5d54cc84 100644 --- a/SuperBuild/CMake/External_glfw.cmake +++ b/SuperBuild/CMake/External_glfw.cmake @@ -1,32 +1,26 @@ -if(NOT __EXTERNAL_GLFW__w) - set(__EXTERNAL_GLFW__ 1) +INCLUDE_ONCE_MACRO(GLFW) - if(USE_SYSTEM_GLFW) - message(STATUS " Using GLFW system version") - else() - SETUP_SUPERBUILD(PROJECT GLFW) - message(STATUS " Using GLFW SuperBuild version") +SETUP_SUPERBUILD(PROJECT GLFW) - ExternalProject_Add(GLFW - PREFIX GLFW - URL "https://github.com/glfw/glfw/releases/download/3.1.2/glfw-3.1.2.zip" - URL_MD5 8023327bfe979b3fe735e449e2f54842 - BINARY_DIR ${GLFW_SB_BUILD_DIR} - INSTALL_DIR ${CMAKE_INSTALL_PREFIX} - DOWNLOAD_DIR ${DOWNLOAD_LOCATION} - CMAKE_CACHE_ARGS - -DGLFW_BUILD_EXAMPLES:BOOL=OFF - -DGLFW_BUILD_DOCS:BOOL=OFF - -DGLFW_BUILD_TESTS:BOOL=OFF - CMAKE_COMMAND ${SB_CMAKE_COMMAND} - ) +ExternalProject_Add(GLFW + PREFIX GLFW + URL "https://github.com/glfw/glfw/releases/download/3.1.2/glfw-3.1.2.zip" + URL_MD5 8023327bfe979b3fe735e449e2f54842 + BINARY_DIR ${GLFW_SB_BUILD_DIR} + INSTALL_DIR ${CMAKE_INSTALL_PREFIX} + DOWNLOAD_DIR ${DOWNLOAD_LOCATION} + CMAKE_CACHE_ARGS + ${SB_CMAKE_CACHE_ARGS} + -DGLFW_BUILD_EXAMPLES:BOOL=OFF + -DGLFW_BUILD_DOCS:BOOL=OFF + -DGLFW_BUILD_TESTS:BOOL=OFF + CMAKE_COMMAND ${SB_CMAKE_COMMAND} + ) - set(_SB_GLFW_INCLUDE_DIR ${SB_INSTALL_PREFIX}/include) - if(WIN32) - set(_SB_GLFW_LIBRARY ${SB_INSTALL_PREFIX}/lib/libglfw.lib) - elseif(UNIX) - set(_SB_GLFW_LIBRARY ${SB_INSTALL_PREFIX}/lib/libglfw${CMAKE_SHARED_LIBRARY_SUFFIX}) - endif() - - endif() +set(_SB_GLFW_INCLUDE_DIR ${SB_INSTALL_PREFIX}/include) +if(WIN32) + set(_SB_GLFW_LIBRARY ${SB_INSTALL_PREFIX}/lib/libglfw.lib) +elseif(UNIX) + set(_SB_GLFW_LIBRARY ${SB_INSTALL_PREFIX}/lib/libglfw${CMAKE_SHARED_LIBRARY_SUFFIX}) endif() + diff --git a/SuperBuild/CMake/External_glut.cmake b/SuperBuild/CMake/External_glut.cmake index 88f712067f669b5cad0891ca78b3389802d9c919..457e2d1d8fe2e20462e581c9e61d326a8978c8b4 100644 --- a/SuperBuild/CMake/External_glut.cmake +++ b/SuperBuild/CMake/External_glut.cmake @@ -1,37 +1,30 @@ -if(NOT __EXTERNAL_GLUT__) -set(__EXTERNAL_GLUT__ 1) +INCLUDE_ONCE_MACRO(GLUT) -if(USE_SYSTEM_GLUT) - message(STATUS " Using GLUT system version") -else() - - if(APPLE) - message(FATAL_ERROR "Cannot activate GLUT on OSX. See manits issue #1194") - endif() +if(APPLE) + message(FATAL_ERROR "Cannot activate GLUT on OSX. See manits issue #1194") + retunr() +endif() - SETUP_SUPERBUILD(PROJECT GLUT) - message(STATUS " Using GLUT SuperBuild version") +SETUP_SUPERBUILD(PROJECT GLUT) - ExternalProject_Add(GLUT - PREFIX GLUT - URL "http://downloads.sourceforge.net/project/freeglut/freeglut/2.8.1/freeglut-2.8.1.tar.gz" - URL_MD5 918ffbddcffbac83c218bc52355b6d5a - BINARY_DIR ${GLUT_SB_BUILD_DIR} - INSTALL_DIR ${CMAKE_INSTALL_PREFIX} - DOWNLOAD_DIR ${DOWNLOAD_LOCATION} - PATCH_COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_SOURCE_DIR}/patches/GLUT/CMakeLists.txt - ${GLUT_SB_SRC} - CMAKE_COMMAND ${SB_CMAKE_COMMAND} +ExternalProject_Add(GLUT + PREFIX GLUT + URL "http://downloads.sourceforge.net/project/freeglut/freeglut/2.8.1/freeglut-2.8.1.tar.gz" + URL_MD5 918ffbddcffbac83c218bc52355b6d5a + BINARY_DIR ${GLUT_SB_BUILD_DIR} + INSTALL_DIR ${SB_INSTALL_PREFIX} + DOWNLOAD_DIR ${DOWNLOAD_LOCATION} + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_SOURCE_DIR}/patches/GLUT/CMakeLists.txt + ${GLUT_SB_SRC} + CMAKE_CACHE_ARGS ${SB_CMAKE_CACHE_ARGS} + CMAKE_COMMAND ${SB_CMAKE_COMMAND} ) - set(_SB_GLUT_INCLUDE_DIR ${SB_INSTALL_PREFIX}/include) - if(WIN32) - set(_SB_GLUT_LIBRARY ${SB_INSTALL_PREFIX}/lib/libfreeglut.lib) - elseif(UNIX) - set(_SB_GLUT_LIBRARY ${SB_INSTALL_PREFIX}/lib/libfreeglut${CMAKE_SHARED_LIBRARY_SUFFIX}) - endif() - - message(STATUS " Using glut SuperBuild version") -endif() +set(_SB_GLUT_INCLUDE_DIR ${SB_INSTALL_PREFIX}/include) +if(WIN32) + set(_SB_GLUT_LIBRARY ${SB_INSTALL_PREFIX}/lib/libfreeglut.lib) +elseif(UNIX) + set(_SB_GLUT_LIBRARY ${SB_INSTALL_PREFIX}/lib/libfreeglut${CMAKE_SHARED_LIBRARY_SUFFIX}) endif() + diff --git a/SuperBuild/CMake/External_itk.cmake b/SuperBuild/CMake/External_itk.cmake index f3462644cf2d038983034666eac9f981c14dc817..c2a8aa8601523e2a7a8cee4c8597eead0b5159f7 100644 --- a/SuperBuild/CMake/External_itk.cmake +++ b/SuperBuild/CMake/External_itk.cmake @@ -1,11 +1,6 @@ -if(NOT __EXTERNAL_ITK__) -set(__EXTERNAL_ITK__ 1) +INCLUDE_ONCE_MACRO(ITK) -if(USE_SYSTEM_ITK) - message(STATUS " Using ITK system version") -else() SETUP_SUPERBUILD(PROJECT ITK) - message(STATUS " Using ITK SuperBuild version") # if(MSVC) # set(ITK_SB_SRC "C:/Temp/ITK") @@ -149,6 +144,7 @@ else() INSTALL_DIR ${SB_INSTALL_PREFIX} DOWNLOAD_DIR ${DOWNLOAD_LOCATION} CMAKE_CACHE_ARGS + ${SB_CMAKE_CACHE_ARGS} ${ITK_SB_COMPILATION_FLAGS} -DITK_BUILD_DEFAULT_MODULES:BOOL=OFF ${ITK_MODULES_CMAKE_CACHE} @@ -165,6 +161,3 @@ else() ) set(_SB_ITK_DIR ${SB_INSTALL_PREFIX}/lib/cmake/ITK-${ITK_SB_VERSION}) - -endif() -endif() diff --git a/SuperBuild/CMake/External_jpeg.cmake b/SuperBuild/CMake/External_jpeg.cmake index b9a7790e556abb4fcb02625465d6cc54e5448f3f..c8392a4cc4aec411c97ad35a5183db9eb59d0eac 100644 --- a/SuperBuild/CMake/External_jpeg.cmake +++ b/SuperBuild/CMake/External_jpeg.cmake @@ -1,16 +1,6 @@ -if( __EXTERNAL_JPEG__) - return() -else() - set(__EXTERNAL_JPEG__ 1) -endif() - -if(USE_SYSTEM_JPEG) - message(STATUS " Using libjpeg system version") - return() -endif() +INCLUDE_ONCE_MACRO(JPEG) SETUP_SUPERBUILD(PROJECT JPEG) -message(STATUS " Using libjpeg SuperBuild version") if(WIN32) set(JPEG_PATCH_COMMAND ${CMAKE_COMMAND} diff --git a/SuperBuild/CMake/External_libkml.cmake b/SuperBuild/CMake/External_libkml.cmake index 0470e4492f978b110177d2cabd0509e18cccd20e..aa9affced0723fa62decf2865e2dda6ac5a8e5ea 100644 --- a/SuperBuild/CMake/External_libkml.cmake +++ b/SuperBuild/CMake/External_libkml.cmake @@ -1,11 +1,6 @@ -if(NOT __EXTERNAL_LIBKML__) -set(__EXTERNAL_LIBKML__ 1) +INCLUDE_ONCE_MACRO(LIBKML) -if(USE_SYSTEM_LIBKML) - message(STATUS " Using libKML system version") -else() SETUP_SUPERBUILD(PROJECT LIBKML) - message(STATUS " Using libKML SuperBuild version") # declare dependencies ##set(LIBKML_DEPENDENCIES EXPAT ZLIB BOOST) @@ -60,6 +55,3 @@ else() set(_SB_LIBKML_XSD_LIBRARY ${SB_INSTALL_PREFIX}/lib/libkmlxsd${CMAKE_SHARED_LIBRARY_SUFFIX}) set(_SB_LIBKML_MINIZIP_LIBRARY ${SB_INSTALL_PREFIX}/lib/libminizip${CMAKE_SHARED_LIBRARY_SUFFIX}) endif() - -endif() -endif() diff --git a/SuperBuild/CMake/External_libsvm.cmake b/SuperBuild/CMake/External_libsvm.cmake index 4b89c5bd1735af4f06ee80f1ebf74ca02ff59735..6e6ef5f256cef0f33c755ce37b447ae6f92e1a8c 100644 --- a/SuperBuild/CMake/External_libsvm.cmake +++ b/SuperBuild/CMake/External_libsvm.cmake @@ -1,16 +1,7 @@ -if( __EXTERNAL_LIBSVM__) - return() -else() - set(__EXTERNAL_LIBSVM__ 1) -endif() - -if(USE_SYSTEM_LIBSVM) - message(STATUS " Using LibSVM system version") - return() -endif() +INCLUDE_ONCE_MACRO(LIBSVM) SETUP_SUPERBUILD(PROJECT LIBSVM) -message(STATUS " Using LibSVM SuperBuild version") + ExternalProject_Add(LIBSVM PREFIX LIBSVM diff --git a/SuperBuild/CMake/External_muparser.cmake b/SuperBuild/CMake/External_muparser.cmake index 3c40c36ae9e9542a7e3a926613f0a542d92d28eb..0f8795da4908689993562a5d7caa05c1cf8f119f 100644 --- a/SuperBuild/CMake/External_muparser.cmake +++ b/SuperBuild/CMake/External_muparser.cmake @@ -1,16 +1,6 @@ -if( __EXTERNAL_MUPARSER__) - return() -else() - set(__EXTERNAL_MUPARSER__ 1) -endif() - -if(USE_SYSTEM_MUPARSER) - message(STATUS " Using muParser system version") - return() -endif() +INCLUDE_ONCE_MACRO(MUPARSER) SETUP_SUPERBUILD(PROJECT MUPARSER) -message(STATUS " Using muParser SuperBuild version") ExternalProject_Add(MUPARSER PREFIX MUPARSER diff --git a/SuperBuild/CMake/External_muparserx.cmake b/SuperBuild/CMake/External_muparserx.cmake index 35bccac5182909ef9c3eaf5928c0a75497189636..711f8dfcf286108c4812b378f1558e39c2d77d7e 100644 --- a/SuperBuild/CMake/External_muparserx.cmake +++ b/SuperBuild/CMake/External_muparserx.cmake @@ -1,16 +1,6 @@ -if( __EXTERNAL_MUPARSERX__) - return() -else() - set(__EXTERNAL_MUPARSERX__ 1) -endif() - -if(USE_SYSTEM_MUPARSERX) - message(STATUS " Using muParserX system version") - return() -endif() +INCLUDE_ONCE_MACRO(MUPARSERX) SETUP_SUPERBUILD(PROJECT MUPARSERX) -message(STATUS " Using muParserX SuperBuild version") set(MUPARSERX_FLAGS) if(APPLE) diff --git a/SuperBuild/CMake/External_mvd.cmake b/SuperBuild/CMake/External_mvd.cmake index d5ac422d5d0e43fe0417378fa01cff329298010b..90a8e57f5f965ad55ef651a02545cd8abdadfae9 100644 --- a/SuperBuild/CMake/External_mvd.cmake +++ b/SuperBuild/CMake/External_mvd.cmake @@ -1,8 +1,10 @@ -if(NOT __EXTERNAL_MVD__) -set(__EXTERNAL_MVD__ 1) +if( __EXTERNAL_MVD__) + return() +else() + set(__EXTERNAL_MVD__ 1) +endif() SETUP_SUPERBUILD(PROJECT MVD) -message(STATUS " Using Monteverdi SuperBuild version") # declare dependencies ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(MVD OTB QWT QT4) @@ -34,5 +36,3 @@ ExternalProject_Add(MVD ${MVD_SB_CONFIG} CMAKE_COMMAND ${SB_CMAKE_COMMAND} ) - -endif() diff --git a/SuperBuild/CMake/External_opencv.cmake b/SuperBuild/CMake/External_opencv.cmake index 3289d4f85fa261ef6acea9fcadb31398fdaf0f6b..0674a3640afb5c20a85fc15107c7f8e8b962f937 100644 --- a/SuperBuild/CMake/External_opencv.cmake +++ b/SuperBuild/CMake/External_opencv.cmake @@ -1,11 +1,7 @@ -if(NOT __EXTERNAL_OPENCV__) -set(__EXTERNAL_OPENCV__ 1) +INCLUDE_ONCE_MACRO(OPENCV) -if(USE_SYSTEM_OPENCV) - message(STATUS " Using OpenCV system version") -else() SETUP_SUPERBUILD(PROJECT OPENCV) - message(STATUS " Using OpenCV SuperBuild version") + # declare dependencies ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(OPENCV ZLIB TIFF PNG) @@ -76,5 +72,3 @@ else() endif() set(_SB_OpenCV_DIR ${SB_INSTALL_PREFIX}/share/OpenCV) -endif() -endif() diff --git a/SuperBuild/CMake/External_openjpeg.cmake b/SuperBuild/CMake/External_openjpeg.cmake index f01528ae60db25e66b619033c46c71cf2d9a5be7..de4a66638b184df93e640799405ec4b1071efea1 100644 --- a/SuperBuild/CMake/External_openjpeg.cmake +++ b/SuperBuild/CMake/External_openjpeg.cmake @@ -1,17 +1,6 @@ -if( __EXTERNAL_OPENJPEG__) - return() -else() - set(__EXTERNAL_OPENJPEG__ 1) -endif() - -if(USE_SYSTEM_OPENJPEG) - message(STATUS " Using OpenJPEG system version") - return() -endif() - +INCLUDE_ONCE_MACRO(OPENJPEG) SETUP_SUPERBUILD(PROJECT OPENJPEG) -message(STATUS " Using OpenJPEG SuperBuild version") # declare dependencies ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(OPENJPEG ZLIB TIFF PNG) diff --git a/SuperBuild/CMake/External_openssl.cmake b/SuperBuild/CMake/External_openssl.cmake index c0f7245838d867762ea04994cd2d444539a24bd4..9e4e6bcae6b4c9077039b877bdc30ce05422495c 100644 --- a/SuperBuild/CMake/External_openssl.cmake +++ b/SuperBuild/CMake/External_openssl.cmake @@ -1,13 +1,6 @@ -if(NOT __EXTERNAL_OPENSSL__) -set(__EXTERNAL_OPENSSL__ 1) - -#RK: OPENSSL is deactivated in QT4 build. -#revisit that when you have a clean openssl -if(USE_SYSTEM_OPENSSL) - message(STATUS " Using OpenSSL system version") -else() +INCLUDE_ONCE_MACRO(OPENSSL) SETUP_SUPERBUILD(PROJECT OPENSSL) - message(STATUS " Using OpenSSL SuperBuild version") + # declare dependencies ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(OPENSSL ZLIB) @@ -74,6 +67,3 @@ else() elseif(UNIX) set(_SB_OPENSSL_LIBRARY ${SB_INSTALL_PREFIX}/lib/libssl${CMAKE_SHARED_LIBRARY_SUFFIX}) endif() - -endif() -endif() diff --git a/SuperBuild/CMake/External_openthreads.cmake b/SuperBuild/CMake/External_openthreads.cmake index 18f69f5e6636a1f561512691cb66e7411be1d433..f5a34a77a4516274a23ff1310e0ce94fccc3a347 100644 --- a/SuperBuild/CMake/External_openthreads.cmake +++ b/SuperBuild/CMake/External_openthreads.cmake @@ -1,17 +1,6 @@ -if( __EXTERNAL_OPENTHREADS__) - return() -else() - set(__EXTERNAL_OPENTHREADS__ 1) -endif() - -if(USE_SYSTEM_OPENTHREADS) - message(STATUS " Using OpenThreads system version") - return() -endif() - +INCLUDE_ONCE_MACRO(OPENTHREADS) SETUP_SUPERBUILD(PROJECT OPENTHREADS) -message(STATUS " Using OpenThreads SuperBuild version") #TODO: try to use cmake variable for DOWNLOAD_COMMAND for different platforms #if(MSVC) diff --git a/SuperBuild/CMake/External_ossim.cmake b/SuperBuild/CMake/External_ossim.cmake index 25b208b48cbf0d46cb9581130acd3b6af9c4fcc5..e6076170232c25515c0b49c1b6e73ad79e3a6eac 100644 --- a/SuperBuild/CMake/External_ossim.cmake +++ b/SuperBuild/CMake/External_ossim.cmake @@ -1,16 +1,7 @@ -if( __EXTERNAL_OSSIM__) - return() -else() - set(__EXTERNAL_OSSIM__ 1) -endif() - -if(USE_SYSTEM_OSSIM) - message(STATUS " Using OSSIM system version") - return() -endif() +INCLUDE_ONCE_MACRO(OSSIM) SETUP_SUPERBUILD(PROJECT OSSIM) -message(STATUS " Using OSSIM SuperBuild version") + # declare dependencies ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(OSSIM TIFF GEOTIFF GEOS JPEG OPENTHREADS FREETYPE) diff --git a/SuperBuild/CMake/External_otb.cmake b/SuperBuild/CMake/External_otb.cmake index 0e2cc778fca55007e989159ecba3c8b5e63880f3..76328f0b23cf4ebd2f0656071468edfe12c60a02 100644 --- a/SuperBuild/CMake/External_otb.cmake +++ b/SuperBuild/CMake/External_otb.cmake @@ -1,8 +1,6 @@ -if(NOT __EXTERNAL_OTB__) -set(__EXTERNAL_OTB__ 1) +INCLUDE_ONCE_MACRO(OTB) SETUP_SUPERBUILD(PROJECT OTB) -message(STATUS " Using OTB SuperBuild version") if(SUPERBUILD_IN_OTB_TREE) set(OTB_SB_SRC ${CMAKE_SOURCE_DIR}/..) @@ -198,6 +196,3 @@ ExternalProject_Add_Step(OTB install_copyright else() set(_SB_OTB_DIR ${SB_INSTALL_PREFIX}) endif() - - -endif() diff --git a/SuperBuild/CMake/External_pcre.cmake b/SuperBuild/CMake/External_pcre.cmake index 7344b7bda83131b079f63614b069c564e22bec02..3a0792349362599b842b74c784ac2908c252f004 100644 --- a/SuperBuild/CMake/External_pcre.cmake +++ b/SuperBuild/CMake/External_pcre.cmake @@ -1,38 +1,28 @@ -if(NOT __EXTERNAL_PCRE__) -set(__EXTERNAL_PCRE__ 1) - -if(USE_SYSTEM_PCRE) - message(STATUS " Using pcre system version") +INCLUDE_ONCE_MACRO(PCRE) +SETUP_SUPERBUILD(PROJECT PCRE) +if(MSVC) + # TODO ? else() - SETUP_SUPERBUILD(PROJECT PCRE) - message(STATUS " Using pcre SuperBuild version") - - if(MSVC) - # TODO ? - else() - ExternalProject_Add(PCRE - PREFIX PCRE - URL "http://sourceforge.net/projects/pcre/files/pcre/8.36/pcre-8.36.tar.gz/download" - URL_MD5 ff7b4bb14e355f04885cf18ff4125c98 - BINARY_DIR ${PCRE_SB_BUILD_DIR} - INSTALL_DIR ${SB_INSTALL_PREFIX} - DOWNLOAD_DIR ${DOWNLOAD_LOCATION} - CONFIGURE_COMMAND - ${PCRE_SB_BUILD_DIR}/configure - --prefix=${SB_INSTALL_PREFIX} - BUILD_COMMAND $(MAKE) - INSTALL_COMMAND $(MAKE) install - DEPENDS ${PCRE_DEPENDENCIES} - ) - - ExternalProject_Add_Step(PCRE copy_source - COMMAND ${CMAKE_COMMAND} -E copy_directory - ${PCRE_SB_SRC} ${PCRE_SB_BUILD_DIR} - DEPENDEES patch update - DEPENDERS configure - ) + ExternalProject_Add(PCRE + PREFIX PCRE + URL "http://sourceforge.net/projects/pcre/files/pcre/8.36/pcre-8.36.tar.gz/download" + URL_MD5 ff7b4bb14e355f04885cf18ff4125c98 + BINARY_DIR ${PCRE_SB_BUILD_DIR} + INSTALL_DIR ${SB_INSTALL_PREFIX} + DOWNLOAD_DIR ${DOWNLOAD_LOCATION} + CONFIGURE_COMMAND + ${PCRE_SB_BUILD_DIR}/configure + --prefix=${SB_INSTALL_PREFIX} + BUILD_COMMAND $(MAKE) + INSTALL_COMMAND $(MAKE) install + DEPENDS ${PCRE_DEPENDENCIES} + ) - endif() - -endif() + ExternalProject_Add_Step(PCRE copy_source + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${PCRE_SB_SRC} ${PCRE_SB_BUILD_DIR} + DEPENDEES patch update + DEPENDERS configure + ) + endif() diff --git a/SuperBuild/CMake/External_png.cmake b/SuperBuild/CMake/External_png.cmake index 9390adc98d78a404bd19771fa6cbbc1093534d44..0bfc1931b19577068a4b402167147ff961926ff4 100644 --- a/SuperBuild/CMake/External_png.cmake +++ b/SuperBuild/CMake/External_png.cmake @@ -1,16 +1,7 @@ -if( __EXTERNAL_PNG__) - return() -else() - set(__EXTERNAL_PNG__ 1) -endif() - -if(USE_SYSTEM_PNG) - message(STATUS " Using libpng system version") - return() -endif() +INCLUDE_ONCE_MACRO(PNG) SETUP_SUPERBUILD(PROJECT PNG) -message(STATUS " Using libpng SuperBuild version") + # declare dependencies ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(PNG ZLIB) diff --git a/SuperBuild/CMake/External_proj.cmake b/SuperBuild/CMake/External_proj.cmake index 17521f3c7624af31e9ff1cc1a1f1ec3ba832c582..874d11709bbe548de224bc9f0bd3deac6ccfb6b2 100644 --- a/SuperBuild/CMake/External_proj.cmake +++ b/SuperBuild/CMake/External_proj.cmake @@ -1,11 +1,7 @@ -if(NOT __EXTERNAL_PROJ__) -set(__EXTERNAL_PROJ__ 1) +INCLUDE_ONCE_MACRO(PROJ) -if(USE_SYSTEM_PROJ) - message(STATUS " Using Proj4 system version") -else() SETUP_SUPERBUILD(PROJECT PROJ) - message(STATUS " Using Proj4 SuperBuild version") + if(MSVC) @@ -68,6 +64,3 @@ else() elseif(UNIX) set(_SB_PROJ_LIBRARY ${SB_INSTALL_PREFIX}/lib/libproj${CMAKE_SHARED_LIBRARY_SUFFIX}) endif() - -endif() -endif() diff --git a/SuperBuild/CMake/External_qt4.cmake b/SuperBuild/CMake/External_qt4.cmake index c44265bf29c927f8d04005391d6184dc24e82b3e..cb024eefe5a63b4e85d6122587cbb885830cb3a9 100644 --- a/SuperBuild/CMake/External_qt4.cmake +++ b/SuperBuild/CMake/External_qt4.cmake @@ -1,9 +1,5 @@ -if(NOT __EXTERNAL_QT4__) - set(__EXTERNAL_QT4__ 1) +INCLUDE_ONCE_MACRO(QT4) - if(USE_SYSTEM_QT4) - message(STATUS " Using Qt4 system version") - else() SETUP_SUPERBUILD(PROJECT QT4) message(STATUS " Using Qt4 SuperBuild version") if(UNIX AND NOT APPLE) diff --git a/SuperBuild/CMake/External_qwt.cmake b/SuperBuild/CMake/External_qwt.cmake index bf12e0dbb6d4c2073bfc3bbed71b5b804903038a..61611f649f20cbd3d5c1a9b30079a0777b3f14a4 100644 --- a/SuperBuild/CMake/External_qwt.cmake +++ b/SuperBuild/CMake/External_qwt.cmake @@ -1,11 +1,6 @@ -if(NOT __EXTERNAL_QWT__) -set(__EXTERNAL_QWT__ 1) +INCLUDE_ONCE_MACRO(QWT) -if(USE_SYSTEM_QWT) - message(STATUS " Using QWT system version") -else() - SETUP_SUPERBUILD(PROJECT QWT) - message(STATUS " Using Qwt SuperBuild version") +SETUP_SUPERBUILD(PROJECT QWT) # declare dependencies ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(QWT QT4) @@ -50,6 +45,3 @@ else() elseif(UNIX) set(_SB_QWT_LIBRARY ${SB_INSTALL_PREFIX}/lib/libqwt${CMAKE_SHARED_LIBRARY_SUFFIX}) endif() - -endif() -endif() diff --git a/SuperBuild/CMake/External_sqlite.cmake b/SuperBuild/CMake/External_sqlite.cmake index 556af80b5a41deb40f5ee3892076fd7272aa5d0b..85b6c189dac95414740d79ca3c9852f79c84306e 100644 --- a/SuperBuild/CMake/External_sqlite.cmake +++ b/SuperBuild/CMake/External_sqlite.cmake @@ -1,16 +1,7 @@ -if( __EXTERNAL_SQLITE__) - return() -else() - set(__EXTERNAL_SQLITE__ 1) -endif() - -if(USE_SYSTEM_SQLITE) - message(STATUS " Using SQLite system version") - return() -endif() +INCLUDE_ONCE_MACRO(SQLITE) SETUP_SUPERBUILD(PROJECT SQLITE) -message(STATUS " Using SQLite SuperBuild version") + ExternalProject_Add(SQLITE PREFIX SQLITE diff --git a/SuperBuild/CMake/External_swig.cmake b/SuperBuild/CMake/External_swig.cmake index a40a5a53f020215881a2cfcd9fc48beabef64e64..d09745fb46406603183fc43ffaecd5e48216369a 100644 --- a/SuperBuild/CMake/External_swig.cmake +++ b/SuperBuild/CMake/External_swig.cmake @@ -1,11 +1,7 @@ -if(NOT __EXTERNAL_SWIG__) -set(__EXTERNAL_SWIG__ 1) +INCLUDE_ONCE_MACRO(SWIG) -if(USE_SYSTEM_SWIG) - message(STATUS " Using swig system version") -else() SETUP_SUPERBUILD(PROJECT SWIG) - message(STATUS " Using swig SuperBuild version") + set(PythonInterp_FIND_VERSION 2.7) find_package(PythonInterp) @@ -77,6 +73,3 @@ else() elseif(UNIX) set(_SB_SWIG_EXECUTABLE ${SB_INSTALL_PREFIX}/bin/swig) endif() - -endif() -endif() diff --git a/SuperBuild/CMake/External_tiff.cmake b/SuperBuild/CMake/External_tiff.cmake index ac8e34a636f61905ae65e8c296d9746215d77f3d..c8a715137728059df06c2263b492c30f6786b125 100644 --- a/SuperBuild/CMake/External_tiff.cmake +++ b/SuperBuild/CMake/External_tiff.cmake @@ -1,16 +1,6 @@ -if( __EXTERNAL_TIFF__) - return() -else() - set(__EXTERNAL_TIFF__ 1) -endif() - -if(USE_SYSTEM_TIFF) - message(STATUS " Using libtiff system version") - return() -endif() +INCLUDE_ONCE_MACRO(TIFF) SETUP_SUPERBUILD(PROJECT TIFF) -message(STATUS " Using libtiff SuperBuild version") # declare dependencies ADDTO_DEPENDENCIES_IF_NOT_SYSTEM(TIFF ZLIB JPEG) diff --git a/SuperBuild/CMake/External_tinyxml.cmake b/SuperBuild/CMake/External_tinyxml.cmake index 5df7e52ccbbbb31d25dedf4bf1d3507d3a4ccbbe..c567628b9cff3aee3511a6e03bb274e135fb69cc 100644 --- a/SuperBuild/CMake/External_tinyxml.cmake +++ b/SuperBuild/CMake/External_tinyxml.cmake @@ -1,16 +1,5 @@ -if( __EXTERNAL_TINYXML__) - return() -else() - set(__EXTERNAL_TINYXML__ 1) -endif() - -if(USE_SYSTEM_TINYXML) - message(STATUS " Using TinyXML system version") - return() -endif() - +INCLUDE_ONCE_MACRO(TINYXML) SETUP_SUPERBUILD(PROJECT TINYXML) - message(STATUS " Using TinyXML SuperBuild version") ExternalProject_Add(TINYXML PREFIX TINYXML diff --git a/SuperBuild/CMake/External_zlib.cmake b/SuperBuild/CMake/External_zlib.cmake index 68755e6b0abf2e708335894f49301730e6723aff..cdeb46d9596120fa4a8946d80ee50977d8d588d9 100644 --- a/SuperBuild/CMake/External_zlib.cmake +++ b/SuperBuild/CMake/External_zlib.cmake @@ -1,16 +1,7 @@ -if( __EXTERNAL_ZLIB__) - return() -else() - set(__EXTERNAL_ZLIB__ 1) -endif() - -if(USE_SYSTEM_ZLIB) - message(STATUS " Using Zlib system version") - return() -endif() +INCLUDE_ONCE_MACRO(ZLIB) SETUP_SUPERBUILD(PROJECT ZLIB) -message(STATUS " Using zlib SuperBuild version") + # Try official release 1.2.8 ExternalProject_Add(ZLIB diff --git a/SuperBuild/CMake/SuperBuild_Macro.cmake b/SuperBuild/CMake/SuperBuild_Macro.cmake index b0e9b73b5255970cc1d8310a144838131c88d54b..506250cb556ca0afc433cbef6d8e2786d0402121 100644 --- a/SuperBuild/CMake/SuperBuild_Macro.cmake +++ b/SuperBuild/CMake/SuperBuild_Macro.cmake @@ -53,10 +53,26 @@ macro(ADD_SYSTEM_PREFIX) endif() endmacro(ADD_SYSTEM_PREFIX) +macro(INCLUDE_ONCE_MACRO project) + if( __included_${project}__) + return() +else() + set(__included_${project}__ 1) +endif() + +if(USE_SYSTEM_${project}) + #message(STATUS " Using ${project} system version") + list(APPEND FROM_SYSTEM_LIST ${project}) + return() +endif() +endmacro() + # Macro SETUP_SUPERBUILD # Initialize usefull variables to build a superbuild project macro(SETUP_SUPERBUILD) cmake_parse_arguments(NEW_SB "" "PROJECT" "" ${ARGN}) + list(APPEND FROM_SUPERBUILD_LIST ${NEW_SB_PROJECT}) + #message(STATUS " Using ${NEW_SB_PROJECT} SuperBuild version") #set_property(GLOBAL PROPERTY prop_${project}_DEPENDENCIES "") set(${NEW_SB_PROJECT}_DEPENDENCIES "") set(${NEW_SB_PROJECT}_SB_BUILD_DIR ${CMAKE_BINARY_DIR}/${NEW_SB_PROJECT}/build) @@ -186,4 +202,4 @@ macro(SUPERBUILD_UPDATE_CMAKE_VARIABLES PROJECT with_prefix) set(_SB_${PROJECT}_INCLUDE_DIR ${SB_INSTALL_PREFIX}/${include_dir}) set(_SB_${PROJECT}_LIBRARY ${SB_INSTALL_PREFIX}/lib/${lib_file}) -endmacro() \ No newline at end of file +endmacro()