diff --git a/.cmake-format.yaml b/.cmake-format.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b4985a9564356a15e0c9b564b0c1bdf888135ce3 --- /dev/null +++ b/.cmake-format.yaml @@ -0,0 +1,3 @@ +# E.g. run with: fd CMakeLists.txt Applications/ -x cmake-format -i -c .cmake-format.yaml {} +tab_size: 4 +max_subargs_per_line: 4 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1437ab2a2f4c4b9af6a03302721ac23e83fed3f9..8e06df58a2975f5013d99ade951669a01273edac 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,5 +32,11 @@ repos: entry: scripts/hooks/pre-commit-git-lfs.sh language: system stages: [commit, manual] + - id: cmake-format + name: Format CMake files + entry: scripts/hooks/pre-commit-cmake-format.sh + language: system + files: 'CMakeLists.txt' + stages: [commit, manual] exclude: 'ThirdParty/*|Tests/Data/*|web/static/images/xsd' diff --git a/Applications/ApplicationsLib/CMakeLists.txt b/Applications/ApplicationsLib/CMakeLists.txt index 1987e809d218093d1645170621a3742bbd2e1b01..4d00c3f2ef84bef04c75dde5b0fdb71ba77e6ae6 100644 --- a/Applications/ApplicationsLib/CMakeLists.txt +++ b/Applications/ApplicationsLib/CMakeLists.txt @@ -1,5 +1,5 @@ # Source files -GET_SOURCE_FILES(SOURCES_APPLICATIONSLIB) +get_source_files(SOURCES_APPLICATIONSLIB) set(LIB_SOURCES ${SOURCES_APPLICATIONSLIB}) # Library @@ -9,16 +9,20 @@ if(BUILD_SHARED_LIBS) endif() target_link_libraries(ApplicationsLib - PUBLIC BaseLib GeoLib Processes logog - PRIVATE MathLib MeshLib MeshGeoToolsLib NumLib ParameterLib -) + PUBLIC BaseLib GeoLib Processes logog + PRIVATE MathLib + MeshLib + MeshGeoToolsLib + NumLib + ParameterLib) # Set cpp definitions if the cmake option is enabled for the given process. foreach(process ${ProcessesList}) if(OGS_BUILD_PROCESS_${process}) string(TOUPPER "OGS_BUILD_PROCESS_${process}" EnableProcess) - set_property(SOURCE ProjectData.cpp APPEND PROPERTY COMPILE_DEFINITIONS - ${EnableProcess}) + set_property(SOURCE ProjectData.cpp + APPEND + PROPERTY COMPILE_DEFINITIONS ${EnableProcess}) endif() endforeach() diff --git a/Applications/CLI/CMakeLists.txt b/Applications/CLI/CMakeLists.txt index 30a38e1caa074e27318fc3d8e578c0872e7e2521..bb8917b328854f4981be66e7c6687e880ac073bd 100644 --- a/Applications/CLI/CMakeLists.txt +++ b/Applications/CLI/CMakeLists.txt @@ -1,27 +1,27 @@ - add_executable(ogs ogs.cpp) -target_link_libraries(ogs - PRIVATE BaseLib ApplicationsLib -) +target_link_libraries(ogs PRIVATE BaseLib ApplicationsLib) if(OGS_USE_PYTHON) - # Troubleshooting: - # If you get linker errors, such as ogs.cpp:(.text+0xb4): undefined reference to `_Py_ZeroStruct' - # it could be that OGS is compiled with the wrong Python version. - # I (Ch. Leh.) observed the following: The symbol _Py_ZeroStruct could not be found in /usr/lib/libpython3.6m.so (I intended to compile OGS with Python3). - # It's apparently a Python2 symbol (present in /usr/lib/libpython2.7.so) - # The compiler command-line was the following: + # Troubleshooting: If you get linker errors, such as ogs.cpp:(.text+0xb4): + # undefined reference to `_Py_ZeroStruct' it could be that OGS is compiled + # with the wrong Python version. I (Ch. Leh.) observed the following: The + # symbol _Py_ZeroStruct could not be found in /usr/lib/libpython3.6m.so (I + # intended to compile OGS with Python3). It's apparently a Python2 symbol + # (present in /usr/lib/libpython2.7.so) The compiler command-line was the + # following: + # ~~~ # /usr/bin/g++ ... -DvtkRenderingVolume_AUTOINIT="1(vtkRenderingVolumeOpenGL2)" \ # -I/usr/include/vtk -I/usr/include/python2.7 -I/usr/include/freetype2 \ # -I/usr/include/libxml2 ... -I/.../BaseLib ... \ # -isystem /usr/include/python3.6m ... -o CMakeFiles/ogs.dir/ogs.cpp.o \ # -c /.../Applications/CLI/ogs.cpp - # In particular, the Python2 include path comes before the Python3 include path. - # Compiling OGS with Python2 solved the issue. - # I assume (this is only a guess!) that VTK pulls in Python2 dependencies (on my system). - # I assume that this is related to https://github.com/ufz/ogs/pull/2158. - # Workaround: Always make sure that OGS is compiled with the same Python version as VTK. + # ~~~ + # In particular, the Python2 include path comes before the Python3 include + # path. Compiling OGS with Python2 solved the issue. I assume (this is only + # a guess!) that VTK pulls in Python2 dependencies (on my system). I assume + # that this is related to https://github.com/ufz/ogs/pull/2158. Workaround: + # Always make sure that OGS is compiled with the same Python version as VTK. # The error described above should be detected automatically by cmake and an # appropriate message should be presented. The note is kept for the case # that the automatic detection does not work due to whatever reason. @@ -29,25 +29,29 @@ if(OGS_USE_PYTHON) add_library(ogs_embedded_python ogs_embedded_python.cpp) # Performance warning from - # https://github.com/pybind/pybind11/blob/master/docs/compiling.rst: - # Since pybind11 is a metatemplate library, it is crucial that certain compiler - # flags are provided to ensure high quality code generation. In contrast to the - # pybind11_add_module() command, the CMake interface library only provides the - # minimal set of parameters to ensure that the code using pybind11 compiles, but - # it does not pass these extra compiler flags (i.e. this is up to you). - # TODO: Enable further compiler/linker flags. + # https://github.com/pybind/pybind11/blob/master/docs/compiling.rst: Since + # pybind11 is a metatemplate library, it is crucial that certain compiler + # flags are provided to ensure high quality code generation. In contrast to + # the pybind11_add_module() command, the CMake interface library only + # provides the minimal set of parameters to ensure that the code using + # pybind11 compiles, but it does not pass these extra compiler flags (i.e. + # this is up to you). TODO: Enable further compiler/linker flags. target_link_libraries(ogs_embedded_python PUBLIC pybind11::embed) target_compile_definitions(ogs_embedded_python PUBLIC OGS_USE_PYTHON) - target_link_libraries(ogs_embedded_python PRIVATE - ProcessLibBoundaryConditionPythonModule ProcessLibSourceTermPythonModule) + target_link_libraries(ogs_embedded_python + PRIVATE ProcessLibBoundaryConditionPythonModule + ProcessLibSourceTermPythonModule) target_link_libraries(ogs PRIVATE ogs_embedded_python) if(BUILD_SHARED_LIBS) - # Add macro definition, because static libs make special handling necessary - # s.t. the embedded OpenGeoSys Python module won't be removed by the linker. - target_compile_definitions(ogs_embedded_python PRIVATE OGS_BUILD_SHARED_LIBS) - install(TARGETS ogs_embedded_python LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + # Add macro definition, because static libs make special handling + # necessary s.t. the embedded OpenGeoSys Python module won't be removed + # by the linker. + target_compile_definitions(ogs_embedded_python PRIVATE + OGS_BUILD_SHARED_LIBS) + install(TARGETS ogs_embedded_python + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() endif() @@ -64,20 +68,19 @@ if(OGS_USE_PCH) cotire(ogs) endif() -#################### -### Tests ########## -#################### +# ---- Tests ---- add_test(NAME ogs_no_args COMMAND ogs) set_tests_properties(ogs_no_args PROPERTIES WILL_FAIL TRUE) -#################### -### Installation ### -#################### +# ---- Installation ---- install(TARGETS ogs RUNTIME DESTINATION bin COMPONENT ogs_cli) -set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "ogs" "OGS Simulator") +set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "ogs" + "OGS Simulator") cpack_add_component(ogs_cli - DISPLAY_NAME "OGS THMC Simulator" - DESCRIPTION "The command line interface for OpenGeoSys." - GROUP Applications -) + DISPLAY_NAME + "OGS THMC Simulator" + DESCRIPTION + "The command line interface for OpenGeoSys." + GROUP + Applications) diff --git a/Applications/DataExplorer/Base/CMakeLists.txt b/Applications/DataExplorer/Base/CMakeLists.txt index c8f22d0819c0a77663f77b56af00838b12315691..112e81c89b668f324f94449399f8aa5703c955b6 100644 --- a/Applications/DataExplorer/Base/CMakeLists.txt +++ b/Applications/DataExplorer/Base/CMakeLists.txt @@ -8,8 +8,7 @@ set(SOURCES ColorPickerPushButton.cpp TreeModelIterator.cpp CheckboxDelegate.cpp - QValueTooltipSlider.cpp -) + QValueTooltipSlider.cpp) # Header files set(HEADERS @@ -23,18 +22,14 @@ set(HEADERS TreeModel.h ColorPickerPushButton.h CheckboxDelegate.h - QValueTooltipSlider.h -) + QValueTooltipSlider.h) # Put moc files in a project folder source_group("UI Files" REGULAR_EXPRESSION "\\w*\\.ui") source_group("Moc Files" REGULAR_EXPRESSION "moc_.*") # Create the library -add_library(QtBase - ${SOURCES} - ${HEADERS} -) +add_library(QtBase ${SOURCES} ${HEADERS}) if(BUILD_SHARED_LIBS) install(TARGETS QtBase LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() diff --git a/Applications/DataExplorer/CMakeLists.txt b/Applications/DataExplorer/CMakeLists.txt index 005036f32b19a6a7cdf8710928cab730348f2b30..2e991908d77c4314989549733d450f1b67e25c80 100644 --- a/Applications/DataExplorer/CMakeLists.txt +++ b/Applications/DataExplorer/CMakeLists.txt @@ -1,6 +1,6 @@ set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}") -# Always built Data Explorer statically as there are cyclic dependencies -# between QtDataView and VtkVis +# Always built Data Explorer statically as there are cyclic dependencies between +# QtDataView and VtkVis set(BUILD_SHARED_LIBS OFF) if(MSVC) @@ -11,9 +11,7 @@ if(VTKFBXCONVERTER_FOUND) add_definitions(-DVTKFBXCONVERTER_FOUND) endif() -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} -) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}) set(CMAKE_AUTOMOC TRUE) set(CMAKE_AUTOUIC TRUE) diff --git a/Applications/DataExplorer/DataExplorer.cmake b/Applications/DataExplorer/DataExplorer.cmake index 6efad20625266232328e6c95b166d68d4da33704..96264714217423008a442035851022a9300720e0 100644 --- a/Applications/DataExplorer/DataExplorer.cmake +++ b/Applications/DataExplorer/DataExplorer.cmake @@ -91,9 +91,7 @@ if(OGS_USE_PCH) cotire(DataExplorer) endif() -#################### -### Installation ### -#################### +# ---- Installation ---- install(TARGETS DataExplorer RUNTIME DESTINATION bin COMPONENT ogs_gui) cpack_add_component(ogs_gui diff --git a/Applications/DataExplorer/DataView/CMakeLists.txt b/Applications/DataExplorer/DataView/CMakeLists.txt index 06a747961a4d290337850468920ddb2ff50e2dbb..216248285f4f03636ffcfbc68afedbeda4d6dda3 100644 --- a/Applications/DataExplorer/DataView/CMakeLists.txt +++ b/Applications/DataExplorer/DataView/CMakeLists.txt @@ -41,8 +41,7 @@ set(SOURCES StationTabWidget.cpp StationTreeModel.cpp StationTreeView.cpp - SurfaceExtractionDialog.cpp -) + SurfaceExtractionDialog.cpp) set(HEADERS AddLayerToMeshDialog.h @@ -92,56 +91,60 @@ set(HEADERS StationTabWidget.h StationTreeModel.h StationTreeView.h - SurfaceExtractionDialog.h -) + SurfaceExtractionDialog.h) # Visual Studio folder source_group("Dialog Header Files" REGULAR_EXPRESSION "[.]*Dialog.h") source_group("Dialog Source Files" REGULAR_EXPRESSION "[.]*Dialog.cpp") -source_group("Data Model Header Files" REGULAR_EXPRESSION "[.]*Item.h|[.]*Model.h|[.]*View.h") -source_group("Data Model Source Files" REGULAR_EXPRESSION "[.]*Item.cpp|[.]*Model.cpp|[.]*View.cpp") +source_group("Data Model Header Files" REGULAR_EXPRESSION + "[.]*Item.h|[.]*Model.h|[.]*View.h") +source_group("Data Model Source Files" REGULAR_EXPRESSION + "[.]*Item.cpp|[.]*Model.cpp|[.]*View.cpp") file(GLOB UIS CONFIGURE_DEPENDS *.ui) source_group("UI Files" FILES ${UIS}) set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../..) set(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/..) -include_directories( - ${SOURCE_DIR_REL}/Applications/FileIO - ${SOURCE_DIR_REL}/BaseLib - ${SOURCE_DIR_REL}/MathLib - ${SOURCE_DIR_REL}/GeoLib - ${SOURCE_DIR_REL}/MeshGeoToolsLib - ${SOURCE_DIR_REL}/MeshLib - ${GUI_SOURCE_DIR_REL}/Base - ${GUI_SOURCE_DIR_REL}/VtkVis - - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/DiagramView - ${CMAKE_CURRENT_SOURCE_DIR}/StratView -) +include_directories(${SOURCE_DIR_REL}/Applications/FileIO + ${SOURCE_DIR_REL}/BaseLib + ${SOURCE_DIR_REL}/MathLib + ${SOURCE_DIR_REL}/GeoLib + ${SOURCE_DIR_REL}/MeshGeoToolsLib + ${SOURCE_DIR_REL}/MeshLib + ${GUI_SOURCE_DIR_REL}/Base + ${GUI_SOURCE_DIR_REL}/VtkVis + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/DiagramView + ${CMAKE_CURRENT_SOURCE_DIR}/StratView) if(GEOTIFF_FOUND) include_directories(${GEOTIFF_INCLUDE_DIRS}) endif() # GEOTIFF_FOUND -add_library(QtDataView - ${SOURCES} - ${HEADERS} - ${UIS} -) +add_library(QtDataView ${SOURCES} ${HEADERS} ${UIS}) if(BUILD_SHARED_LIBS) install(TARGETS QtDataView LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(QtDataView - PUBLIC GeoLib MeshGeoToolsLib MeshLib QtBase VtkVis - PRIVATE BaseLib MathLib ApplicationsFileIO QtDiagramView QtStratView - DataHolderLib logog Qt5::Core Qt5::Gui -) + PUBLIC GeoLib + MeshGeoToolsLib + MeshLib + QtBase + VtkVis + PRIVATE BaseLib + MathLib + ApplicationsFileIO + QtDiagramView + QtStratView + DataHolderLib + logog + Qt5::Core + Qt5::Gui) if(GEOTIFF_FOUND) target_link_libraries(QtDataView PRIVATE ${GEOTIFF_LIBRARIES}) -endif () # GEOTIFF_FOUND +endif() # GEOTIFF_FOUND add_autogen_include(QtDataView) diff --git a/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt b/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt index c9503d12f2eff72481b0304c3c42b6ce462c53de..3da36416dcf351c121f4172cc3a70059d447dc05 100644 --- a/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt +++ b/Applications/DataExplorer/DataView/DiagramView/CMakeLists.txt @@ -5,8 +5,7 @@ set(SOURCES DiagramScene.cpp DiagramView.cpp QArrow.cpp - QGraphicsGrid.cpp -) + QGraphicsGrid.cpp) set(HEADERS DiagramList.h @@ -16,35 +15,32 @@ set(HEADERS DiagramScene.h DetailWindow.h DiagramPrefsDialog.h - DiagramView.h -) + DiagramView.h) set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../../..) set(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../..) -include_directories( - ${SOURCE_DIR_REL}/BaseLib - ${SOURCE_DIR_REL}/GeoLib - ${SOURCE_DIR_REL}/MathLib - ${CMAKE_CURRENT_SOURCE_DIR} - ${GUI_SOURCE_DIR_REL}/Base - ${GUI_SOURCE_DIR_REL}/DataView -) +include_directories(${SOURCE_DIR_REL}/BaseLib + ${SOURCE_DIR_REL}/GeoLib + ${SOURCE_DIR_REL}/MathLib + ${CMAKE_CURRENT_SOURCE_DIR} + ${GUI_SOURCE_DIR_REL}/Base + ${GUI_SOURCE_DIR_REL}/DataView) file(GLOB_RECURSE UIS CONFIGURE_DEPENDS *.ui) source_group("UI Files" FILES ${UIS}) -add_library(QtDiagramView - ${SOURCES} - ${HEADERS} - ${UIS} -) +add_library(QtDiagramView ${SOURCES} ${HEADERS} ${UIS}) if(BUILD_SHARED_LIBS) install(TARGETS QtDiagramView LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(QtDiagramView - PRIVATE BaseLib GeoLib QtBase DataHolderLib Qt5::Gui logog -) + PRIVATE BaseLib + GeoLib + QtBase + DataHolderLib + Qt5::Gui + logog) add_autogen_include(QtDiagramView) diff --git a/Applications/DataExplorer/DataView/StratView/CMakeLists.txt b/Applications/DataExplorer/DataView/StratView/CMakeLists.txt index b17d9286bc78316d7f54fa194a01ee11abc13f24..e88986209cab8d87195b0f9fb13ff5152d38490b 100644 --- a/Applications/DataExplorer/DataView/StratView/CMakeLists.txt +++ b/Applications/DataExplorer/DataView/StratView/CMakeLists.txt @@ -1,42 +1,29 @@ -set(SOURCES - StratBar.cpp - StratScene.cpp - StratView.cpp - StratWindow.cpp -) +set(SOURCES StratBar.cpp StratScene.cpp StratView.cpp StratWindow.cpp) -set(HEADERS - StratBar.h - StratScene.h - StratView.h - StratWindow.h -) +set(HEADERS StratBar.h StratScene.h StratView.h StratWindow.h) set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../../..) set(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../..) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${SOURCE_DIR_REL}/BaseLib - ${SOURCE_DIR_REL}/GeoLib - ${SOURCE_DIR_REL}/MathLib - ${GUI_SOURCE_DIR_REL}/Base -) +include_directories(${CMAKE_CURRENT_SOURCE_DIR} + ${SOURCE_DIR_REL}/BaseLib + ${SOURCE_DIR_REL}/GeoLib + ${SOURCE_DIR_REL}/MathLib + ${GUI_SOURCE_DIR_REL}/Base) file(GLOB_RECURSE UI_FILES CONFIGURE_DEPENDS *.ui) source_group("UI Files" FILES ${UI_FILES}) -add_library(QtStratView - ${SOURCES} - ${HEADERS} - ${UIS} -) +add_library(QtStratView ${SOURCES} ${HEADERS} ${UIS}) if(BUILD_SHARED_LIBS) install(TARGETS QtStratView LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(QtStratView - PRIVATE BaseLib GeoLib DataHolderLib QtBase Qt5::Gui -) + PRIVATE BaseLib + GeoLib + DataHolderLib + QtBase + Qt5::Gui) add_autogen_include(QtStratView) set_property(TARGET QtStratView PROPERTY FOLDER "DataExplorer") diff --git a/Applications/DataExplorer/NetCdfDialog/CMakeLists.txt b/Applications/DataExplorer/NetCdfDialog/CMakeLists.txt index 0d74f1e40cb7605e0c69f16a2a161b3216e1a197..68c16fb9c323457236c350ec484c3d112dc96cab 100644 --- a/Applications/DataExplorer/NetCdfDialog/CMakeLists.txt +++ b/Applications/DataExplorer/NetCdfDialog/CMakeLists.txt @@ -1,14 +1,18 @@ add_library(NetCdfDialogLib NetCdfConfigureDialog.cpp NetCdfConfigureDialog.h) if(BUILD_SHARED_LIBS) - install(TARGETS NetCdfConfigureDialog LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS NetCdfConfigureDialog + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(NetCdfDialogLib PUBLIC Qt5::Widgets PRIVATE MathLib vtknetcdfcpp) +target_link_libraries(NetCdfDialogLib + PUBLIC Qt5::Widgets + PRIVATE MathLib vtknetcdfcpp) set_property(TARGET NetCdfDialogLib PROPERTY FOLDER "DataExplorer") # Workaround for system installed VTK (tested on arch) if(NOT OGS_USE_CONAN) - target_include_directories(NetCdfDialogLib SYSTEM + target_include_directories( + NetCdfDialogLib SYSTEM PUBLIC ${VTK_INSTALL_PREFIX}/include/vtk/vtknetcdfcpp) endif() -add_autogen_include(NetCdfDialogLib) \ No newline at end of file +add_autogen_include(NetCdfDialogLib) diff --git a/Applications/DataExplorer/VtkVis/CMakeLists.txt b/Applications/DataExplorer/VtkVis/CMakeLists.txt index d8bb0b9b8e3de392162bbfeac18644fe2fcbd93f..cb0841b1950dcbd653da029903ce3641afb1e2df 100644 --- a/Applications/DataExplorer/VtkVis/CMakeLists.txt +++ b/Applications/DataExplorer/VtkVis/CMakeLists.txt @@ -46,8 +46,7 @@ set(SOURCES VtkVisPipelineItem.cpp VtkVisPipelineView.cpp VtkVisPointSetItem.cpp - VtkVisTabWidget.cpp -) + VtkVisTabWidget.cpp) set(HEADERS MeshFromRasterDialog.h @@ -97,8 +96,7 @@ set(HEADERS VtkVisPipelineItem.h VtkVisPipelineView.h VtkVisPointSetItem.h - VtkVisTabWidget.h -) + VtkVisTabWidget.h) # Visual Studio folder source_group("Filter Header Files" REGULAR_EXPRESSION "[.]*Filter.h") @@ -110,24 +108,18 @@ source_group("UI Files" FILES ${UIS}) set(SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/../../..) set(GUI_SOURCE_DIR_REL ${CMAKE_CURRENT_SOURCE_DIR}/..) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_BINARY_DIR} - ${SOURCE_DIR_REL}/Applications/FileIO - ${SOURCE_DIR_REL}/BaseLib - ${SOURCE_DIR_REL}/GeoLib - ${SOURCE_DIR_REL}/MathLib - ${SOURCE_DIR_REL}/MeshLib - ${GUI_SOURCE_DIR_REL}/Base - ${GUI_SOURCE_DIR_REL}/DataView - ${GUI_SOURCE_DIR_REL}/VtkModules/Qt -) +include_directories(${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${SOURCE_DIR_REL}/Applications/FileIO + ${SOURCE_DIR_REL}/BaseLib + ${SOURCE_DIR_REL}/GeoLib + ${SOURCE_DIR_REL}/MathLib + ${SOURCE_DIR_REL}/MeshLib + ${GUI_SOURCE_DIR_REL}/Base + ${GUI_SOURCE_DIR_REL}/DataView + ${GUI_SOURCE_DIR_REL}/VtkModules/Qt) -add_library(VtkVis - ${SOURCES} - ${HEADERS} - ${UIS} -) +add_library(VtkVis ${SOURCES} ${HEADERS} ${UIS}) if(BUILD_SHARED_LIBS) install(TARGETS VtkVis LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() @@ -138,11 +130,15 @@ if(GEOTIFF_FOUND) endif() # GEOTIFF_FOUND target_link_libraries(VtkVis - PUBLIC BaseLib GeoLib MeshLib DataHolderLib QtBase vtkIOImage - PRIVATE MathLib ApplicationsFileIO Qt5::Gui logog -) + PUBLIC BaseLib + GeoLib + MeshLib + DataHolderLib + QtBase + vtkIOImage + PRIVATE MathLib ApplicationsFileIO Qt5::Gui logog) -if (OGS_USE_NETCDF) +if(OGS_USE_NETCDF) target_link_libraries(VtkVis PRIVATE NetCdfDialogLib) endif() diff --git a/Applications/DataHolderLib/CMakeLists.txt b/Applications/DataHolderLib/CMakeLists.txt index 7f23991438fc1a3a044092b23a3e2e4236e3907e..40e7e38bd433a935a2063b0e0f12f04e5aafc2da 100644 --- a/Applications/DataHolderLib/CMakeLists.txt +++ b/Applications/DataHolderLib/CMakeLists.txt @@ -1,5 +1,5 @@ # Source files -GET_SOURCE_FILES(SOURCES_DataHolderLib) +get_source_files(SOURCES_DataHolderLib) # Library add_library(DataHolderLib ${SOURCES_DataHolderLib}) @@ -7,10 +7,7 @@ if(BUILD_SHARED_LIBS) install(TARGETS DataHolderLib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(DataHolderLib - PUBLIC GeoLib MeshLib - PRIVATE BaseLib logog -) +target_link_libraries(DataHolderLib PUBLIC GeoLib MeshLib PRIVATE BaseLib logog) if(OGS_USE_PCH) cotire(DataHolderLib) diff --git a/Applications/FileIO/CMakeLists.txt b/Applications/FileIO/CMakeLists.txt index eaaed88a542e0d7c55ec7e10c2c56e1d73976690..95d05766e9410b1dae48fb7485cbd5d95682c94a 100644 --- a/Applications/FileIO/CMakeLists.txt +++ b/Applications/FileIO/CMakeLists.txt @@ -1,23 +1,23 @@ -GET_SOURCE_FILES(SOURCES) -APPEND_SOURCE_FILES(SOURCES Gmsh) -APPEND_SOURCE_FILES(SOURCES Legacy) +get_source_files(SOURCES) +append_source_files(SOURCES Gmsh) +append_source_files(SOURCES Legacy) if(NOT Shapelib_FOUND) list(REMOVE_ITEM SOURCES SHPInterface.h SHPInterface.cpp) endif() # GO2OGS -GET_SOURCE_FILES(SOURCES_GO2OGS GocadIO) +get_source_files(SOURCES_GO2OGS GocadIO) set(SOURCES ${SOURCES} ${SOURCES_GO2OGS}) if(OGS_BUILD_GUI) - APPEND_SOURCE_FILES(SOURCES XmlIO/Qt) - APPEND_SOURCE_FILES(SOURCES FEFLOW) + append_source_files(SOURCES XmlIO/Qt) + append_source_files(SOURCES FEFLOW) endif() if(OGS_BUILD_SWMM) - GET_SOURCE_FILES(SOURCES_SWMM SWMM) - SET(SOURCES ${SOURCES} ${SOURCES_SWMM}) + get_source_files(SOURCES_SWMM SWMM) + set(SOURCES ${SOURCES} ${SOURCES_SWMM}) endif() include(${PROJECT_SOURCE_DIR}/scripts/cmake/OGSEnabledElements.cmake) @@ -25,12 +25,16 @@ include(${PROJECT_SOURCE_DIR}/scripts/cmake/OGSEnabledElements.cmake) # Create the library add_library(ApplicationsFileIO ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS ApplicationsFileIO LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS ApplicationsFileIO + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(ApplicationsFileIO - PUBLIC BaseLib DataHolderLib GeoLib MathLib logog - PRIVATE MeshLib -) + PUBLIC BaseLib + DataHolderLib + GeoLib + MathLib + logog + PRIVATE MeshLib) if(OGS_BUILD_GUI) # Needed for the XmlPrjInterface, which links the DE/Base/OGSError.h. @@ -49,13 +53,13 @@ if(OGS_USE_PCH) cotire(ApplicationsFileIO) endif() - -configure_file(XmlIO/OpenGeoSysCND.xsd ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/OpenGeoSysCND.xsd COPYONLY) -configure_file(XmlIO/OpenGeoSysNum.xsd ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/OpenGeoSysNum.xsd COPYONLY) -configure_file(XmlIO/OpenGeoSysProject.xsd ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/OpenGeoSysProject.xsd COPYONLY) -install(FILES - XmlIO/OpenGeoSysCND.xsd - XmlIO/OpenGeoSysNum.xsd - XmlIO/OpenGeoSysProject.xsd - DESTINATION bin COMPONENT ogs_cli -) +configure_file(XmlIO/OpenGeoSysCND.xsd + ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/OpenGeoSysCND.xsd COPYONLY) +configure_file(XmlIO/OpenGeoSysNum.xsd + ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/OpenGeoSysNum.xsd COPYONLY) +configure_file(XmlIO/OpenGeoSysProject.xsd + ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/OpenGeoSysProject.xsd COPYONLY) +install(FILES XmlIO/OpenGeoSysCND.xsd XmlIO/OpenGeoSysNum.xsd + XmlIO/OpenGeoSysProject.xsd + DESTINATION bin + COMPONENT ogs_cli) diff --git a/Applications/FileIO/GocadIO/CMakeLists.txt b/Applications/FileIO/GocadIO/CMakeLists.txt index 7ca90dceddc1db1c45a524b9f51cf6db2fc3ea36..a5d9d3df2e5ab3244a727ad11138e441c49f6ecb 100644 --- a/Applications/FileIO/GocadIO/CMakeLists.txt +++ b/Applications/FileIO/GocadIO/CMakeLists.txt @@ -1,6 +1,2 @@ -include_directories( - ${CMAKE_SOURCE_DIR}/BaseLib - ${CMAKE_SOURCE_DIR}/FileIO - ${CMAKE_SOURCE_DIR}/GeoLib - ${CMAKE_SOURCE_DIR}/MeshLib -) +include_directories(${CMAKE_SOURCE_DIR}/BaseLib ${CMAKE_SOURCE_DIR}/FileIO + ${CMAKE_SOURCE_DIR}/GeoLib ${CMAKE_SOURCE_DIR}/MeshLib) diff --git a/Applications/InSituLib/CMakeLists.txt b/Applications/InSituLib/CMakeLists.txt index 486ef6cba61fbcf5841079612d1b91378f172cc5..3103fa1a1c2c9d4cdddae6942d5465679e761e6e 100644 --- a/Applications/InSituLib/CMakeLists.txt +++ b/Applications/InSituLib/CMakeLists.txt @@ -1,5 +1,5 @@ # Source files -GET_SOURCE_FILES(SOURCES) +get_source_files(SOURCES) # Library add_library(InSituLib ${SOURCES}) diff --git a/Applications/Utils/FileConverter/CMakeLists.txt b/Applications/Utils/FileConverter/CMakeLists.txt index d280d8c55580d43be7c9d3ae8ddb6da8006e8ede..aac2917cb5cc906a184240f4c146e9627001b4b3 100644 --- a/Applications/Utils/FileConverter/CMakeLists.txt +++ b/Applications/Utils/FileConverter/CMakeLists.txt @@ -1,23 +1,23 @@ -if (OGS_BUILD_GUI) - if (Shapelib_FOUND) +if(OGS_BUILD_GUI) + if(Shapelib_FOUND) add_executable(ConvertSHPToGLI ConvertSHPToGLI.cpp) set_target_properties(ConvertSHPToGLI PROPERTIES FOLDER Utilities) - target_link_libraries(ConvertSHPToGLI GeoLib Qt5::Xml ${Shapelib_LIBRARIES}) + target_link_libraries(ConvertSHPToGLI GeoLib Qt5::Xml + ${Shapelib_LIBRARIES}) endif() add_executable(FEFLOW2OGS FEFLOW2OGS.cpp) set_target_properties(FEFLOW2OGS PROPERTIES FOLDER Utilities) target_link_libraries(FEFLOW2OGS ApplicationsFileIO) -endif () +endif() add_executable(convertGEO convertGEO.cpp) set_target_properties(convertGEO PROPERTIES FOLDER Utilities) target_link_libraries(convertGEO GeoLib ApplicationsFileIO) -add_executable(generateMatPropsFromMatID generateMatPropsFromMatID.cpp ) +add_executable(generateMatPropsFromMatID generateMatPropsFromMatID.cpp) target_link_libraries(generateMatPropsFromMatID MeshLib) -set_target_properties(generateMatPropsFromMatID - PROPERTIES FOLDER Utilities) +set_target_properties(generateMatPropsFromMatID PROPERTIES FOLDER Utilities) add_executable(GMSH2OGS GMSH2OGS.cpp) set_target_properties(GMSH2OGS PROPERTIES FOLDER Utilities) @@ -46,50 +46,44 @@ target_link_libraries(TecPlotTools GeoLib MeshLib) add_executable(GocadSGridReader GocadSGridReaderMain.cpp) set_target_properties(GocadSGridReader PROPERTIES FOLDER Utilities) target_link_libraries(GocadSGridReader - GeoLib - MeshLib - ApplicationsFileIO - ${Boost_LIBRARIES} -) + GeoLib + MeshLib + ApplicationsFileIO + ${Boost_LIBRARIES}) add_executable(GocadTSurfaceReader GocadTSurfaceReader.cpp) set_target_properties(GocadTSurfaceReader PROPERTIES FOLDER Utilities) -target_link_libraries(GocadTSurfaceReader - MeshLib - ApplicationsFileIO - ${Boost_LIBRARIES} -) +target_link_libraries(GocadTSurfaceReader MeshLib ApplicationsFileIO + ${Boost_LIBRARIES}) add_executable(Mesh2Raster MeshToRaster.cpp) set_target_properties(Mesh2Raster PROPERTIES FOLDER Utilities) target_link_libraries(Mesh2Raster MeshLib) - -#################### -### Installation ### -#################### -install(TARGETS - generateMatPropsFromMatID - GMSH2OGS - OGS2VTK - VTK2OGS - VTK2TIN - TecPlotTools - GocadSGridReader - Mesh2Raster - RUNTIME DESTINATION bin COMPONENT ogs_converter) +# ---- Installation ---- +install(TARGETS generateMatPropsFromMatID + GMSH2OGS + OGS2VTK + VTK2OGS + VTK2TIN + TecPlotTools + GocadSGridReader + Mesh2Raster + RUNTIME DESTINATION bin COMPONENT ogs_converter) if(OGS_BUILD_GUI) if(Shapelib_FOUND) install(TARGETS ConvertSHPToGLI - RUNTIME DESTINATION bin COMPONENT ogs_converter) + RUNTIME DESTINATION bin COMPONENT ogs_converter) endif() - install(TARGETS FEFLOW2OGS convertGEO - RUNTIME DESTINATION bin COMPONENT ogs_converter) + install(TARGETS FEFLOW2OGS convertGEO + RUNTIME DESTINATION bin COMPONENT ogs_converter) endif() cpack_add_component(ogs_converter - DISPLAY_NAME "File converter" - DESCRIPTION "File converter." - GROUP Utilities -) + DISPLAY_NAME + "File converter" + DESCRIPTION + "File converter." + GROUP + Utilities) diff --git a/Applications/Utils/GeoTools/CMakeLists.txt b/Applications/Utils/GeoTools/CMakeLists.txt index e65cb74e20e3a86c5c20d2cbf6aa875d3cc26e40..a721629a0e49f0cc8bd63e97cf8b7607aeea25fa 100644 --- a/Applications/Utils/GeoTools/CMakeLists.txt +++ b/Applications/Utils/GeoTools/CMakeLists.txt @@ -2,10 +2,7 @@ if(NOT OGS_BUILD_GUI) return() endif() -set(TOOLS - MoveGeometry - TriangulatePolyline -) +set(TOOLS MoveGeometry TriangulatePolyline) foreach(TOOL ${TOOLS}) add_executable(${TOOL} ${TOOL}.cpp) target_link_libraries(${TOOL} GeoLib ApplicationsFileIO Qt5::Core) diff --git a/Applications/Utils/MeshEdit/CMakeLists.txt b/Applications/Utils/MeshEdit/CMakeLists.txt index 680fe9173ffcf074807da5f5a1546cab1098a279..780ee023752e53f9f5d4e3bac0efd0c52e1fed2c 100644 --- a/Applications/Utils/MeshEdit/CMakeLists.txt +++ b/Applications/Utils/MeshEdit/CMakeLists.txt @@ -17,8 +17,7 @@ set(TOOLS ResetPropertiesInPolygonalRegion reviseMesh swapNodeCoordinateAxes - UnityPreprocessing -) + UnityPreprocessing) foreach(TOOL ${TOOLS}) add_executable(${TOOL} ${TOOL}.cpp) target_link_libraries(${TOOL} MeshLib) @@ -26,8 +25,10 @@ endforeach() set_target_properties(${TOOLS} PROPERTIES FOLDER Utilities) install(TARGETS ${TOOLS} RUNTIME DESTINATION bin COMPONENT Utilities) -target_link_libraries(appendLinesAlongPolyline MeshGeoToolsLib ApplicationsFileIO) -target_link_libraries(CreateBoundaryConditionsAlongPolylines MeshGeoToolsLib ApplicationsFileIO) +target_link_libraries(appendLinesAlongPolyline MeshGeoToolsLib + ApplicationsFileIO) +target_link_libraries(CreateBoundaryConditionsAlongPolylines MeshGeoToolsLib + ApplicationsFileIO) target_link_libraries(createLayeredMeshFromRasters ApplicationsFileIO) target_link_libraries(MapGeometryToMeshSurface MeshGeoToolsLib) target_link_libraries(ResetPropertiesInPolygonalRegion ApplicationsFileIO) diff --git a/Applications/Utils/MeshGeoTools/CMakeLists.txt b/Applications/Utils/MeshGeoTools/CMakeLists.txt index 240aff55f602b4579385708c9b247140ece97ed2..c5b69d1e445070fd097c89810d2aa1eaeaa8fd14 100644 --- a/Applications/Utils/MeshGeoTools/CMakeLists.txt +++ b/Applications/Utils/MeshGeoTools/CMakeLists.txt @@ -1,8 +1,5 @@ -set(TOOLS - computeSurfaceNodeIDsInPolygonalRegion - constructMeshesFromGeometry - identifySubdomains -) +set(TOOLS computeSurfaceNodeIDsInPolygonalRegion constructMeshesFromGeometry + identifySubdomains) foreach(TOOL ${TOOLS}) add_executable(${TOOL} ${TOOL}.cpp) target_link_libraries(${TOOL} MeshLib ApplicationsFileIO MeshGeoToolsLib) diff --git a/Applications/Utils/ModelPreparation/CMakeLists.txt b/Applications/Utils/ModelPreparation/CMakeLists.txt index 54bf77437d50a79583126aff384f15a3b32cedd5..2433d9ab5f6d9f134183436014e8d0f3271346bf 100644 --- a/Applications/Utils/ModelPreparation/CMakeLists.txt +++ b/Applications/Utils/ModelPreparation/CMakeLists.txt @@ -1,9 +1,5 @@ -set(TOOLS - ComputeNodeAreasFromSurfaceMesh - convertVtkDataArrayToVtkDataArray - createNeumannBc - scaleProperty -) +set(TOOLS ComputeNodeAreasFromSurfaceMesh convertVtkDataArrayToVtkDataArray + createNeumannBc scaleProperty) foreach(TOOL ${TOOLS}) add_executable(${TOOL} ${TOOL}.cpp) target_link_libraries(${TOOL} MeshLib) diff --git a/Applications/Utils/OGSFileConverter/CMakeLists.txt b/Applications/Utils/OGSFileConverter/CMakeLists.txt index 54361c9e05689418a01f545a0fee4a0dca615f80..ec758b6a05f930d0c1ee726b246c38938d34536a 100644 --- a/Applications/Utils/OGSFileConverter/CMakeLists.txt +++ b/Applications/Utils/OGSFileConverter/CMakeLists.txt @@ -1,33 +1,24 @@ -add_library(OGSFileConverterLib - FileListDialog.h - OGSFileConverter.h - FileListDialog.cpp - OGSFileConverter.cpp -) +add_library(OGSFileConverterLib FileListDialog.h OGSFileConverter.h + FileListDialog.cpp OGSFileConverter.cpp) target_link_libraries(OGSFileConverterLib - PUBLIC ApplicationsFileIO MathLib QtBase ${VTK_LIBRARIES} - INTERFACE MeshLib -) + PUBLIC ApplicationsFileIO MathLib QtBase ${VTK_LIBRARIES} + INTERFACE MeshLib) if(BUILD_SHARED_LIBS) - install(TARGETS OGSFileConverterLib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS OGSFileConverterLib + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -set_target_properties(OGSFileConverterLib PROPERTIES - AUTOMOC TRUE - AUTOUIC TRUE -) +set_target_properties(OGSFileConverterLib PROPERTIES AUTOMOC TRUE AUTOUIC TRUE) add_executable(OGSFileConverter main.cpp) target_link_libraries(OGSFileConverter - PUBLIC OGSFileConverterLib ApplicationsFileIO -) + PUBLIC OGSFileConverterLib ApplicationsFileIO) add_autogen_include(OGSFileConverterLib) set_target_properties(OGSFileConverter OGSFileConverterLib - PROPERTIES FOLDER "Utilities" -) + PROPERTIES FOLDER "Utilities") if(OGS_USE_PCH) cotire(OGSFileConverterLib) diff --git a/Applications/Utils/PostProcessing/CMakeLists.txt b/Applications/Utils/PostProcessing/CMakeLists.txt index 06016e3a38b433cd0ffc99e3deb2d9ac4daeeba1..52469fed16de8045ae6eaa58c47fa17e8e26705f 100644 --- a/Applications/Utils/PostProcessing/CMakeLists.txt +++ b/Applications/Utils/PostProcessing/CMakeLists.txt @@ -1,4 +1,3 @@ - if(OGS_BUILD_PROCESS_LIE) add_executable(postLIE postLIE.cpp) target_link_libraries(postLIE LIECommon) diff --git a/Applications/Utils/SWMMConverter/CMakeLists.txt b/Applications/Utils/SWMMConverter/CMakeLists.txt index 59b62127999a130f10de34d5e3a04a0103baaadb..1b78a128bc835e68dcecb9195a2aeb72230ebabb 100644 --- a/Applications/Utils/SWMMConverter/CMakeLists.txt +++ b/Applications/Utils/SWMMConverter/CMakeLists.txt @@ -1,10 +1,9 @@ add_executable(SWMMConverter SWMMConverter.cpp) target_link_libraries(SWMMConverter - ApplicationsFileIO - GeoLib - MeshLib - SwmmInterface -) -include_directories( ${PROJECT_SOURCE_DIR}/Applications/FileIO ) + ApplicationsFileIO + GeoLib + MeshLib + SwmmInterface) +include_directories(${PROJECT_SOURCE_DIR}/Applications/FileIO) set_target_properties(SWMMConverter PROPERTIES FOLDER Utilities) install(TARGETS SWMMConverter RUNTIME DESTINATION bin COMPONENT Utilities) diff --git a/Applications/Utils/SimpleMeshCreation/CMakeLists.txt b/Applications/Utils/SimpleMeshCreation/CMakeLists.txt index 98767fae4f4819cc3d7d535283fada9147e593e4..91562281a1b1b199ae3213e586a7212f783cc65b 100644 --- a/Applications/Utils/SimpleMeshCreation/CMakeLists.txt +++ b/Applications/Utils/SimpleMeshCreation/CMakeLists.txt @@ -1,21 +1,19 @@ - if(OGS_BUILD_GUI) - add_executable(createMeshElemPropertiesFromASCRaster createMeshElemPropertiesFromASCRaster.cpp) - set_target_properties(createMeshElemPropertiesFromASCRaster PROPERTIES FOLDER Utilities) + add_executable(createMeshElemPropertiesFromASCRaster + createMeshElemPropertiesFromASCRaster.cpp) + set_target_properties(createMeshElemPropertiesFromASCRaster + PROPERTIES FOLDER Utilities) target_link_libraries(createMeshElemPropertiesFromASCRaster - ApplicationsFileIO - MeshLib - ) + ApplicationsFileIO MeshLib) endif() add_executable(generateStructuredMesh generateStructuredMesh.cpp) target_link_libraries(generateStructuredMesh MeshLib) set_target_properties(generateStructuredMesh PROPERTIES FOLDER Utilities) -install(TARGETS generateStructuredMesh RUNTIME DESTINATION bin - COMPONENT Utilities) +install(TARGETS generateStructuredMesh + RUNTIME DESTINATION bin COMPONENT Utilities) if(OGS_BUILD_GUI) install(TARGETS createMeshElemPropertiesFromASCRaster - RUNTIME DESTINATION bin - COMPONENT Utilities) + RUNTIME DESTINATION bin COMPONENT Utilities) endif() diff --git a/BaseLib/CMakeLists.txt b/BaseLib/CMakeLists.txt index 52f8a8e03dbe8ee131757bd08e5b88eb48eece96..b84f20bc1aa60bedbaf0fe0184a2eca40bdddd62 100644 --- a/BaseLib/CMakeLists.txt +++ b/BaseLib/CMakeLists.txt @@ -1,10 +1,10 @@ -GET_SOURCE_FILES(SOURCES) -APPEND_SOURCE_FILES(SOURCES IO) +get_source_files(SOURCES) +append_source_files(SOURCES IO) -APPEND_SOURCE_FILES(SOURCES IO/XmlIO) +append_source_files(SOURCES IO/XmlIO) if(OGS_BUILD_GUI) - APPEND_SOURCE_FILES(SOURCES IO/XmlIO/Qt) + append_source_files(SOURCES IO/XmlIO/Qt) endif() list(APPEND SOURCES "${CMAKE_CURRENT_BINARY_DIR}/BuildInfo.cpp" BuildInfo.h) diff --git a/CMakeLists.txt b/CMakeLists.txt index 68f832c2f52679bd74f663893675d28898004169..efbc30c5324cd5dae4801c6c6102f3178f9e8025 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,41 +1,29 @@ -##################### -### OGS-6 Project ### -##################### - -# Specify minimum CMake version +# ---- OGS-6 Project ---- cmake_minimum_required(VERSION 3.12) # Set CMake policies -cmake_policy(SET CMP0011 NEW) cmake_policy(SET CMP0054 NEW) -if(POLICY CMP0071) - cmake_policy(SET CMP0071 NEW) -endif() -if(POLICY CMP0074) - cmake_policy(SET CMP0074 NEW) -endif() +cmake_policy(SET CMP0071 NEW) +cmake_policy(SET CMP0074 NEW) -if(WIN32 AND - NOT ${CMAKE_GENERATOR} STREQUAL Ninja AND - NOT ${CMAKE_GENERATOR} MATCHES 2015) # does not work on 2015 +if(WIN32 AND NOT ${CMAKE_GENERATOR} STREQUAL Ninja) # Force 64-bit VS compiler set(CMAKE_GENERATOR_TOOLSET host=x64) endif() -# Project name -project( OGS-6 ) +project(OGS-6) include(scripts/cmake/CMakeSetup.cmake) include(ParseCMakeArgs) include(CTest) -########################### -### Preliminary Options ### -########################### +# ---- Preliminary Options ---- set(CMAKE_EXPORT_COMPILE_COMMANDS ON) option(BUILD_SHARED_LIBS "Create shared libraries?" OFF) -set(CMAKE_LIBRARY_SEARCH_PATH "" CACHE PATH - "Additional library installation path, e.g. /opt/local or C:/libs") +set(CMAKE_LIBRARY_SEARCH_PATH + "" + CACHE PATH + "Additional library installation path, e.g. /opt/local or C:/libs") set(OGS_CPU_ARCHITECTURE "native" CACHE STRING "Processor architecture, \ defaults to native (*nix) / blend (MSVC).") option(OGS_ENABLE_AVX2 "Enable the use of AVX2 instructions" OFF) @@ -45,14 +33,24 @@ if(DEFINED CMAKE_CXX_CLANG_TIDY) endif() option(OGS_USE_CONAN "Should Conan package manager be used?" ON) set(OGS_CONAN_BUILD "missing" CACHE STRING "Possible values: all, missing, \ - never or list of libs to build" ) + never or list of libs to build") # Third-party libraries, names come from Conan package names set(OGS_LIBS - vtk boost eigen qt shapelib libgeotiff petsc lis cvode + vtk + boost + eigen + qt + shapelib + libgeotiff + petsc + lis + cvode CACHE INTERNAL "") foreach(LIB ${OGS_LIBS}) - set(OGS_LIB_${LIB} "Default" CACHE STRING "Which ${LIB} library should be used?") + set(OGS_LIB_${LIB} + "Default" + CACHE STRING "Which ${LIB} library should be used?") set_property(CACHE OGS_LIB_${LIB} PROPERTY STRINGS "Default" "System") endforeach(LIB) @@ -61,7 +59,7 @@ if(OGS_USE_PETSC) endif() option(OGS_USE_CVODE "Use the Sundials CVODE module?" OFF) -### CMake includes ### +# ---- CMake includes ---- include(PreFind) include(CheckTypeSizes) include(Functions) @@ -78,18 +76,14 @@ if(OGS_COVERAGE AND NOT IS_SUBPROJECT) endif() include(CppCheck) -#################### -### More Options ### -#################### +# ---- More Options ---- # Profiling if((CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC) AND GPROF_PATH) - option(OGS_PROFILE "Enables compiling with flags set for profiling with gprof." OFF) + option(OGS_PROFILE + "Enables compiling with flags set for profiling with gprof." OFF) endif() # GCC AND GPROF_PATH -# Enable / Disable parts -option(OGS_DONT_USE_QT "Disables all Qt specific code." OFF) - option(OGS_BUILD_CLI "Should the OGS simulator be built?" ON) option(OGS_BUILD_GUI "Should the Data Explorer be built?" OFF) if(OGS_BUILD_GUI) @@ -99,11 +93,10 @@ endif() option(OGS_BUILD_UTILS "Should the utilities programms be built?" OFF) if(OGS_BUILD_UTILS AND OGS_USE_MPI) message(WARNING "OGS_BUILD_UTILS cannot be used with OGS_USE_MPI " - "(OGS_USE_PETSC)! Disabling OGS_BUILD_UTILS.") + "(OGS_USE_PETSC)! Disabling OGS_BUILD_UTILS.") set(OGS_BUILD_UTILS OFF CACHE BOOL "" FORCE) endif() - # A list of processes to be build. Also used in the ProcessLib to select # processes to be build. set(ProcessesList @@ -134,12 +127,17 @@ foreach(process ${ProcessesList}) option(OGS_BUILD_PROCESS_${process} "Build the ${process} process." ON) endforeach() -set(OGS_BUILD_PROCESSES "" CACHE STRING "Semicolon-separated list of processes to build") +set(OGS_BUILD_PROCESSES + "" + CACHE STRING "Semicolon-separated list of processes to build") if(NOT "${OGS_BUILD_PROCESSES}" STREQUAL "") foreach(process ${OGS_BUILD_PROCESSES}) if(NOT "${process}" IN_LIST ProcessesList) - message(FATAL_ERROR "${process} given in OGS_BUILD_PROCESSES is " - "not a valid process name! Valid names are ${ProcessesList}") + message( + FATAL_ERROR + "${process} given in OGS_BUILD_PROCESSES is " + "not a valid process name! Valid names are ${ProcessesList}" + ) endif() endforeach() message(STATUS "Enabled processes:") @@ -162,13 +160,8 @@ if(NOT WIN32 AND OGS_BUILD_SWMM) endif() option(OGS_NO_EXTERNAL_LIBS "Builds OGS without any external dependencies." OFF) - option(OGS_INSITU "Builds OGS with insitu visualization capabilities." OFF) - -# Linear solvers option(OGS_USE_LIS "Use Lis" OFF) - -# Parallel computing: vector and matrix algebraic caculation, solvers option(OGS_USE_PETSC "Use PETSc routines" OFF) # Eigen @@ -177,41 +170,46 @@ option(OGS_USE_EIGEN_UNSUPPORTED "Use Eigen unsupported modules" ON) option(OGS_EIGEN_INITIALIZE_MATRICES_BY_NAN "" ON) option(EIGEN_NO_DEBUG "Disables Eigen's assertions" OFF) -# We assume that it's save to use vectorization with Eigen < 3.3 (strictly smaller than 3.3.!). -# At least we only observed vectorization issues with Eigen 3.3.x. -# If you want to use Eigen vectorization, make sure that you run all the ctests several times, e.g.: -# $ ctest --repeat-until-fail 50 -# You might also want to take a look at https://github.com/ufz/ogs/issues/1881. +# We assume that it's save to use vectorization with Eigen < 3.3 (strictly +# smaller than 3.3.!). At least we only observed vectorization issues with Eigen +# 3.3.x. If you want to use Eigen vectorization, make sure that you run all the +# ctests several times, e.g.: $ ctest --repeat-until-fail 50 You might also want +# to take a look at https://github.com/ufz/ogs/issues/1881. option(EIGEN_DONT_VECTORIZE "Disables explicit vectorization when defined." ON) -set(OGS_EIGEN_DYNAMIC_SHAPE_MATRICES "Default" CACHE STRING "Use dynamically allocated shape matrices") +set(OGS_EIGEN_DYNAMIC_SHAPE_MATRICES + "Default" + CACHE STRING "Use dynamically allocated shape matrices") set_property(CACHE OGS_EIGEN_DYNAMIC_SHAPE_MATRICES PROPERTY STRINGS "Default" "ON" "OFF") if(OGS_EIGEN_DYNAMIC_SHAPE_MATRICES STREQUAL "Default") - if(CMAKE_BUILD_TYPE STREQUAL "Release" OR - CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") + if(CMAKE_BUILD_TYPE STREQUAL "Release" + OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") set(OGS_EIGEN_DYNAMIC_SHAPE_MATRICES_INTERNAL OFF) else() set(OGS_EIGEN_DYNAMIC_SHAPE_MATRICES_INTERNAL ON) endif() else() - set(OGS_EIGEN_DYNAMIC_SHAPE_MATRICES_INTERNAL ${OGS_EIGEN_DYNAMIC_SHAPE_MATRICES}) + set(OGS_EIGEN_DYNAMIC_SHAPE_MATRICES_INTERNAL + ${OGS_EIGEN_DYNAMIC_SHAPE_MATRICES}) endif() +# Eigen End -# MKL option(OGS_USE_MKL "Use Intel MKL" OFF) # Logging -set(OGS_LOG_LEVEL "LOGOG_LEVEL_DEBUG" CACHE STRING "Set logging level included in compilation.") -set_property(CACHE OGS_LOG_LEVEL PROPERTY STRINGS - LOGOG_LEVEL_NONE - LOGOG_LEVEL_ERROR - LOGOG_LEVEL_WARN - LOGOG_LEVEL_INFO - LOGOG_LEVEL_DEBUG - LOGOG_LEVEL_ALL -) +set(OGS_LOG_LEVEL + "LOGOG_LEVEL_DEBUG" + CACHE STRING "Set logging level included in compilation.") +set_property(CACHE OGS_LOG_LEVEL + PROPERTY STRINGS + LOGOG_LEVEL_NONE + LOGOG_LEVEL_ERROR + LOGOG_LEVEL_WARN + LOGOG_LEVEL_INFO + LOGOG_LEVEL_DEBUG + LOGOG_LEVEL_ALL) # Debug option(OGS_FATAL_ABORT "Abort in OGS_FATAL" OFF) @@ -221,36 +219,44 @@ set(OGS_CXX_FLAGS "" CACHE STRING "Additional C++ compiler flags.") option(STL_NO_DEBUG "Disable STL debug in debug build" OFF) # Print CMake variable values -if (OGS_CMAKE_DEBUG) +if(OGS_CMAKE_DEBUG) include(ListAllCMakeVariableValues) list_all_cmake_variable_values() -endif () +endif() # Code coverage option(OGS_COVERAGE "Enables code coverage measurements with gcov/lcov." OFF) -option(OGS_SYNC_SUBMODULES "Sync git submodules on CMake run. Overwrites custom URLs!" ON) +option(OGS_SYNC_SUBMODULES + "Sync git submodules on CMake run. Overwrites custom URLs!" ON) # Options controlling which FEM elements will be compiled -set(OGS_MAX_ELEMENT_DIM 3 CACHE STRING "Maximum dimension of FEM elements to be built.") -set(OGS_MAX_ELEMENT_ORDER 2 CACHE STRING "Maximum order of FEM elements to be built.") -option(OGS_ENABLE_ELEMENT_SIMPLEX "Build FEM elements for simplices (triangles, tetrahedra)." ON) -option(OGS_ENABLE_ELEMENT_CUBOID "Build FEM elements for cuboids (quads, hexahedra)." ON) -option(OGS_ENABLE_ELEMENT_PRISM "Build FEM elements for prisms." ON) +set(OGS_MAX_ELEMENT_DIM + 3 + CACHE STRING "Maximum dimension of FEM elements to be built.") +set(OGS_MAX_ELEMENT_ORDER + 2 + CACHE STRING "Maximum order of FEM elements to be built.") +option(OGS_ENABLE_ELEMENT_SIMPLEX + "Build FEM elements for simplices (triangles, tetrahedra)." ON) +option(OGS_ENABLE_ELEMENT_CUBOID + "Build FEM elements for cuboids (quads, hexahedra)." ON) +option(OGS_ENABLE_ELEMENT_PRISM "Build FEM elements for prisms." ON) option(OGS_ENABLE_ELEMENT_PYRAMID "Build FEM elements for pyramids." ON) -option(OGS_CHECK_HEADER_COMPILATION "Check header for standalone compilation." OFF) +option(OGS_CHECK_HEADER_COMPILATION "Check header for standalone compilation." + OFF) option(OGS_USE_PYTHON "Interface with Python" OFF) if(OGS_USE_PYTHON AND NOT Python_FOUND) message(FATAL_ERROR "Python not found but required for OGS_USE_PYTHON=ON!") endif() -option(OGS_USE_MFRONT "Enable solid material models by MFront (https://tfel.sourceforge.net)" OFF) +option(OGS_USE_MFRONT + "Enable solid material models by MFront (https://tfel.sourceforge.net)" + OFF) -################### -### Definitions ### -################### +# ---- Definitions ---- if(OGS_USE_LIS) add_definitions(-DUSE_LIS) include_directories(SYSTEM ${LIS_INCLUDE_DIR}) @@ -266,7 +272,6 @@ if(OGS_USE_PETSC) add_definitions(-DUSE_PETSC) endif() -# Use MPI if(OGS_USE_MPI) add_definitions(-DUSE_MPI) endif() @@ -276,11 +281,11 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug") add_definitions(-DEIGEN_INITIALIZE_MATRICES_BY_NAN) endif() -if (EIGEN_NO_DEBUG) +if(EIGEN_NO_DEBUG) add_definitions(-DEIGEN_NO_DEBUG) endif() -if (EIGEN_DONT_VECTORIZE) +if(EIGEN_DONT_VECTORIZE) add_definitions(-DEIGEN_DONT_VECTORIZE) endif() @@ -302,62 +307,59 @@ if(MSVC AND OGS_32_BIT) endif() # End Eigen -if (OGS_FATAL_ABORT) +if(OGS_FATAL_ABORT) add_definitions(-DOGS_FATAL_ABORT) endif() -# Logging level add_definitions(-DLOGOG_LEVEL=${OGS_LOG_LEVEL}) # Packaging -option(OGS_DOWNLOAD_ADDITIONAL_CONTENT "Should additional content such as manuals be downloaded and packaged?" OFF) +option(OGS_DOWNLOAD_ADDITIONAL_CONTENT + "Should additional content such as manuals be downloaded and packaged?" + OFF) include(scripts/cmake/packaging/Pack.cmake) -###################### -### Subdirectories ### -###################### +# ---- Subdirectories ---- # External projects if(OGS_INSITU) include("${PARAVIEW_USE_FILE}") add_definitions(-DUSE_INSITU) endif() - - -# Add subdirectories with the projects -add_subdirectory( ThirdParty ) -include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty ) -include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/googletest/googletest/include ) -include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/autocheck/include ) -include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/tclap/include ) -include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/json/include ) -include_directories( SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/exprtk ) +add_subdirectory(ThirdParty) +include_directories( + SYSTEM + ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty + ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/googletest/googletest/include + ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/autocheck/include + ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/tclap/include + ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/json/include + ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/exprtk) include(scripts/cmake/CheckHeaderCompilation.cmake) -add_subdirectory( Applications ) -add_subdirectory( BaseLib ) -add_subdirectory( GeoLib ) -add_subdirectory( MathLib ) -add_subdirectory( MeshLib ) -add_subdirectory( MeshGeoToolsLib ) -add_subdirectory( NumLib ) -add_subdirectory( ChemistryLib ) +add_subdirectory(Applications) +add_subdirectory(BaseLib) +add_subdirectory(GeoLib) +add_subdirectory(MathLib) +add_subdirectory(MeshLib) +add_subdirectory(MeshGeoToolsLib) +add_subdirectory(NumLib) +add_subdirectory(ChemistryLib) if(OGS_BUILD_CLI OR OGS_BUILD_UTILS OR BUILD_TESTING) - add_subdirectory( ParameterLib ) - add_subdirectory( MaterialLib ) - add_subdirectory( ProcessLib ) + add_subdirectory(ParameterLib) + add_subdirectory(MaterialLib) + add_subdirectory(ProcessLib) endif() -if( BUILD_TESTING AND NOT IS_SUBPROJECT ) - add_subdirectory( Tests ) +if(BUILD_TESTING AND NOT IS_SUBPROJECT) + add_subdirectory(Tests) endif() file(WRITE ${PROJECT_BINARY_DIR}/disabled-tests.log "${DISABLED_TESTS_LOG}") unset(DISABLED_TESTS_LOG CACHE) # Don't write to CMakeCache.txt -# The configuration must be called from the source dir and not BaseLib/. configure_file("${CMAKE_CURRENT_SOURCE_DIR}/BaseLib/BuildInfo.cpp.in" - "${CMAKE_CURRENT_BINARY_DIR}/BaseLib/BuildInfo.cpp" @ONLY) + "${CMAKE_CURRENT_BINARY_DIR}/BaseLib/BuildInfo.cpp" @ONLY) check_header_compilation() diff --git a/ChemistryLib/CMakeLists.txt b/ChemistryLib/CMakeLists.txt index 00b1349a2095b592ad7ffd16d2321697770bd7f2..e7960b2755b34d20a509623687447fc6e6d267ff 100644 --- a/ChemistryLib/CMakeLists.txt +++ b/ChemistryLib/CMakeLists.txt @@ -1,4 +1,4 @@ -#Source files grouped by a directory +# Source files grouped by a directory get_source_files(SOURCES) append_source_files(SOURCES PhreeqcIOData) @@ -11,10 +11,7 @@ endif() include(GenerateExportHeader) generate_export_header(ChemistryLib) -target_link_libraries(ChemistryLib - PUBLIC iphreeqc - PRIVATE NumLib -) +target_link_libraries(ChemistryLib PUBLIC iphreeqc PRIVATE NumLib) if(OGS_USE_PCH) cotire(ChemistryLib) diff --git a/Documentation/mainpage.dox b/Documentation/mainpage.dox index 063eaccb9d130382ac0e33f448f147b7822e1842..bbbd5d8cdcb19a87d23f5bd2e5d99ffce43b68a1 100644 --- a/Documentation/mainpage.dox +++ b/Documentation/mainpage.dox @@ -7,7 +7,7 @@ * - Wiki: https://svn.ufz.de/ogs * - Developer guide: http://docs.opengeosys.org/docs/devguide * - Data Explorer (Gui) manual: http://docs.opengeosys.org/assets/releases/head/docs/DataExplorer-Manual.pdf - * - Mailing list: https://groups.google.com/forum/#!forum/ogs-users + * - Discussion forum: https://discourse.opengeosys.org * - Jenkins build server: https://svn.ufz.de/hudson * * diff --git a/GeoLib/CMakeLists.txt b/GeoLib/CMakeLists.txt index 7c9fbf1599543793a1ca00db1111bb50db2b1712..c2dc61b9c27c046afd117f38c8227d11f9b9ebb5 100644 --- a/GeoLib/CMakeLists.txt +++ b/GeoLib/CMakeLists.txt @@ -1,13 +1,13 @@ # Source files -GET_SOURCE_FILES(SOURCES) +get_source_files(SOURCES) -APPEND_SOURCE_FILES(SOURCES IO) +append_source_files(SOURCES IO) -APPEND_SOURCE_FILES(SOURCES IO/XmlIO/Rapid) -APPEND_SOURCE_FILES(SOURCES IO/XmlIO/Boost) +append_source_files(SOURCES IO/XmlIO/Rapid) +append_source_files(SOURCES IO/XmlIO/Boost) if(OGS_BUILD_GUI) - APPEND_SOURCE_FILES(SOURCES IO/XmlIO/Qt) + append_source_files(SOURCES IO/XmlIO/Qt) endif() # Create the library @@ -26,6 +26,10 @@ if(OGS_USE_PCH) cotire(GeoLib) endif() -configure_file(IO/XmlIO/OpenGeoSysGLI.xsd ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/OpenGeoSysGLI.xsd COPYONLY) -configure_file(IO/XmlIO/OpenGeoSysSTN.xsd ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/OpenGeoSysSTN.xsd COPYONLY) -install(FILES IO/XmlIO/OpenGeoSysGLI.xsd IO/XmlIO/OpenGeoSysSTN.xsd DESTINATION bin COMPONENT ogs_cli) +configure_file(IO/XmlIO/OpenGeoSysGLI.xsd + ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/OpenGeoSysGLI.xsd COPYONLY) +configure_file(IO/XmlIO/OpenGeoSysSTN.xsd + ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/OpenGeoSysSTN.xsd COPYONLY) +install(FILES IO/XmlIO/OpenGeoSysGLI.xsd IO/XmlIO/OpenGeoSysSTN.xsd + DESTINATION bin + COMPONENT ogs_cli) diff --git a/MaterialLib/CMakeLists.txt b/MaterialLib/CMakeLists.txt index 6af23f988eb9a916ddd63dc5d84d751fdb973d82..a173181bb77446b500c900e61f153852a5b56106 100644 --- a/MaterialLib/CMakeLists.txt +++ b/MaterialLib/CMakeLists.txt @@ -24,7 +24,8 @@ append_source_files(SOURCES PorousMedium/Porosity) append_source_files(SOURCES PorousMedium/Storage) append_source_files(SOURCES PorousMedium/Permeability) append_source_files(SOURCES PorousMedium/UnsaturatedProperty/CapillaryPressure) -append_source_files(SOURCES PorousMedium/UnsaturatedProperty/RelativePermeability) +append_source_files(SOURCES + PorousMedium/UnsaturatedProperty/RelativePermeability) append_source_files(SOURCES TwoPhaseModels) add_subdirectory(SolidModels/MFront) @@ -36,14 +37,11 @@ endif() include(GenerateExportHeader) generate_export_header(MaterialLib) -target_include_directories(MaterialLib - PUBLIC ${CMAKE_CURRENT_BINARY_DIR} -) +target_include_directories(MaterialLib PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) target_link_libraries(MaterialLib - PUBLIC MaterialLib_SolidModels_MFront - PRIVATE MathLib MeshLib ParameterLib -) + PUBLIC MaterialLib_SolidModels_MFront + PRIVATE MathLib MeshLib ParameterLib) if(OGS_USE_PCH) cotire(MaterialLib) diff --git a/MaterialLib/SolidModels/MFront/CMakeLists.txt b/MaterialLib/SolidModels/MFront/CMakeLists.txt index a693ff0a812ea8497556dc6d7bfaa015787489e9..05b2a276d8e8d58fe98966a0899431742a2d5554 100644 --- a/MaterialLib/SolidModels/MFront/CMakeLists.txt +++ b/MaterialLib/SolidModels/MFront/CMakeLists.txt @@ -7,20 +7,18 @@ endif() add_library(MaterialLib_SolidModels_MFront ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS MaterialLib_SolidModels_MFront LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS MaterialLib_SolidModels_MFront + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(MaterialLib_SolidModels_MFront - PUBLIC BaseLib NumLib logog - PRIVATE MathLib MeshLib -) + PUBLIC BaseLib NumLib logog + PRIVATE MathLib MeshLib) -if (OGS_USE_MFRONT) +if(OGS_USE_MFRONT) target_include_directories(MaterialLib_SolidModels_MFront - PUBLIC ${MGIS_INCLUDE_DIR} - ) - target_link_libraries(MaterialLib_SolidModels_MFront - PUBLIC ${MGIS_LIBRARY} - ) - target_compile_definitions(MaterialLib_SolidModels_MFront PRIVATE OGS_USE_MFRONT) + PUBLIC ${MGIS_INCLUDE_DIR}) + target_link_libraries(MaterialLib_SolidModels_MFront PUBLIC ${MGIS_LIBRARY}) + target_compile_definitions(MaterialLib_SolidModels_MFront PRIVATE + OGS_USE_MFRONT) endif() diff --git a/MathLib/CMakeLists.txt b/MathLib/CMakeLists.txt index bbde7cd43d11c118b561ae712a5ee38cbfb60249..4b1030bcd5ee7097f830e2ee7a54e17a771756a6 100644 --- a/MathLib/CMakeLists.txt +++ b/MathLib/CMakeLists.txt @@ -1,27 +1,27 @@ -#Source files grouped by a directory -GET_SOURCE_FILES(SOURCES) +# Source files grouped by a directory +get_source_files(SOURCES) -APPEND_SOURCE_FILES(SOURCES Curve) -APPEND_SOURCE_FILES(SOURCES InterpolationAlgorithms) -APPEND_SOURCE_FILES(SOURCES Integration) -APPEND_SOURCE_FILES(SOURCES LinAlg) -APPEND_SOURCE_FILES(SOURCES LinAlg/Dense) +append_source_files(SOURCES Curve) +append_source_files(SOURCES InterpolationAlgorithms) +append_source_files(SOURCES Integration) +append_source_files(SOURCES LinAlg) +append_source_files(SOURCES LinAlg/Dense) if(CVODE_FOUND) - APPEND_SOURCE_FILES(SOURCES ODE) + append_source_files(SOURCES ODE) endif() -APPEND_SOURCE_FILES(SOURCES Nonlinear) +append_source_files(SOURCES Nonlinear) if(OGS_USE_EIGEN) - APPEND_SOURCE_FILES(SOURCES LinAlg/Eigen) + append_source_files(SOURCES LinAlg/Eigen) endif() if(OGS_USE_LIS) - APPEND_SOURCE_FILES(SOURCES LinAlg/Lis) - APPEND_SOURCE_FILES(SOURCES LinAlg/EigenLis) + append_source_files(SOURCES LinAlg/Lis) + append_source_files(SOURCES LinAlg/EigenLis) endif() if(OGS_USE_PETSC) - APPEND_SOURCE_FILES(SOURCES LinAlg/PETSc) + append_source_files(SOURCES LinAlg/PETSc) endif() # Create the library @@ -38,7 +38,7 @@ set_target_properties(MathLib PROPERTIES LINKER_LANGUAGE CXX) target_link_libraries(MathLib PUBLIC BaseLib logog ${OpenMP_CXX_LIBRARIES}) -if (CVODE_FOUND) +if(CVODE_FOUND) target_include_directories(MathLib PRIVATE ${CVODE_INCLUDE_DIRS}) target_link_libraries(MathLib PUBLIC ${CVODE_LIBRARIES}) endif() @@ -47,15 +47,15 @@ if(LAPACK_FOUND) target_link_libraries(MathLib PUBLIC ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) endif() -if (OGS_USE_LIS) +if(OGS_USE_LIS) target_link_libraries(MathLib PUBLIC ${LIS_LIBRARIES}) endif() -if (OGS_USE_MKL) +if(OGS_USE_MKL) target_link_libraries(MathLib PUBLIC ${MKL_LIBRARIES}) endif() -if (OGS_USE_PETSC) +if(OGS_USE_PETSC) target_include_directories(MathLib PUBLIC ${PETSC_INCLUDE_DIRS}) target_link_libraries(MathLib PUBLIC ${PETSC_LIBRARIES}) endif() diff --git a/MeshGeoToolsLib/CMakeLists.txt b/MeshGeoToolsLib/CMakeLists.txt index 983138fab6b6b443077c84392997c4d620e418b8..8a6ea49d716e8d158887d488f3d19923ecf23137 100644 --- a/MeshGeoToolsLib/CMakeLists.txt +++ b/MeshGeoToolsLib/CMakeLists.txt @@ -1,5 +1,5 @@ # Source files -GET_SOURCE_FILES(SOURCES) +get_source_files(SOURCES) # Create the library add_library(MeshGeoToolsLib ${SOURCES}) @@ -8,9 +8,8 @@ if(BUILD_SHARED_LIBS) endif() target_link_libraries(MeshGeoToolsLib - PUBLIC GeoLib MathLib - PRIVATE BaseLib MeshLib logog -) + PUBLIC GeoLib MathLib + PRIVATE BaseLib MeshLib logog) if(OGS_USE_PCH) cotire(MeshGeoToolsLib) diff --git a/MeshLib/CMakeLists.txt b/MeshLib/CMakeLists.txt index 4f6299ed85aa72ff6836248601381dac27a3cc18..e92236424e017d68d213fadb0685e309f15ccc1a 100644 --- a/MeshLib/CMakeLists.txt +++ b/MeshLib/CMakeLists.txt @@ -1,23 +1,23 @@ -GET_SOURCE_FILES(SOURCES) +get_source_files(SOURCES) # It should be removed too for other MPI based DDC approach in future. if(NOT OGS_USE_PETSC) list(REMOVE_ITEM SOURCES NodePartitionedMesh.h) endif() -APPEND_SOURCE_FILES(SOURCES MeshEditing) -APPEND_SOURCE_FILES(SOURCES MeshGenerators) -APPEND_SOURCE_FILES(SOURCES MeshSearch) -APPEND_SOURCE_FILES(SOURCES Elements) -APPEND_SOURCE_FILES(SOURCES IO) -APPEND_SOURCE_FILES(SOURCES IO/Legacy) -APPEND_SOURCE_FILES(SOURCES IO/VtkIO) -APPEND_SOURCE_FILES(SOURCES MeshQuality) -APPEND_SOURCE_FILES(SOURCES Vtk) +append_source_files(SOURCES MeshEditing) +append_source_files(SOURCES MeshGenerators) +append_source_files(SOURCES MeshSearch) +append_source_files(SOURCES Elements) +append_source_files(SOURCES IO) +append_source_files(SOURCES IO/Legacy) +append_source_files(SOURCES IO/VtkIO) +append_source_files(SOURCES MeshQuality) +append_source_files(SOURCES Vtk) # It could be used for other MPI based DDC approach in future. if(OGS_USE_PETSC) - APPEND_SOURCE_FILES(SOURCES IO/MPI_IO) + append_source_files(SOURCES IO/MPI_IO) endif() # Create the library @@ -30,5 +30,8 @@ if(OGS_USE_PCH) endif() target_link_libraries(MeshLib - PUBLIC BaseLib GeoLib MathLib logog ${VTK_LIBRARIES} -) + PUBLIC BaseLib + GeoLib + MathLib + logog + ${VTK_LIBRARIES}) diff --git a/NumLib/CMakeLists.txt b/NumLib/CMakeLists.txt index c1fae72c19152c09009bd6286f485e697b8c4109..7c744d1536b16a19e91e42de824cb7b34969bf68 100644 --- a/NumLib/CMakeLists.txt +++ b/NumLib/CMakeLists.txt @@ -1,17 +1,17 @@ -GET_SOURCE_FILES(SOURCES) +get_source_files(SOURCES) -APPEND_SOURCE_FILES(SOURCES Assembler) -APPEND_SOURCE_FILES(SOURCES DOF) -APPEND_SOURCE_FILES(SOURCES Fem) -APPEND_SOURCE_FILES(SOURCES Fem/CoordinatesMapping) -APPEND_SOURCE_FILES(SOURCES Fem/FiniteElement) -APPEND_SOURCE_FILES(SOURCES Fem/Integration) -APPEND_SOURCE_FILES(SOURCES Fem/ShapeFunction) -APPEND_SOURCE_FILES(SOURCES TimeStepping) -APPEND_SOURCE_FILES(SOURCES TimeStepping/Algorithms) -APPEND_SOURCE_FILES(SOURCES Function) -APPEND_SOURCE_FILES(SOURCES ODESolver) -APPEND_SOURCE_FILES(SOURCES Extrapolation) +append_source_files(SOURCES Assembler) +append_source_files(SOURCES DOF) +append_source_files(SOURCES Fem) +append_source_files(SOURCES Fem/CoordinatesMapping) +append_source_files(SOURCES Fem/FiniteElement) +append_source_files(SOURCES Fem/Integration) +append_source_files(SOURCES Fem/ShapeFunction) +append_source_files(SOURCES TimeStepping) +append_source_files(SOURCES TimeStepping/Algorithms) +append_source_files(SOURCES Function) +append_source_files(SOURCES ODESolver) +append_source_files(SOURCES Extrapolation) # Create the library add_library(NumLib ${SOURCES}) @@ -25,9 +25,12 @@ target_include_directories(NumLib PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) set_target_properties(NumLib PROPERTIES LINKER_LANGUAGE CXX) target_link_libraries(NumLib - PUBLIC BaseLib GeoLib MathLib MeshLib logog - PRIVATE MeshGeoToolsLib -) + PUBLIC BaseLib + GeoLib + MathLib + MeshLib + logog + PRIVATE MeshGeoToolsLib) if(OGS_USE_PCH) cotire(NumLib) diff --git a/ParameterLib/CMakeLists.txt b/ParameterLib/CMakeLists.txt index 857be4c14f894b64dcde14ebb56845a4d783b822..59bd7e35266ad4eecc2c2c84e339254f1f60739d 100644 --- a/ParameterLib/CMakeLists.txt +++ b/ParameterLib/CMakeLists.txt @@ -8,9 +8,7 @@ endif() include(GenerateExportHeader) generate_export_header(ParameterLib) -target_include_directories(ParameterLib - PUBLIC ${CMAKE_CURRENT_BINARY_DIR} -) +target_include_directories(ParameterLib PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) target_link_libraries(ParameterLib PRIVATE BaseLib MeshLib) diff --git a/ProcessLib/BoundaryCondition/Python/CMakeLists.txt b/ProcessLib/BoundaryCondition/Python/CMakeLists.txt index 94dcceacb3726cf8b574bce1fdb511aebb4aea52..e8b743be32072db61e6d0a20b830da1c0dbabd0c 100644 --- a/ProcessLib/BoundaryCondition/Python/CMakeLists.txt +++ b/ProcessLib/BoundaryCondition/Python/CMakeLists.txt @@ -1,30 +1,32 @@ add_library(ProcessLibBoundaryConditionPython - PythonBoundaryCondition.cpp - PythonBoundaryCondition.h - PythonBoundaryConditionLocalAssembler.h - PythonBoundaryConditionPythonSideInterface.h) + PythonBoundaryCondition.cpp PythonBoundaryCondition.h + PythonBoundaryConditionLocalAssembler.h + PythonBoundaryConditionPythonSideInterface.h) if(BUILD_SHARED_LIBS) install(TARGETS ProcessLibBoundaryConditionPython - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_compile_definitions(ProcessLibBoundaryConditionPython - PUBLIC OGS_USE_PYTHON) +target_compile_definitions(ProcessLibBoundaryConditionPython PUBLIC + OGS_USE_PYTHON) target_link_libraries(ProcessLibBoundaryConditionPython - PUBLIC BaseLib MathLib MeshLib NumLib logog ${Python_LIBRARIES} - PRIVATE pybind11::pybind11) + PUBLIC BaseLib + MathLib + MeshLib + NumLib + logog + ${Python_LIBRARIES} + PRIVATE pybind11::pybind11) # For the embedded Python module add_library(ProcessLibBoundaryConditionPythonModule - PythonBoundaryConditionModule.cpp - PythonBoundaryConditionModule.h) + PythonBoundaryConditionModule.cpp PythonBoundaryConditionModule.h) if(BUILD_SHARED_LIBS) install(TARGETS ProcessLibBoundaryConditionPythonModule - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(ProcessLibBoundaryConditionPythonModule - PUBLIC - ProcessLibBoundaryConditionPython - pybind11::pybind11) + PUBLIC ProcessLibBoundaryConditionPython + pybind11::pybind11) diff --git a/ProcessLib/CMakeLists.txt b/ProcessLib/CMakeLists.txt index fac38bcd24df1a04d0096b8d6232ca0e4d179e1b..893b163d52b3233bcc3c4c034765ec198c07f4fe 100644 --- a/ProcessLib/CMakeLists.txt +++ b/ProcessLib/CMakeLists.txt @@ -10,13 +10,12 @@ foreach(process ${ProcessesList}) endif() endforeach() - -APPEND_SOURCE_FILES(SOURCES) -APPEND_SOURCE_FILES(SOURCES BoundaryCondition) -APPEND_SOURCE_FILES(SOURCES SurfaceFlux) -APPEND_SOURCE_FILES(SOURCES Output) -APPEND_SOURCE_FILES(SOURCES SourceTerms) -APPEND_SOURCE_FILES(SOURCES Utils) +append_source_files(SOURCES) +append_source_files(SOURCES BoundaryCondition) +append_source_files(SOURCES SurfaceFlux) +append_source_files(SOURCES Output) +append_source_files(SOURCES SourceTerms) +append_source_files(SOURCES Utils) add_library(ProcessLib ${SOURCES}) if(BUILD_SHARED_LIBS) @@ -24,27 +23,22 @@ if(BUILD_SHARED_LIBS) endif() target_link_libraries(ProcessLib - PUBLIC - BaseLib - MaterialLib - MathLib - MeshGeoToolsLib - MeshLib - NumLib - logog - ChemistryLib - PRIVATE - ParameterLib -) + PUBLIC BaseLib + MaterialLib + MathLib + MeshGeoToolsLib + MeshLib + NumLib + logog + ChemistryLib + PRIVATE ParameterLib) if(OGS_USE_PYTHON) add_subdirectory(BoundaryCondition/Python) - target_link_libraries(ProcessLib - PUBLIC ProcessLibBoundaryConditionPython) + target_link_libraries(ProcessLib PUBLIC ProcessLibBoundaryConditionPython) add_subdirectory(SourceTerms/Python) - target_link_libraries(ProcessLib - PUBLIC ProcessLibSourceTermPython) + target_link_libraries(ProcessLib PUBLIC ProcessLibSourceTermPython) endif() if(OGS_INSITU) diff --git a/ProcessLib/ComponentTransport/CMakeLists.txt b/ProcessLib/ComponentTransport/CMakeLists.txt index 15a0a6a3c54b221d2da26472c72344de90303e29..efc6c894edd0d3a8798393a5b903acb9588879de 100644 --- a/ProcessLib/ComponentTransport/CMakeLists.txt +++ b/ProcessLib/ComponentTransport/CMakeLists.txt @@ -1,13 +1,11 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(ComponentTransport ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS ComponentTransport LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS ComponentTransport + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(ComponentTransport - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(ComponentTransport PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/GroundwaterFlow/CMakeLists.txt b/ProcessLib/GroundwaterFlow/CMakeLists.txt index c2aa630efeb6d20e878a5497ba0f7f526d104e43..2b6fa539084aa59d7ac783825a76e22523cdab33 100644 --- a/ProcessLib/GroundwaterFlow/CMakeLists.txt +++ b/ProcessLib/GroundwaterFlow/CMakeLists.txt @@ -1,13 +1,10 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(GroundwaterFlow ${SOURCES}) if(BUILD_SHARED_LIBS) install(TARGETS GroundwaterFlow LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(GroundwaterFlow - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(GroundwaterFlow PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/HT/CMakeLists.txt b/ProcessLib/HT/CMakeLists.txt index 1cf1581847e218a58452bd21cf1f249545c069a4..e063a35a9a4a623d180ff6e0ad8ebe798a164631 100644 --- a/ProcessLib/HT/CMakeLists.txt +++ b/ProcessLib/HT/CMakeLists.txt @@ -1,12 +1,9 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(HT ${SOURCES}) if(BUILD_SHARED_LIBS) install(TARGETS HT LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(HT - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(HT PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/HeatConduction/CMakeLists.txt b/ProcessLib/HeatConduction/CMakeLists.txt index 5b1b842b98b83b0b5960dcc78ea090f9a6a5837c..ab5a1b398af85570d1a46c09c2a559ccdbe63755 100644 --- a/ProcessLib/HeatConduction/CMakeLists.txt +++ b/ProcessLib/HeatConduction/CMakeLists.txt @@ -1,12 +1,9 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(HeatConduction ${SOURCES}) if(BUILD_SHARED_LIBS) install(TARGETS HeatConduction LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(HeatConduction - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(HeatConduction PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/HeatTransportBHE/CMakeLists.txt b/ProcessLib/HeatTransportBHE/CMakeLists.txt index b9501a6007a31edcd395b0d12684469f30141ee9..daa5a552549346e2036b54607a48f15971d122aa 100644 --- a/ProcessLib/HeatTransportBHE/CMakeLists.txt +++ b/ProcessLib/HeatTransportBHE/CMakeLists.txt @@ -1,15 +1,13 @@ -APPEND_SOURCE_FILES(SOURCES) -APPEND_SOURCE_FILES(SOURCES BHE) -APPEND_SOURCE_FILES(SOURCES BoundaryConditions) -APPEND_SOURCE_FILES(SOURCES LocalAssemblers) +append_source_files(SOURCES) +append_source_files(SOURCES BHE) +append_source_files(SOURCES BoundaryConditions) +append_source_files(SOURCES LocalAssemblers) add_library(HeatTransportBHE ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS HeatTransportBHE LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS HeatTransportBHE + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(HeatTransportBHE - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(HeatTransportBHE PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/HydroMechanics/CMakeLists.txt b/ProcessLib/HydroMechanics/CMakeLists.txt index 924a3aec796c880dea61704475e70f2f53092ea6..1540a3a3583a31fb519cd168a9da9fc3291df648 100644 --- a/ProcessLib/HydroMechanics/CMakeLists.txt +++ b/ProcessLib/HydroMechanics/CMakeLists.txt @@ -1,12 +1,9 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(HydroMechanics ${SOURCES}) if(BUILD_SHARED_LIBS) install(TARGETS HydroMechanics LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(HydroMechanics - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(HydroMechanics PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/LIE/CMakeLists.txt b/ProcessLib/LIE/CMakeLists.txt index 8f82689a0e2fb74a6df19c514f3fb0e013b35e48..013de5c17312cb1c6ca92d3f0aab1960e3b6e735 100644 --- a/ProcessLib/LIE/CMakeLists.txt +++ b/ProcessLib/LIE/CMakeLists.txt @@ -1,17 +1,14 @@ add_subdirectory(Common) -APPEND_SOURCE_FILES(SOURCES HydroMechanics) -APPEND_SOURCE_FILES(SOURCES HydroMechanics/LocalAssembler) -APPEND_SOURCE_FILES(SOURCES SmallDeformation) -APPEND_SOURCE_FILES(SOURCES SmallDeformation/LocalAssembler) +append_source_files(SOURCES HydroMechanics) +append_source_files(SOURCES HydroMechanics/LocalAssembler) +append_source_files(SOURCES SmallDeformation) +append_source_files(SOURCES SmallDeformation/LocalAssembler) add_library(LIE ${SOURCES}) if(BUILD_SHARED_LIBS) install(TARGETS LIE LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(LIE - PUBLIC ProcessLib LIECommon - PRIVATE ParameterLib -) +target_link_libraries(LIE PUBLIC ProcessLib LIECommon PRIVATE ParameterLib) include(HydroMechanics/Tests.cmake) include(SmallDeformation/Tests.cmake) diff --git a/ProcessLib/LIE/Common/CMakeLists.txt b/ProcessLib/LIE/Common/CMakeLists.txt index 35b8683e7b782034a55ad72c792cad2b9001533c..807b396591c6f2474e380d1574cb20e52ff0ac08 100644 --- a/ProcessLib/LIE/Common/CMakeLists.txt +++ b/ProcessLib/LIE/Common/CMakeLists.txt @@ -1,4 +1,4 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(LIECommon ${SOURCES}) if(BUILD_SHARED_LIBS) diff --git a/ProcessLib/LiquidFlow/CMakeLists.txt b/ProcessLib/LiquidFlow/CMakeLists.txt index ff8694cc576af6e9f0fcabea5a591636685d6560..bfc4de9797779e6ec414207c7618d8c2cf8aa45c 100644 --- a/ProcessLib/LiquidFlow/CMakeLists.txt +++ b/ProcessLib/LiquidFlow/CMakeLists.txt @@ -1,12 +1,9 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(LiquidFlow ${SOURCES}) if(BUILD_SHARED_LIBS) install(TARGETS LiquidFlow LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(LiquidFlow - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(LiquidFlow PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/PhaseField/CMakeLists.txt b/ProcessLib/PhaseField/CMakeLists.txt index 03c6de7205b747233cd055394adca8f800276105..0923fa969b6c43e690d1ae7d9a0b12fab5c00c5a 100644 --- a/ProcessLib/PhaseField/CMakeLists.txt +++ b/ProcessLib/PhaseField/CMakeLists.txt @@ -1,12 +1,9 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(PhaseField ${SOURCES}) if(BUILD_SHARED_LIBS) install(TARGETS PhaseField LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(PhaseField - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(PhaseField PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/RichardsComponentTransport/CMakeLists.txt b/ProcessLib/RichardsComponentTransport/CMakeLists.txt index 1727d5762755dc26cde5b83cad7bca70bc88e626..78d38e8fb1114249d6aabc867b85ac1d41ecd730 100644 --- a/ProcessLib/RichardsComponentTransport/CMakeLists.txt +++ b/ProcessLib/RichardsComponentTransport/CMakeLists.txt @@ -1,12 +1,12 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(RichardsComponentTransport ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS RichardsComponentTransport LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS RichardsComponentTransport + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(RichardsComponentTransport - PUBLIC ProcessLib - PRIVATE ParameterLib -) + PUBLIC ProcessLib + PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/RichardsFlow/CMakeLists.txt b/ProcessLib/RichardsFlow/CMakeLists.txt index e0cf9f1684c62e3a2e3a86e017c0244fc998067c..cb2110ef2f5e9cb9174c9be55d358bac034e6e47 100644 --- a/ProcessLib/RichardsFlow/CMakeLists.txt +++ b/ProcessLib/RichardsFlow/CMakeLists.txt @@ -1,12 +1,9 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(RichardsFlow ${SOURCES}) if(BUILD_SHARED_LIBS) install(TARGETS RichardsFlow LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(RichardsFlow - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(RichardsFlow PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/RichardsMechanics/CMakeLists.txt b/ProcessLib/RichardsMechanics/CMakeLists.txt index 8dc36b502aa066f28f82943259ae5c44a7a2cc2c..78346233e41f233c2471db93d0166d79433d4cd9 100644 --- a/ProcessLib/RichardsMechanics/CMakeLists.txt +++ b/ProcessLib/RichardsMechanics/CMakeLists.txt @@ -1,12 +1,12 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(RichardsMechanics ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS RichardsMechanics LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS RichardsMechanics + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(RichardsMechanics - PUBLIC ProcessLib - PRIVATE RichardsFlow ParameterLib -) + PUBLIC ProcessLib + PRIVATE RichardsFlow ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/SmallDeformation/CMakeLists.txt b/ProcessLib/SmallDeformation/CMakeLists.txt index 462c3245b63dabed9df2945d1f457d61bb16a44f..8895ecd510855c69563deebbf37a8cfda876be18 100644 --- a/ProcessLib/SmallDeformation/CMakeLists.txt +++ b/ProcessLib/SmallDeformation/CMakeLists.txt @@ -1,12 +1,10 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(SmallDeformation ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS SmallDeformation LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS SmallDeformation + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(SmallDeformation - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(SmallDeformation PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/SmallDeformationNonlocal/CMakeLists.txt b/ProcessLib/SmallDeformationNonlocal/CMakeLists.txt index aeb0fa859b72c882f5e9a704228145e98b0515ea..cf8bba5b8f2dedc3252d780674cdbb3225fa9027 100644 --- a/ProcessLib/SmallDeformationNonlocal/CMakeLists.txt +++ b/ProcessLib/SmallDeformationNonlocal/CMakeLists.txt @@ -1,12 +1,12 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(SmallDeformationNonlocal ${SOURCES}) target_link_libraries(SmallDeformationNonlocal - PUBLIC ProcessLib - PRIVATE ParameterLib -) + PUBLIC ProcessLib + PRIVATE ParameterLib) if(BUILD_SHARED_LIBS) - install(TARGETS SmallDeformationNonlocal LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS SmallDeformationNonlocal + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() include(Tests.cmake) diff --git a/ProcessLib/SourceTerms/Python/CMakeLists.txt b/ProcessLib/SourceTerms/Python/CMakeLists.txt index 2fe58ad12a40af27a83d8bde04fe0f2d2cbb775f..10caeb8e50945893bae944ba72e2fd35f3f8c61f 100644 --- a/ProcessLib/SourceTerms/Python/CMakeLists.txt +++ b/ProcessLib/SourceTerms/Python/CMakeLists.txt @@ -1,32 +1,33 @@ add_library(ProcessLibSourceTermPython - CreatePythonSourceTerm.cpp - CreatePythonSourceTerm.h - PythonSourceTerm.cpp - PythonSourceTerm.h - PythonSourceTermLocalAssembler.h - PythonSourceTermPythonSideInterface.h) + CreatePythonSourceTerm.cpp + CreatePythonSourceTerm.h + PythonSourceTerm.cpp + PythonSourceTerm.h + PythonSourceTermLocalAssembler.h + PythonSourceTermPythonSideInterface.h) if(BUILD_SHARED_LIBS) install(TARGETS ProcessLibSourceTermPython - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_compile_definitions(ProcessLibSourceTermPython - PUBLIC OGS_USE_PYTHON) +target_compile_definitions(ProcessLibSourceTermPython PUBLIC OGS_USE_PYTHON) target_link_libraries(ProcessLibSourceTermPython - PUBLIC BaseLib MathLib MeshLib NumLib logog ${Python_LIBRARIES} - PRIVATE pybind11::pybind11) + PUBLIC BaseLib + MathLib + MeshLib + NumLib + logog + ${Python_LIBRARIES} + PRIVATE pybind11::pybind11) # For the embedded Python module -add_library(ProcessLibSourceTermPythonModule - PythonSourceTermModule.cpp - PythonSourceTermModule.h) +add_library(ProcessLibSourceTermPythonModule PythonSourceTermModule.cpp + PythonSourceTermModule.h) if(BUILD_SHARED_LIBS) install(TARGETS ProcessLibSourceTermPythonModule - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(ProcessLibSourceTermPythonModule - PUBLIC - ProcessLibSourceTermPython - pybind11::pybind11) + PUBLIC ProcessLibSourceTermPython pybind11::pybind11) diff --git a/ProcessLib/TES/CMakeLists.txt b/ProcessLib/TES/CMakeLists.txt index afa13b23b39d63a90bac893c646546a2ac800bc0..4b8b5055bc81032f7a29a54b5fd7fb50fcdc8e19 100644 --- a/ProcessLib/TES/CMakeLists.txt +++ b/ProcessLib/TES/CMakeLists.txt @@ -1,12 +1,9 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(TES ${SOURCES}) if(BUILD_SHARED_LIBS) install(TARGETS TES LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(TES - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(TES PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/ThermalTwoPhaseFlowWithPP/CMakeLists.txt b/ProcessLib/ThermalTwoPhaseFlowWithPP/CMakeLists.txt index 9f2c0e4977828c78953999dc6eccdd1fb578a089..6997808b17e64eaf29eba03944a6a68ada95b6cb 100644 --- a/ProcessLib/ThermalTwoPhaseFlowWithPP/CMakeLists.txt +++ b/ProcessLib/ThermalTwoPhaseFlowWithPP/CMakeLists.txt @@ -1,12 +1,12 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(ThermalTwoPhaseFlowWithPP ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS ThermalTwoPhaseFlowWithPP LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS ThermalTwoPhaseFlowWithPP + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(ThermalTwoPhaseFlowWithPP - PUBLIC ProcessLib - PRIVATE ParameterLib -) + PUBLIC ProcessLib + PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/ThermoHydroMechanics/CMakeLists.txt b/ProcessLib/ThermoHydroMechanics/CMakeLists.txt index 4abb37657ef5fad3d72afe1842f0d6cf245b6822..358eb90407ba1664db5a80c9d07fcd85634e5df0 100644 --- a/ProcessLib/ThermoHydroMechanics/CMakeLists.txt +++ b/ProcessLib/ThermoHydroMechanics/CMakeLists.txt @@ -1,12 +1,12 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(ThermoHydroMechanics ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS ThermoHydroMechanics LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS ThermoHydroMechanics + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(ThermoHydroMechanics - PUBLIC ProcessLib - PRIVATE ParameterLib -) + PUBLIC ProcessLib + PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/ThermoMechanicalPhaseField/CMakeLists.txt b/ProcessLib/ThermoMechanicalPhaseField/CMakeLists.txt index 9151b31a37f2f8e90ed9f7272605f2e23a1081b6..8f7777a8a7579d21cf385b91f0fb4613aaff4561 100644 --- a/ProcessLib/ThermoMechanicalPhaseField/CMakeLists.txt +++ b/ProcessLib/ThermoMechanicalPhaseField/CMakeLists.txt @@ -1,12 +1,12 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(ThermoMechanicalPhaseField ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS ThermoMechanicalPhaseField LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS ThermoMechanicalPhaseField + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(ThermoMechanicalPhaseField - PUBLIC ProcessLib - PRIVATE ParameterLib -) + PUBLIC ProcessLib + PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/ThermoMechanics/CMakeLists.txt b/ProcessLib/ThermoMechanics/CMakeLists.txt index 7b4955907f37fca219756b148c24d119b568052a..d8996ec7f119b84e58efe1a6e9e8b96ed1bc2292 100644 --- a/ProcessLib/ThermoMechanics/CMakeLists.txt +++ b/ProcessLib/ThermoMechanics/CMakeLists.txt @@ -1,12 +1,9 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(ThermoMechanics ${SOURCES}) if(BUILD_SHARED_LIBS) install(TARGETS ThermoMechanics LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(ThermoMechanics - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(ThermoMechanics PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/TwoPhaseFlowWithPP/CMakeLists.txt b/ProcessLib/TwoPhaseFlowWithPP/CMakeLists.txt index 8196b7acf38ea1d9dedaa5b6f25276dab5504b47..a3f041f974e07884ccf53ff40c0524ea9310bc99 100644 --- a/ProcessLib/TwoPhaseFlowWithPP/CMakeLists.txt +++ b/ProcessLib/TwoPhaseFlowWithPP/CMakeLists.txt @@ -1,12 +1,10 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(TwoPhaseFlowWithPP ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS TwoPhaseFlowWithPP LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS TwoPhaseFlowWithPP + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -target_link_libraries(TwoPhaseFlowWithPP - PUBLIC ProcessLib - PRIVATE ParameterLib -) +target_link_libraries(TwoPhaseFlowWithPP PUBLIC ProcessLib PRIVATE ParameterLib) include(Tests.cmake) diff --git a/ProcessLib/TwoPhaseFlowWithPrho/CMakeLists.txt b/ProcessLib/TwoPhaseFlowWithPrho/CMakeLists.txt index ed415c5f7ddbaa20e1d0d60137db6ec0621570ea..f1e93ca98b1ece87372d85ff2268bc85fda3c433 100644 --- a/ProcessLib/TwoPhaseFlowWithPrho/CMakeLists.txt +++ b/ProcessLib/TwoPhaseFlowWithPrho/CMakeLists.txt @@ -1,12 +1,12 @@ -APPEND_SOURCE_FILES(SOURCES) +append_source_files(SOURCES) add_library(TwoPhaseFlowWithPrho ${SOURCES}) if(BUILD_SHARED_LIBS) - install(TARGETS TwoPhaseFlowWithPrho LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS TwoPhaseFlowWithPrho + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() target_link_libraries(TwoPhaseFlowWithPrho - PUBLIC ProcessLib - PRIVATE ParameterLib -) + PUBLIC ProcessLib + PRIVATE ParameterLib) include(Tests.cmake) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 64a699d341dde6ca9ba7814c53acac9153d2f21a..502ea4d5571a69a5937298d9949f4aeeb99b5885 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1,34 +1,34 @@ include(${PROJECT_SOURCE_DIR}/scripts/cmake/OGSEnabledElements.cmake) -# VS2012 doesn't support correctly the tuples yet -# See http://code.google.com/p/googletest/issues/detail?id=412 +# VS2012 doesn't support correctly the tuples yet See +# http://code.google.com/p/googletest/issues/detail?id=412 if(MSVC) add_definitions(/D_VARIADIC_MAX=10) endif() -APPEND_SOURCE_FILES(TEST_SOURCES) -APPEND_SOURCE_FILES(TEST_SOURCES BaseLib) -APPEND_SOURCE_FILES(TEST_SOURCES FileIO) -APPEND_SOURCE_FILES(TEST_SOURCES GeoLib) -APPEND_SOURCE_FILES(TEST_SOURCES GeoLib/IO) -APPEND_SOURCE_FILES(TEST_SOURCES MaterialLib) -APPEND_SOURCE_FILES(TEST_SOURCES MathLib) -APPEND_SOURCE_FILES(TEST_SOURCES MeshLib) -APPEND_SOURCE_FILES(TEST_SOURCES MeshGeoToolsLib) -APPEND_SOURCE_FILES(TEST_SOURCES NumLib) -APPEND_SOURCE_FILES(TEST_SOURCES ParameterLib) -APPEND_SOURCE_FILES(TEST_SOURCES ProcessLib) +append_source_files(TEST_SOURCES) +append_source_files(TEST_SOURCES BaseLib) +append_source_files(TEST_SOURCES FileIO) +append_source_files(TEST_SOURCES GeoLib) +append_source_files(TEST_SOURCES GeoLib/IO) +append_source_files(TEST_SOURCES MaterialLib) +append_source_files(TEST_SOURCES MathLib) +append_source_files(TEST_SOURCES MeshLib) +append_source_files(TEST_SOURCES MeshGeoToolsLib) +append_source_files(TEST_SOURCES NumLib) +append_source_files(TEST_SOURCES ParameterLib) +append_source_files(TEST_SOURCES ProcessLib) if(OGS_BUILD_GUI) - APPEND_SOURCE_FILES(TEST_SOURCES FileIO_Qt) + append_source_files(TEST_SOURCES FileIO_Qt) endif() if(OGS_BUILD_SWMM) - APPEND_SOURCE_FILES(TEST_SOURCES FileIO_SWMM) + append_source_files(TEST_SOURCES FileIO_SWMM) endif() if(OGS_BUILD_PROCESS_LIE) - APPEND_SOURCE_FILES(TEST_SOURCES ProcessLib/LIE) + append_source_files(TEST_SOURCES ProcessLib/LIE) endif() if(OGS_USE_PETSC) @@ -39,17 +39,16 @@ add_executable(testrunner ${TEST_SOURCES}) set_target_properties(testrunner PROPERTIES FOLDER Testing) target_link_libraries(testrunner - ApplicationsFileIO - gtest - MeshGeoToolsLib - MaterialLib - MeshLib - NumLib - ParameterLib - ProcessLib - Threads::Threads - ${VTK_LIBRARIES} -) + ApplicationsFileIO + gtest + MeshGeoToolsLib + MaterialLib + MeshLib + NumLib + ParameterLib + ProcessLib + Threads::Threads + ${VTK_LIBRARIES}) if(OGS_BUILD_PROCESS_LIE) target_link_libraries(testrunner LIE) @@ -72,7 +71,13 @@ if(OGS_INSITU) endif() if(OGS_BUILD_GUI) - target_link_libraries(testrunner Qt5::Core Qt5::Gui Qt5::Xml Qt5::Network VtkVis QtDataView) + target_link_libraries(testrunner + Qt5::Core + Qt5::Gui + Qt5::Xml + Qt5::Network + VtkVis + QtDataView) if(GEOTIFF_FOUND) target_link_libraries(testrunner ${GEOTIFF_LIBRARIES}) endif() @@ -82,6 +87,7 @@ if(OGS_USE_PCH) cotire(testrunner) endif() +# cmake-format: off # Add make-target tests which runs the testrunner if(IS_CI AND NOT OGS_COVERAGE) set(TESTRUNNER_ADDITIONAL_ARGUMENTS ${TESTRUNNER_ADDITIONAL_ARGUMENTS} @@ -114,8 +120,11 @@ else() DEPENDS testrunner tests-cleanup ) endif() +# cmake-format: on set_target_properties(tests PROPERTIES FOLDER Testing) # Creates one ctest entry for every googletest -#ADD_GOOGLE_TESTS ( ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/testrunner ${TEST_SOURCES}) +# ~~~ +# ADD_GOOGLE_TESTS (${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/testrunner ${TEST_SOURCES}) +# ~~~ diff --git a/scripts/cmake/CompilerSetup.cmake b/scripts/cmake/CompilerSetup.cmake index 641699222ff14ab79967ec24667c58f4f4c3d916..ac9e2da4aa2991205dfd3af8c03d5145c33ad4fe 100644 --- a/scripts/cmake/CompilerSetup.cmake +++ b/scripts/cmake/CompilerSetup.cmake @@ -3,8 +3,8 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) -# < VS 15.0; macOS: https://github.com/sakra/cotire/issues/139 -if(MSVC_VERSION LESS 1910 OR APPLE OR ${CMAKE_CXX_COMPILER} MATCHES "clcache") +# macOS: https://github.com/sakra/cotire/issues/139 +if(APPLE OR ${CMAKE_CXX_COMPILER} MATCHES "clcache") set(OGS_USE_PCH OFF CACHE INTERNAL "") endif() if(OGS_USE_PCH) diff --git a/scripts/docker/Dockerfile.clang.full b/scripts/docker/Dockerfile.clang.full index c2dd455a821df7a6062b0d7b6018d3008fda889f..03bee48e03080060912a427a0ca8033facfd860d 100644 --- a/scripts/docker/Dockerfile.clang.full +++ b/scripts/docker/Dockerfile.clang.full @@ -39,7 +39,7 @@ RUN apt-get update -y && \ python3-setuptools \ python3-wheel && \ rm -rf /var/lib/apt/lists/* -RUN pip3 install virtualenv pre-commit +RUN pip3 install virtualenv pre-commit cmake-format # CMake version 3.12.4 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ diff --git a/scripts/docker/Dockerfile.gcc.full b/scripts/docker/Dockerfile.gcc.full index d02dbc53cb060454b05bce3ab5a4d30f28d7d063..efd77f6c985d5d5a217f89f66e0d7d6b1e55882c 100644 --- a/scripts/docker/Dockerfile.gcc.full +++ b/scripts/docker/Dockerfile.gcc.full @@ -32,7 +32,7 @@ RUN apt-get update -y && \ python3-setuptools \ python3-wheel && \ rm -rf /var/lib/apt/lists/* -RUN pip3 install virtualenv pre-commit +RUN pip3 install virtualenv pre-commit cmake-format # CMake version 3.12.4 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ diff --git a/scripts/docker/Dockerfile.gcc.gui b/scripts/docker/Dockerfile.gcc.gui index f40c63b2dc733179eb59d7a0771c352834971888..ab968209ec43826d23ff84cdff6c0cb25b39e43c 100644 --- a/scripts/docker/Dockerfile.gcc.gui +++ b/scripts/docker/Dockerfile.gcc.gui @@ -32,7 +32,7 @@ RUN apt-get update -y && \ python3-setuptools \ python3-wheel && \ rm -rf /var/lib/apt/lists/* -RUN pip3 install virtualenv pre-commit +RUN pip3 install virtualenv pre-commit cmake-format # CMake version 3.12.4 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ diff --git a/scripts/hooks/pre-commit-cmake-format.sh b/scripts/hooks/pre-commit-cmake-format.sh new file mode 100755 index 0000000000000000000000000000000000000000..785a6cb5b6a1d5c64fe413895fd17d039aaa9dec --- /dev/null +++ b/scripts/hooks/pre-commit-cmake-format.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +EXE=$(command -v cmake-format) +if [ -z "$EXE" ]; then + echo "cmake-format not found; skipping check." + exit 0 +fi + + +MOD_FILES="" + +MOD_FILES=() +for FILE in "$@" +do + cmake-format -i "$FILE" + MODIFIED=$(git status --porcelain "$FILE" | head -c 2 | tail -c 1) + # echo $FILE: $MODIFIED + if [ "$MODIFIED" = "M" ]; then + MOD_FILES+=("$FILE") + echo "Fixed $FILE" + fi +done + +if [ -z "$MOD_FILES" ]; then + exit 0 +fi + +echo "CMake files have been modified." +echo "Add them to the commit!" +exit 1 diff --git a/scripts/hooks/pre-commit-git-lfs.sh b/scripts/hooks/pre-commit-git-lfs.sh index 820f73e2250b5e6067fb38bdf434c8b04d6212ca..cd6397eaad97c33afc40e018e6c261bf15595fb7 100755 --- a/scripts/hooks/pre-commit-git-lfs.sh +++ b/scripts/hooks/pre-commit-git-lfs.sh @@ -1,14 +1,11 @@ #!/usr/bin/env bash -set -e - BINARY_FILES="" LFS_FILES="" LFS_FILES=() for FILE in "$@" do - echo FILE: $FILE LFS_FILE=$(git check-attr filter "$FILE" | grep 'filter: lfs$' | sed -e 's/: filter: lfs//') if [ ! -z "$LFS_FILE" ]; then LFS_FILES+=("$LFS_FILE") diff --git a/web/content/_index.pandoc b/web/content/_index.pandoc index 250ab37d8ea42879dedad26ba8b7f9d648b370f8..4b1512d2f1c099f0e74d40351175041c3f374a01 100644 --- a/web/content/_index.pandoc +++ b/web/content/_index.pandoc @@ -131,7 +131,7 @@ features: url: /docs/devguide - headline: Become part of the Community textline: | - Get in touch with the OpenGeoSys Community via the [Mailing List](https://groups.google.com/forum/#!forum/ogs-users), [GitHub](https://github.com/ufz/ogs) or by [email](mailto:info@opengeosys.org). + Get in touch with the OpenGeoSys Community via our [Discussion forum](https://discourse.opengeosys.org), [GitHub](https://github.com/ufz/ogs) or by [email](mailto:info@opengeosys.org). links: - text: <i class="fab fa-github"></i> GitHub url: https://github.com/ufz/ogs diff --git a/web/content/docs/_index.pandoc b/web/content/docs/_index.pandoc index 8f53309114f007c8bc551a257cfffb4f54abf4c3..55b2439dd226efd36c98e5db53d52e0c520054ac 100644 --- a/web/content/docs/_index.pandoc +++ b/web/content/docs/_index.pandoc @@ -43,10 +43,4 @@ url = "https://ufz.github.io/styleguide/cppguide.xml" text = "OpenGeoSys C++ Style Guide" icon = "fal fa-file-check" -[[sections]] -name = "Mailing List" -url = "https://groups.google.com/forum/#!forum/ogs-users" -text = "The mailing lists for OpenGeoSys users and developers are a good place to ask question related to anything OGS." -icon = "fal fa-mail-bulk" - +++ diff --git a/web/content/docs/devguide/getting-started/git-installer-win.png b/web/content/docs/devguide/getting-started/git-installer-win.png new file mode 100644 index 0000000000000000000000000000000000000000..07bb024e09b9b1620f21e8bd1e70a62ce0d23738 --- /dev/null +++ b/web/content/docs/devguide/getting-started/git-installer-win.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27e4af52979d627bed13efd2d22430813c5e61ee7b370afdc299087267bd0102 +size 20598 diff --git a/web/content/docs/devguide/getting-started/prerequisites.pandoc b/web/content/docs/devguide/getting-started/prerequisites.pandoc index cbd3fcd67a5612fb2a1180c0e8a365f2324ada6c..02aef8f11c101c244918c5452ae2c7882c5b40c0 100644 --- a/web/content/docs/devguide/getting-started/prerequisites.pandoc +++ b/web/content/docs/devguide/getting-started/prerequisites.pandoc @@ -63,7 +63,11 @@ The Homebrew package manager is needed for installing other libraries and packag Git is a powerful and distributed version control system. OGS source code is hosted on [GitHub](https://github.com/ufz/ogs). See the developer guide page on [Code Reviews]({{< ref "code-reviews" >}}) for more info on how OGS uses GitHub for collaborative development. ::: {.win} -Download and install git from the [git homepage](http://git-scm.com/download/win). The default installer options are fine. This install a new command line called *Git Bash* which should be used for all git operations. +Download and install git from the [git homepage](http://git-scm.com/download/win). Use the default installer options but also enable `Enable symbolic links` under the *Configuring extra options* page. + + + +This install a new command line called *Git Bash* which should be used for all git operations. Let Git know who you are: @@ -241,7 +245,7 @@ Install Conan with Python's pip: pip3 install --user conan ``` -This installed `conan` to `.local/bin` in your home directory. Make sure to have this directory in your `PATH`! +This installed `conan` to `.local/bin` (or `C:\Users\[username]\AppData\Roaming\Python\Python37\Scripts` on Windows) in your home directory. Make sure to have this directory in your `PATH`! Check on a newly opened command line if Conan was installed successfully: diff --git a/web/content/ogs-5/index.pandoc b/web/content/ogs-5/index.pandoc index 7b5a6f0fa37f8990ab41f472bffbf9c48338f9b0..23a19f54c197b2f5c3a558c87faa25ad2766f5c8 100644 --- a/web/content/ogs-5/index.pandoc +++ b/web/content/ogs-5/index.pandoc @@ -5,7 +5,7 @@ aliases = [ "/download5/", # Redirect for Hydrology II tutorial "/resources/downloads" ] # Redirect for Hydrology I tutorial +++ -As OGS-6 is a reimplementation of OGS-5 with new concepts and methodologies there will probably never be complete feature parity. We provide binaries of OpenGeoSys-5 ready for you to use. Support is limited but you may ask questions or report bugs via the [ogs-users](https://groups.google.com/forum/#!forum/ogs-users) mailing list. +As OGS-6 is a reimplementation of OGS-5 with new concepts and methodologies there will probably never be complete feature parity. We provide binaries of OpenGeoSys-5 ready for you to use. Support is limited but you may ask questions or report bugs via our [discussion forum](https://discourse.opengeosys.org/tags/ogs5) mailing list. ## Downloads