Newer
Older
# ##############################################################################
# Find tools
# ##############################################################################
string(REPLACE ".windows.1" "" GIT_VERSION_STRING ${GIT_VERSION_STRING})
if(${GIT_VERSION_STRING} VERSION_LESS ${ogs.minimum_version.git})
message(FATAL_ERROR "Git version ${ogs.minimum_version.git} is required. \
Found version ${GIT_VERSION_STRING}."
)
find_package(Doxygen OPTIONAL_COMPONENTS dot)
# Find gnu profiler gprof
find_program(GPROF_PATH gprof DOC "GNU profiler gprof" QUIET)
find_program(CPPCHECK_TOOL_PATH cppcheck)
find_program(
BASH_TOOL_PATH bash HINTS ${GITHUB_BIN_DIR} DOC "The bash executable"
)
find_program(CURL_TOOL_PATH curl DOC "The curl-tool")
find_program(S3CMD_TOOL_PATH s3cmd DOC "S3cmd tool for uploading to Amazon S3")
if(${CMAKE_GENERATOR} STREQUAL "Ninja")
find_program(CLCACHE_TOOL_PATH clcache)
endif()
else()
find_program(CCACHE_TOOL_PATH ccache)
endif()
find_program(
VTKJS_CONVERTER vtkDataConverter
PATHS ${PROJECT_SOURCE_DIR}/web/node_modules/.bin
)
find_program(HUGO hugo)
find_program(NPM npm)
find_program(YARN yarn)
find_program(PIP pip)
find_program(PANDOC_CITEPROC pandoc-citeproc)
find_program(MODULE_CMD lmod PATHS /software/lmod/lmod/libexec)
find_program(SNAKEMAKE snakemake HINTS ${LOCAL_VIRTUALENV_BIN_DIRS})
find_program(TEE_TOOL_PATH tee)
if(OGS_BUILD_TESTING AND SNAKEMAKE AND NOT TEE_TOOL_PATH)
message(WARNING "tee tool was not found. Snakemake tests are disabled!")
endif()
find_program(GMSH gmsh)
# ##############################################################################
# Find libraries
# ##############################################################################
# pthread, is a requirement of mfront ##
set(CMAKE_THREAD_PREFER_PTHREAD ON)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
if(CMAKE_USE_PTHREADS_INIT)
set(HAVE_PTHREADS TRUE)
add_definitions(-DHAVE_PTHREADS)
endif()
set(TFELHOME ${CONAN_TFEL_ROOT} CACHE INTERNAL "")
# Do not search for libs if this option is set
endif() # OGS_NO_EXTERNAL_LIBS
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS
"${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}"
)
set(QT_MODULES Gui Widgets Xml XmlPatterns)
if(UNIX AND NOT APPLE)
list(APPEND QT_MODULES X11Extras)
find_package(Qt5 ${ogs.minimum_version.qt} REQUIRED ${QT_MODULES})
if(OGS_USE_NETCDF)
set(NETCDF_ROOT ${CONAN_NETCDF-C_ROOT})
set(NETCDF_CXX_ROOT ${CONAN_NETCDF-CXX_ROOT})
find_package(NetCDF REQUIRED)
add_compile_options(-DOGS_USE_NETCDF)
find_package(Filesystem REQUIRED COMPONENTS Final Experimental)
configure_file(
${PROJECT_SOURCE_DIR}/BaseLib/filesystem.h.in
${PROJECT_BINARY_DIR}/BaseLib/filesystem.h
)