diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c29e6ef67afe19404f82d8c6686328df71ad838..4459f06610f2daa724c9e12b0f8fcbab60619ce0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,7 +102,11 @@ INCLUDE(scripts/cmake/Pack.cmake) OPTION(Boost_USE_STATIC_LIBS "This option has to be set from the command line (before boost gets found)!" OFF) INCLUDE(scripts/cmake/ExternalProjectBoost.cmake) OPTION(OGS_SYSTEM_VTK_ONLY "If On VTK will be searched if installed and will not be build locally." OFF) -INCLUDE(scripts/cmake/ExternalProjectVtk.cmake) +IF(OGS_BUILD_GUI) + INCLUDE(scripts/cmake/ExternalProjectVtk.cmake) +ELSE() + INCLUDE(scripts/cmake/ExternalProjectCatalyst.cmake) +ENDIF() INCLUDE_DIRECTORIES( SYSTEM ${Boost_INCLUDE_DIRS} ) IF(OGS_USE_EIGEN) INCLUDE(scripts/cmake/ExternalProjectEigen.cmake) diff --git a/scripts/cmake/ExternalProjectCatalyst.cmake b/scripts/cmake/ExternalProjectCatalyst.cmake new file mode 100644 index 0000000000000000000000000000000000000000..2b523903a5288016580f794a7a2303cc1239c142 --- /dev/null +++ b/scripts/cmake/ExternalProjectCatalyst.cmake @@ -0,0 +1,46 @@ +INCLUDE(ThirdPartyLibVersions) +INCLUDE(ExternalProject) + +SET(CATALYST_GIT_URL https://github.com/ufz/catalyst-io.git) + +FIND_PACKAGE(ParaView 4.2 COMPONENTS vtkIOXML QUIET) + +IF(ParaView_FOUND) + INCLUDE("${PARAVIEW_USE_FILE}") + # MESSAGE("Using Catalyst in ${ParaView_FOUND}") + RETURN() +ELSE() + SET(ParaView_DIR ${CMAKE_BINARY_DIR}/External/catalyst/src/catalyst-build CACHE PATH "" FORCE) +ENDIF() + +IF(WIN32) + SET(CATALYST_MAKE_COMMAND + cmake --build . --config Release && + cmake --build . --config Debug) + SET(CATALYST_CONFIGURE_COMMAND cmake.bat) + # MESSAGE(STATUS ${CATALYST_MAKE_COMMAND}) +ELSE() + IF($ENV{CI}) + SET(CATALYST_MAKE_COMMAND make) + ELSE() + SET(CATALYST_MAKE_COMMAND make -j ${NUM_PROCESSORS}) + ENDIF() + SET(CATALYST_CONFIGURE_COMMAND cmake.sh) +ENDIF() + +ExternalProject_Add(Catalyst + PREFIX ${CMAKE_BINARY_DIR}/External/catalyst + GIT_REPOSITORY ${CATALYST_GIT_URL} + #URL ${OGS_VTK_URL} + #URL_MD5 ${OGS_VTK_MD5} + CONFIGURE_COMMAND ../Catalyst/${CATALYST_CONFIGURE_COMMAND} ../Catalyst + BUILD_COMMAND ${CATALYST_MAKE_COMMAND} + INSTALL_COMMAND "" +) + +IF(NOT ${ParaView_FOUND}) + # Rerun cmake in initial build + ADD_CUSTOM_TARGET(CatalystRescan ${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} DEPENDS Catalyst) +ELSE() + ADD_CUSTOM_TARGET(CatalystRescan) # dummy target for caching +ENDIF()