Skip to content
Snippets Groups Projects
Verified Commit 54973c6a authored by Lars Bilke's avatar Lars Bilke
Browse files

[CMake] Fixed ThirdParty libs compiler warning suppression.

- Add ThirdParty directory before CompilerSetup.cmake
- Enable CMP0092 (https://cmake.org/cmake/help/v3.15/policy/CMP0092.html)
- Unified compiler flag setting
parent e23e1634
No related branches found
No related tags found
No related merge requests found
......@@ -5,6 +5,9 @@ cmake_minimum_required(VERSION 3.12)
cmake_policy(SET CMP0054 NEW)
cmake_policy(SET CMP0071 NEW)
cmake_policy(SET CMP0074 NEW)
if(${CMAKE_VERSION} VERSION_GREATER 3.14)
cmake_policy(SET CMP0092 NEW)
endif()
if(MSVC AND NOT ${CMAKE_GENERATOR} STREQUAL Ninja)
# Force 64-bit VS compiler
......@@ -63,6 +66,7 @@ option(OGS_USE_CVODE "Use the Sundials CVODE module?" OFF)
# ---- CMake includes ----
include(PreFind)
include(SubmoduleSetup)
add_subdirectory(ThirdParty)
include(Versions)
include(CheckTypeSizes)
include(CheckArchitecture)
......@@ -334,7 +338,7 @@ if(OGS_INSITU)
include("${PARAVIEW_USE_FILE}")
add_definitions(-DUSE_INSITU)
endif()
add_subdirectory(ThirdParty)
include_directories(
SYSTEM
${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty
......@@ -344,6 +348,12 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/json/include
${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/exprtk)
# vtkdiff
if(EXISTS ${PROJECT_SOURCE_DIR}/ThirdParty/vtkdiff/CMakeLists.txt)
add_subdirectory(ThirdParty/vtkdiff)
install(PROGRAMS $<TARGET_FILE:vtkdiff> DESTINATION bin COMPONENT ogs_extras)
endif()
include(scripts/cmake/CheckHeaderCompilation.cmake)
add_subdirectory(Applications)
......
# Disable all warnings
if(COMPILER_IS_CLANG OR COMPILER_IS_GCC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
elseif(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0")
endif()
# Add logog subdirectory and group its targets in a Visual Studio folder
add_subdirectory(logog)
if(BUILD_TESTING)
set_property(TARGET Continuous PROPERTY FOLDER "logog")
endif()
set_property(TARGET logog PROPERTY FOLDER "logog")
set_property(TARGET test-logog PROPERTY FOLDER "logog")
set_target_properties(test-logog PROPERTIES EXCLUDE_FROM_ALL TRUE)
target_compile_options(logog PRIVATE
$<$<CXX_COMPILER_ID:Clang>:-w>
$<$<CXX_COMPILER_ID:GNU>:-w>
$<$<CXX_COMPILER_ID:MSVC>:/W0>)
set(DISABLE_WARNINGS_TARGETS logog)
set(gtest_force_shared_crt ON CACHE INTERNAL "") # Use dynamic MSVC runtime
set(INSTALL_GTEST OFF CACHE INTERNAL "")
......@@ -25,12 +8,13 @@ add_subdirectory(googletest)
# This is a workaround for Travis builds.
option(OGS_USE_OPTIONAL_SUBMODULES "Option for enabling optional submodules" OFF)
#iphreeqc
# iphreeqc
if (OGS_BUILD_PROCESS_ComponentTransport
OR OGS_BUILD_PROCESS_RichardsComponentTransport
OR OGS_BUILD_PROCESS_RichardsComponentTransport
OR OGS_BUILD_PROCESS_HeatTransportBHE)
add_subdirectory(iphreeqc)
list(APPEND DISABLE_WARNINGS_TARGETS iphreeqc)
endif()
# MFrontGenericInterfaceSupport
......@@ -40,6 +24,7 @@ if (OGS_USE_MFRONT)
set(CMAKE_CXX_STANDARD 11)
add_subdirectory(MGIS)
set(CMAKE_CXX_STANDARD 17)
list(APPEND DISABLE_WARNINGS_TARGETS MFrontGenericInterface)
endif()
# VtkFbxConverter
......@@ -51,26 +36,13 @@ endif()
# tetgen
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/tetgen/CMakeLists.txt)
add_subdirectory(tetgen)
list(APPEND DISABLE_WARNINGS_TARGETS tet tetgen)
install(PROGRAMS $<TARGET_FILE:tetgen> DESTINATION bin COMPONENT ogs_extras)
target_compile_options(tet PRIVATE
$<$<CXX_COMPILER_ID:Clang>:-w>
$<$<CXX_COMPILER_ID:GNU>:-w>
$<$<CXX_COMPILER_ID:MSVC>:/W0>)
target_compile_options(tetgen PRIVATE
$<$<CXX_COMPILER_ID:Clang>:-w>
$<$<CXX_COMPILER_ID:GNU>:-w>
$<$<CXX_COMPILER_ID:MSVC>:/W0>)
endif()
# vtkdiff
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/vtkdiff/CMakeLists.txt)
add_subdirectory(vtkdiff)
install (PROGRAMS $<TARGET_FILE:vtkdiff> DESTINATION bin COMPONENT ogs_extras)
endif()
if(OGS_BUILD_SWMM)
add_subdirectory(SWMMInterface)
set_target_properties(SWMM SwmmInterface PROPERTIES COMPILE_FLAGS /W0)
list(APPEND DISABLE_WARNINGS_TARGETS SWMM SwmmInterface)
endif()
if(OGS_USE_PYTHON)
......@@ -113,4 +85,11 @@ endif()
if(OGS_BUILD_UTILS)
include(${PROJECT_SOURCE_DIR}/scripts/cmake/MetisSetup.cmake)
list(APPEND DISABLE_WARNINGS_TARGETS metis mpmetis)
endif()
foreach(TARGET ${DISABLE_WARNINGS_TARGETS})
target_compile_options(${TARGET} PRIVATE
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:-w>
$<$<CXX_COMPILER_ID:MSVC>:/W0>)
endforeach()
......@@ -15,12 +15,6 @@ find_program(GPROF_PATH gprof DOC "GNU profiler gprof" QUIET)
find_program(CPPCHECK_TOOL_PATH cppcheck)
if(OGS_USE_PYTHON)
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
else()
find_package(Python3 COMPONENTS Interpreter)
endif()
# Find bash itself ...
find_program(BASH_TOOL_PATH bash
HINTS ${GITHUB_BIN_DIR} DOC "The bash executable")
......
......@@ -18,3 +18,9 @@ if(IS_GIT_REPO GREATER 0)
else()
set(IS_GIT_REPO TRUE CACHE INTERNAL "")
endif()
if(OGS_USE_PYTHON)
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
else()
find_package(Python3 COMPONENTS Interpreter)
endif()
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment