123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- project (SuperBuild CXX C)
- include(ExternalProject)
-
- if (Eigen3_FOUND)
- message( STATUS "Eigen was found ${eigen_DIR}" )
- else()
- message( STATUS "Eigen WAS NOT FOUND ${eigen_DIR}" )
- ExternalProject_Add(EIGEN
- GIT_REPOSITORY "https://gitlab.com/libeigen/eigen.git"
- UPDATE_COMMAND ""
- GIT_TAG "3.4.0"
- PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/eigen
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
- #CONFIGURE_COMMAND ""
- #BUILD_COMMAND ""
- #INSTALL_COMMAND ""
- )
- endif()
-
- if (yaml-cpp_FOUND)
- message( STATUS "YAML-CPP was found ${yaml-cpp_FOUND}" )
- else()
- message( STATUS "YAML-CPP WAS NOT FOUND, BUILDING" )
-
- ExternalProject_Add(YAML_CPP
- GIT_REPOSITORY "https://github.com/jbeder/yaml-cpp.git"
- GIT_TAG "yaml-cpp-0.6.3" # "master"
- UPDATE_COMMAND ""
- PATCH_COMMAND ""
- PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/yaml-cpp
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
- -DYAML_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
- -DYAML_CPP_BUILD_TESTS=OFF
- -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
- -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
- -DCMAKE_CXX_STANDARD=14
- -DCMAKE_CXX_STANDARD_REQUIRED=ON
- -DCMAKE_CXX_EXTENSIONS=OFF
- )
- endif()
-
- if ( LEMMA_VTK9_SUPPORT )
- if ( NOT VTK_FOUND OR VTK_VERSION VERSION_LESS "9.0.0" )
- message( STATUS "VTK > 8.20.0 was found! Version found: " ${VTK_VERSION}, ${VTK_USE_FILE} )
- message( STATUS "External build of VTK 8 has been added, this may take some time to build." )
- ExternalProject_Add(VTK9
- GIT_REPOSITORY "https://gitlab.kitware.com/vtk/vtk.git"
- GIT_TAG "v9.0.1"
- PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/vtk8
- CMAKE_ARGS
- -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
- -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} /
- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} /
- -DBUILD_EXAMPLES:BOOL=OFF /
- -DBUILD_TESTING:BOOL=OFF /
- -DVTK_Group_Web:BOOL=OFF /
- -DModule_vtkImagingMath:BOOL=ON /
- LOG_DOWNLOAD 0 /
- LOG_UPDATE 0
- )
- endif()
- if (VTK_FOUND AND VTK_VERSION VERSION_LESS_EQUAL "8.20.0")
- #message(STATUS "VTK 8 was found! " ${VTK_VERSION}, ${VTK_USE_FILE} )
- message(STATUS "VTK 8.2 was found! " ${VTK_VERSION}, ${VTK_MINOR_VERSION}, ${VTK_USE_FILE} )
- set(volumeRenderer volumerenderer.cxx)
- #include(${VTK_USE_FILE})
- add_definitions(-DLEMMAUSEVTK)
- else()
- endif()
-
- endif()
-
- if (LEMMA_PYTHON3_BINDINGS)
- if (pybind11_FOUND)
- find_package(PythonLibs 3.0 REQUIRED)
- message( STATUS "pybind11 was found" )
- else()
- message( STATUS "pybind11 was NOT found, please build or remove LEMMA_PYTHON3_BINDINGS" )
- #find_package(Python COMPONENTS Interpreter Development REQUIRED)
- #find_package(PythonLibs 3.0 REQUIRED)
- ExternalProject_Add(pybind11
- GIT_REPOSITORY "https://github.com/pybind/pybind11.git"
- GIT_TAG "v2.11.1" # "master" #"v2.4.3" #"master"
- UPDATE_COMMAND ""
- PATCH_COMMAND ""
- PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/pybind11
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
- -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
- -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
- -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
- #CONFIGURE_COMMAND ""
- #BUILD_COMMAND ""
- #INSTALL_COMMAND ""
- )
- endif()
- endif()
-
- if (LEMMA_ENABLE_TESTING)
- if (CXXTEST_FOUND)
- message( STATUS "CxxTest was found" )
- else()
- message( STATUS "CxxTest WAS NOT FOUND")
- ## CxxTest has no installation per se, it uses python
- ExternalProject_Add(CxxTest
- GIT_REPOSITORY "https://github.com/CxxTest/cxxtest.git"
- GIT_TAG "master"
- UPDATE_COMMAND ""
- PATCH_COMMAND ""
- PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/CxxTest
- #CMAKE_ARGS -DCXXTEST_INCLUDE_DIR="${CMAKE_CURRENT_BINARY_DIR}/external/CxxTest/src/CxxTest/"
- # -DCXXTEST_PYTHON_TESTGEN_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/external/CxxTest/src/CxxTest/bin/cxxtestgen"
- #-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} /
- # -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} /
- # -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
- CONFIGURE_COMMAND ""
- BUILD_COMMAND ""
- INSTALL_COMMAND ""
- #set (CXXTEST_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/external/CxxTest/src/CxxTest/" CACHE PATH) # PATH "" FORCE )
- #set (CXXTEST_PYTHON_TESTGEN_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/external/CxxTest/src/CxxTest/bin/cxxtestgen" CACHE PATH) # PATH "" FORCE )
- )
- #enable_testing()
- # The values "CACHE PATH "" FORCE" makes the GUI show the values of the local CxxTest, but this can cause issues
- # with users wanting to specify their own path. However, the SuperBuild needs this, in theory you are only here
- # because a usable CXXTEST was not already found on the machine, so likely this is sane to do
-
- #find_package(CxxTest REQUIRED)
- endif()
- endif()
-
- # tinyxml2, this library is used for XML IO
- #option( LEMMA_TINYXML_SUPPORT "TinyXML library support for .xml files" OFF)
- if ( LEMMA_TINYXML_SUPPORT )
- ExternalProject_Add(TINYXML2
- GIT_REPOSITORY "https://github.com/leethomason/tinyxml2.git"
- GIT_TAG "master"
- UPDATE_COMMAND ""
- PATCH_COMMAND ""
- PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/tinyxml2
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} /
- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
- )
- add_compile_options(-DTINYXMLSUPPORT)
- endif()
-
- #option( LEMMA_MATIO_SUPPORT "MATIO library support for MATLAB .mat files" OFF)
- if ( LEMMA_MATIO_SUPPORT )
- add_compile_options(-DHAVE_MATIO)
- # matio, this library is used for MATLAB file IO
- ExternalProject_ADD(MATIO
- GIT_REPOSITORY "git://git.code.sf.net/p/matio/matio"
- GIT_TAG "master"
- UPDATE_COMMAND ""
- PATCH_COMMAND ""
- PREFIX ${CMAKE_CURRENT_BINARY_DIR}/external/matio
- #CONFIGURE_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/external/matio/src/MATIO/autogen.sh && configure
- CONFIGURE_COMMAND ./autogen.sh && ./configure --prefix=${CMAKE_INSTALL_PREFIX}
- BUILD_IN_SOURCE 1
- BUILD_COMMAND ${MAKE}
- )
- endif()
-
- # vim: set tabstop=4 shiftwidth=4 expandtab:
|