diff --git a/.cmake-format.yaml b/.cmake-format.yaml index 0c4294e388e556b8c32dc630cf08281c8e50ed3a..f99527b3adacfd488decf4eb9050740226995134 100644 --- a/.cmake-format.yaml +++ b/.cmake-format.yaml @@ -3,6 +3,10 @@ format: max_subgroups_hwrap: 3 dangle_parens: true command_case: "unchanged" +lint: + disabled_codes: + - "C0301" + - "C0113" parse: additional_commands: diff --git a/Applications/CMakeLists.txt b/Applications/CMakeLists.txt index c731e6e48d889da77ced75bd5908be439d3b576b..5c5757c3b114d38dbd771974514c7c72562297a0 100644 --- a/Applications/CMakeLists.txt +++ b/Applications/CMakeLists.txt @@ -2,11 +2,11 @@ add_subdirectory(ApplicationsLib) add_subdirectory(DataHolderLib) add_subdirectory(FileIO) -if(OGS_BUILD_UTILS AND NOT IS_SUBPROJECT) +if(OGS_BUILD_UTILS AND NOT _IS_SUBPROJECT) add_subdirectory(Utils) elseif(OGS_BUILD_GUI) add_subdirectory(Utils/OGSFileConverter) -endif() # OGS_BUILD_UTILS AND NOT IS_SUBPROJECT +endif() # OGS_BUILD_UTILS AND NOT _IS_SUBPROJECT if(OGS_BUILD_GUI) add_subdirectory(DataExplorer) diff --git a/Applications/DataExplorer/VtkVis/CMakeLists.txt b/Applications/DataExplorer/VtkVis/CMakeLists.txt index 9d631187492a239c94e1325a4b6bdec817228e8a..7d7d42ad4d5da697faee33107f01057b2274d9e1 100644 --- a/Applications/DataExplorer/VtkVis/CMakeLists.txt +++ b/Applications/DataExplorer/VtkVis/CMakeLists.txt @@ -154,7 +154,7 @@ if(OGS_USE_NETCDF) if(NOT OGS_USE_CONAN) target_include_directories(VtkVis SYSTEM PUBLIC ${NETCDF_INCLUDES_C} - PUBLIC ${NETCDF_INCLUDES_CXX}) + ${NETCDF_INCLUDES_CXX}) endif() endif() diff --git a/Applications/Utils/MeshEdit/CMakeLists.txt b/Applications/Utils/MeshEdit/CMakeLists.txt index 8155924cf64ef97f786dc283ea9148c8b5d328b8..ae507cab6c9e33971212e7df4c2390793fc374c3 100644 --- a/Applications/Utils/MeshEdit/CMakeLists.txt +++ b/Applications/Utils/MeshEdit/CMakeLists.txt @@ -35,9 +35,9 @@ if(OGS_BUILD_GUI) install(TARGETS RemoveGhostData RUNTIME DESTINATION bin) endif() -foreach(TOOL ${TOOLS}) - add_executable(${TOOL} ${TOOL}.cpp) - target_link_libraries(${TOOL} GitInfoLib MeshLib tclap) +foreach(tool ${TOOLS}) + add_executable(${tool} ${tool}.cpp) + target_link_libraries(${tool} GitInfoLib MeshLib tclap) endforeach() set_target_properties(${TOOLS} PROPERTIES FOLDER Utilities) install(TARGETS ${TOOLS} RUNTIME DESTINATION bin) diff --git a/Applications/Utils/Tests.cmake b/Applications/Utils/Tests.cmake index cb08f5a929c00381be6b689935adb1548cf9100a..83b49f6623639065c04fe2f8835830ad942280b3 100644 --- a/Applications/Utils/Tests.cmake +++ b/Applications/Utils/Tests.cmake @@ -484,13 +484,12 @@ if(TARGET VerticalSliceFromLayers AND GMSH) endif() - if(TARGET GMSH2OGS AND SNAKEMAKE AND NOT OGS_USE_MPI) add_test(NAME snakemake_GMSH2OGS_ExtractBoundary COMMAND ${SNAKEMAKE} --cores all --configfile ${PROJECT_BINARY_DIR}/buildinfo.yaml -s ${CMAKE_CURRENT_SOURCE_DIR}/GMSH2OGS_ExtractBoundary.smk - ) + ) add_dependencies(ctest GMSH2OGS) endif() diff --git a/CMakeLists.txt b/CMakeLists.txt index 6172d66c6ac31d065651ae38c65b927724ec0baf..eef1d1417227bbf8fa7754977521c3384ce25251 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,18 +49,12 @@ if(NOT WIN32 AND OGS_BUILD_SWMM) endif() # Third-party libraries, names come from Conan package names -set(OGS_LIBS - vtk - qt - petsc - tfel - CACHE INTERNAL "") -foreach(LIB ${OGS_LIBS}) - set(OGS_LIB_${LIB} +foreach(lib vtk qt petsc tfel) + 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) + set_property(CACHE OGS_LIB_${lib} PROPERTY STRINGS "Default" "System") +endforeach() if(OGS_USE_PETSC) set(OGS_USE_MPI ON CACHE BOOL "Use MPI" FORCE) @@ -84,7 +78,7 @@ include(CCacheSetup) include(CLCacheSetup) include(DocumentationSetup) include(test/Test) -if(OGS_COVERAGE AND NOT IS_SUBPROJECT) +if(OGS_COVERAGE AND NOT _IS_SUBPROJECT) include(Coverage) endif() include(CppCheck) @@ -168,10 +162,10 @@ option(OGS_ENABLE_ELEMENT_CUBOID option(OGS_ENABLE_ELEMENT_PRISM "Build FEM elements for prisms." ON) option(OGS_ENABLE_ELEMENT_PYRAMID "Build FEM elements for pyramids." ON) if(NOT OGS_MAX_ELEMENT_DIM MATCHES "^[0-3]$") - message(FATAL_ERROR "OGS_MAX_ELEMENT_DIM must be an integer between 0 and 3.") + message(FATAL_ERROR "OGS_MAX_ELEMENT_DIM must be an integer between 0 and 3.") endif() if(NOT OGS_MAX_ELEMENT_ORDER MATCHES "^[0-9]$") - message(FATAL_ERROR "OGS_MAX_ELEMENT_ORDER must be an integer.") + message(FATAL_ERROR "OGS_MAX_ELEMENT_ORDER must be an integer.") endif() option(OGS_CHECK_HEADER_COMPILATION "Check header for standalone compilation." @@ -240,7 +234,7 @@ if(OGS_BUILD_CLI OR OGS_BUILD_UTILS OR OGS_BUILD_TESTING) add_subdirectory(MaterialLib) add_subdirectory(ProcessLib) endif() -if(OGS_BUILD_TESTING AND NOT IS_SUBPROJECT) +if(OGS_BUILD_TESTING AND NOT _IS_SUBPROJECT) add_subdirectory(Tests) endif() diff --git a/Documentation/README.txt.in b/Documentation/README.txt.in index 51e7b59760ccb63a3d86e3ed1b3a7cb19d72395a..839ff9383f013b0b688213867e2e98e289b58f3e 100644 --- a/Documentation/README.txt.in +++ b/Documentation/README.txt.in @@ -3,4 +3,4 @@ OGS binary package usage Start the appropriate executable in the *bin*-folder. -@README_PLATFORM_INSTRUCTIONS@ +@_README_PLATFORM_INSTRUCTIONS@ diff --git a/ProcessLib/ComponentTransport/Tests.cmake b/ProcessLib/ComponentTransport/Tests.cmake index 4b67ec1bd8beec830a69ae1799274931bb6a762c..feea80778882345875c347e0f23154a6c76e283d 100644 --- a/ProcessLib/ComponentTransport/Tests.cmake +++ b/ProcessLib/ComponentTransport/Tests.cmake @@ -883,7 +883,6 @@ AddTest( VIS out_ogs5_H_ts_1_t_10000000.000000.vtu ) - AddTest( NAME 1D_ComponentTransport_VariableDependentBoundary PATH Parabolic/ComponentTransport/VariableNeumannBoundary diff --git a/ProcessLib/HT/Tests.cmake b/ProcessLib/HT/Tests.cmake index a1d14b54c0bd34699672065bc685ec72df349e1c..7f37d9d44094378f76dbd4c53a3ec65f250f2ebd 100644 --- a/ProcessLib/HT/Tests.cmake +++ b/ProcessLib/HT/Tests.cmake @@ -60,7 +60,6 @@ AddTest( VIS IsothermalFluidFlow_ts_1_t_1.000000.vtu ) - AddTest( NAME HT_SimpleSynthetics_PressureParabolicTemperatureParabolic PATH Parabolic/HT/SimpleSynthetics @@ -276,7 +275,6 @@ AddTest( VIS IsothermalFluidFlowWithGravityStaggered_ts_1_t_1.000000.vtu ) - AddTest( NAME HT_SimpleSynthetics_PressureParabolicTemperatureParabolicStaggered PATH Parabolic/HT/SimpleSynthetics diff --git a/ProcessLib/HeatTransportBHE/Tests.cmake b/ProcessLib/HeatTransportBHE/Tests.cmake index c8a760ecfa5cba62a6add650af67a226102a8a98..1014e8a7cab11029c70662e7d211c7ea6e71d9ac 100644 --- a/ProcessLib/HeatTransportBHE/Tests.cmake +++ b/ProcessLib/HeatTransportBHE/Tests.cmake @@ -1,7 +1,6 @@ AddTest( NAME HeatTransportBHE_1U_3D_beier_sandbox PATH Parabolic/T/3D_Beier_sandbox - RUNTIME 15 EXECUTABLE ogs EXECUTABLE_ARGS beier_sandbox.prj WRAPPER time diff --git a/ProcessLib/LiquidFlow/Tests.cmake b/ProcessLib/LiquidFlow/Tests.cmake index a354ea7ce8abe1b39183f040f24e9e5e8bbdf733..9f3da7165b60d70828248473a83f25c4d9db27d9 100644 --- a/ProcessLib/LiquidFlow/Tests.cmake +++ b/ProcessLib/LiquidFlow/Tests.cmake @@ -27,7 +27,6 @@ if (NOT OGS_USE_MPI) OgsTest(PROJECTFILE Parabolic/LiquidFlow/DrainageExcavation/drainage_LiquidFlow.prj) endif() - AddTest( NAME LiquidFlow_GravityDriven PATH Parabolic/LiquidFlow/GravityDriven diff --git a/ProcessLib/RichardsMechanics/Tests.cmake b/ProcessLib/RichardsMechanics/Tests.cmake index 71cfbb056d52ff7acdcd77ed66da9543b86ac542..9d9e36b35a44530669515a0c6c553905159d4080 100644 --- a/ProcessLib/RichardsMechanics/Tests.cmake +++ b/ProcessLib/RichardsMechanics/Tests.cmake @@ -23,8 +23,6 @@ if (NOT OGS_USE_MPI) OgsTest(PROJECTFILE RichardsMechanics/LiakopoulosHM/liakopoulos_QN.prj RUNTIME 50) endif() - - AddTest( NAME RichardsMechanics_square_1e2_confined_compression_restart PATH RichardsMechanics diff --git a/ProcessLib/ThermoMechanics/Tests.cmake b/ProcessLib/ThermoMechanics/Tests.cmake index 3dc844d40f6b4acf43a5c5f2c0e87a994d7a9cd9..14909bd0372864a14f73b2eec8d7b666028a53db 100644 --- a/ProcessLib/ThermoMechanics/Tests.cmake +++ b/ProcessLib/ThermoMechanics/Tests.cmake @@ -139,7 +139,6 @@ AddTest( WRAPPER time TESTER vtkdiff REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI) - RUNTIME 17 DIFF_DATA tm1_3Dsquare_ts_1_t_1.000000.vtu tm1_3Dsquare_ts_1_t_1.000000.vtu temperature temperature 1e-11 0.0 tm1_3Dsquare_ts_1_t_1.000000.vtu tm1_3Dsquare_ts_1_t_1.000000.vtu displacement displacement 1e-10 0.0 diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 5dc0d9b76b4d0e7cb886ec9ce4ef76591831996d..7dc25988a37f49b87dd816629382a8682108e3e5 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -99,7 +99,7 @@ endif() # cmake-format: off # Add make-target tests which runs the testrunner -if(IS_CI AND NOT OGS_COVERAGE) +if(DEFINED ENV{CI} AND NOT OGS_COVERAGE) set(OGS_CI_TESTRUNNER_REPEAT 3 CACHE STRING "The number of testrunner repeats for the tests target") set(TESTRUNNER_ADDITIONAL_ARGUMENTS ${TESTRUNNER_ADDITIONAL_ARGUMENTS} diff --git a/scripts/cmake/CMakeSetup.cmake b/scripts/cmake/CMakeSetup.cmake index 0d13896d8577a16d73c726d986a8ee0566ffdd4d..e84f88e1fc463e56b6a344245319443ac2529e7e 100644 --- a/scripts/cmake/CMakeSetup.cmake +++ b/scripts/cmake/CMakeSetup.cmake @@ -1,9 +1,9 @@ # Disallow in-source builds as the git project cluttered with generated files # probably confuses people. source/build* is still allowed! if("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}") - message(FATAL_ERROR "In-source builds are not allowed!\n" - "Make sure to remove CMakeCache.txt and CMakeFiles/ " - "from the source directory!") + message(FATAL_ERROR "In-source builds are not allowed!\n" + "Make sure to remove CMakeCache.txt and CMakeFiles/ " + "from the source directory!") endif() # Set additional CMake modules path @@ -33,7 +33,7 @@ set(NUM_PROCESSORS ${NUM_PROCESSORS} CACHE STRING "Processor count") # Check if this project is included in another if(NOT PROJECT_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - set(IS_SUBPROJECT ON CACHE INTERNAL "" FORCE) + set(_IS_SUBPROJECT ON CACHE INTERNAL "" FORCE) set(OGS_BUILD_CLI OFF CACHE BOOL "" FORCE) endif() @@ -48,11 +48,6 @@ endif() # Get the hostname site_name(HOSTNAME) -# Check if we are running under CI -if(DEFINED ENV{JENKINS_URL} OR DEFINED ENV{CI}) - set(IS_CI ON CACHE INTERNAL "") -endif() - if(BUILD_SHARED_LIBS) # When static libraries are used in some shared libraries it is required # that also the static libraries have position independent code. diff --git a/scripts/cmake/ConanSetup.cmake b/scripts/cmake/ConanSetup.cmake index 9b97ed7b29c59472ae1b453100839deb2a69dd94..65b619bf2caa51a2c71070c7483a69ba06667176 100644 --- a/scripts/cmake/ConanSetup.cmake +++ b/scripts/cmake/ConanSetup.cmake @@ -129,7 +129,7 @@ file(TIMESTAMP ${PROJECT_BINARY_DIR}/conan_install_timestamp.txt file_timestamp string(TIMESTAMP timestamp "%Y.%m.%d") # Run conan install update only once a day -if("${file_timestamp}" VERSION_LESS ${timestamp} OR IS_CI) +if("${file_timestamp}" VERSION_LESS ${timestamp} OR DEFINED ENV{CI}) file(WRITE ${PROJECT_BINARY_DIR}/conan_install_timestamp.txt "${timestamp}\n") set(CONAN_UPDATE UPDATE) set(CONAN_COMMAND ${CONAN_CMD} CACHE INTERNAL "") # Speed up conan_add_remote diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake index 1a2e1f2ba0a2bbfafbbd5368285c1a6306bf70d8..fad0363838c0f60cd333b41830a1f233682c900a 100644 --- a/scripts/cmake/Find.cmake +++ b/scripts/cmake/Find.cmake @@ -89,6 +89,7 @@ if(OGS_USE_MFRONT) add_definitions(-DHAVE_PTHREADS) endif() if(OGS_USE_CONAN) + # cmake-lint: disable=C0103 set(TFELHOME ${CONAN_TFEL_ROOT} CACHE INTERNAL "") endif() endif() diff --git a/scripts/cmake/Functions.cmake b/scripts/cmake/Functions.cmake index d2bd612b2250af213b6506fd2c4116fa344d2021..019e9c6d46cf3c2239a6e89099b53cc7aa208fb9 100644 --- a/scripts/cmake/Functions.cmake +++ b/scripts/cmake/Functions.cmake @@ -1,12 +1,12 @@ # Returns the current subdirectory in the sources directory. -macro(GET_CURRENT_SOURCE_SUBDIRECTORY CURRENT_SOURCE_SUBDIRECTORY) +macro(GET_CURRENT_SOURCE_SUBDIRECTORY current_source_subdirectory) string(REGEX REPLACE ".*/([^/]*)" "\\1" REGEX_RESULT "${CMAKE_CURRENT_SOURCE_DIR}" ) - set(${CURRENT_SOURCE_SUBDIRECTORY} ${REGEX_RESULT}) + set(${current_source_subdirectory} ${REGEX_RESULT}) endmacro() -# Returns a list of source files (*.h and *.cpp) in SOURCE_FILES and creates a Visual +# Returns a list of source files (*.h and *.cpp) in source_files and creates a Visual # Studio folder. A (relative) subdirectory can be passed as second parameter (optional). -macro(GET_SOURCE_FILES SOURCE_FILES) +macro(GET_SOURCE_FILES source_files) if(${ARGC} EQUAL 2) set(DIR "${ARGV1}") else() @@ -18,8 +18,8 @@ macro(GET_SOURCE_FILES SOURCE_FILES) file(GLOB GET_SOURCE_FILES_TEMPLATES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} CONFIGURE_DEPENDS ${DIR}/*.tpp) file(GLOB GET_SOURCE_FILES_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} CONFIGURE_DEPENDS ${DIR}/*.cpp) - set(${SOURCE_FILES} ${GET_SOURCE_FILES_HEADERS} ${GET_SOURCE_FILES_TEMPLATES} ${GET_SOURCE_FILES_SOURCES}) - list(LENGTH ${SOURCE_FILES} NUM_FILES) + set(${source_files} ${GET_SOURCE_FILES_HEADERS} ${GET_SOURCE_FILES_TEMPLATES} ${GET_SOURCE_FILES_SOURCES}) + list(LENGTH ${source_files} NUM_FILES) if(${NUM_FILES} EQUAL 0) message(FATAL_ERROR "No source files found in ${DIR}") endif() @@ -40,9 +40,9 @@ macro(GET_SOURCE_FILES SOURCE_FILES) endmacro() -# Appends a list of source files (*.h and *.cpp) to SOURCE_FILES and creates a Visual +# Appends a list of source files (*.h and *.cpp) to source_files and creates a Visual # Studio folder. A (relative) subdirectory can be passed as second parameter (optional). -macro(APPEND_SOURCE_FILES SOURCE_FILES) +macro(APPEND_SOURCE_FILES source_files) if(${ARGC} EQUAL 2) set(DIR "${ARGV1}") else() @@ -50,7 +50,7 @@ macro(APPEND_SOURCE_FILES SOURCE_FILES) endif() GET_SOURCE_FILES(TMP_SOURCES "${DIR}") - set(${SOURCE_FILES} ${${SOURCE_FILES}} ${TMP_SOURCES}) + set(${source_files} ${${source_files}} ${TMP_SOURCES}) endmacro() # Creates one ctest for each googletest found in source files passed as arguments @@ -79,6 +79,7 @@ function(add_autogen_include target) endif() endfunction() +# Replacement for add_library() for ogs targets function(ogs_add_library targetName) add_library(${targetName} ${ARGN}) target_compile_options(${targetName} PRIVATE @@ -104,6 +105,7 @@ function(ogs_add_library targetName) endif() endfunction() +# Parses current directory into a list function(current_dir_as_list baseDir outList) file(RELATIVE_PATH REL_DIR ${PROJECT_SOURCE_DIR}/${baseDir} ${CMAKE_CURRENT_LIST_DIR}) string(REPLACE "/" ";" DIR_LIST ${REL_DIR}) diff --git a/scripts/cmake/ProcessesSetup.cmake b/scripts/cmake/ProcessesSetup.cmake index 86d103a33017ba99de836db58b6c2120ae842492..9d3d015e40130ff14b26547091a496a6ec2f2266 100644 --- a/scripts/cmake/ProcessesSetup.cmake +++ b/scripts/cmake/ProcessesSetup.cmake @@ -1,6 +1,6 @@ # A list of processes to be build. Also used in the ProcessLib to select # processes to be build. -set(ProcessesList +set(processes_list ComponentTransport HT HeatConduction @@ -25,7 +25,7 @@ set(ProcessesList TwoPhaseFlowWithPrho) # Add a cmake option for each process. -foreach(process ${ProcessesList}) +foreach(process ${processes_list}) option(OGS_BUILD_PROCESS_${process} "Build the ${process} process." ON) endforeach() @@ -33,7 +33,7 @@ set(OGS_BUILD_PROCESSES "" CACHE STRING "Semicolon-separated list of processes to build") if(NOT OGS_BUILD_CLI) - set(OGS_BUILD_PROCESSES OFF "" CACHE INTERNAL "") + set(OGS_BUILD_PROCESSES OFF "" CACHE STRING "" FORCE) message(STATUS "ATTENTION: OGS_BUILD_CLI=OFF -> OGS_BUILD_PROCESSES is set to OFF too.\n" " If cli is switched on again, remember to switch processes back to on \n" " too with -DOGS_BUILD_PROCESSES=\"\"!") @@ -41,19 +41,19 @@ endif() if(NOT "${OGS_BUILD_PROCESSES}" STREQUAL "") if(${OGS_BUILD_PROCESSES}) foreach(process ${OGS_BUILD_PROCESSES}) - if(NOT "${process}" IN_LIST ProcessesList) + if(NOT "${process}" IN_LIST processes_list) message( FATAL_ERROR "${process} given in OGS_BUILD_PROCESSES is " - "not a valid process name! Valid names are ${ProcessesList}" - ) + "not a valid process name! Valid names are ${processes_list}" + ) endif() endforeach() message(STATUS "Enabled processes:") else() message(STATUS "All processes disabled.") endif() - foreach(process ${ProcessesList}) + foreach(process ${processes_list}) if("${process}" IN_LIST OGS_BUILD_PROCESSES) set(OGS_BUILD_PROCESS_${process} ON CACHE BOOL "" FORCE) message(STATUS " ${process}") diff --git a/scripts/cmake/ProjectSetup.cmake b/scripts/cmake/ProjectSetup.cmake index b45f501574c1a5cc342c34fcf2cf0627a67f87b1..49e93cae39c6164113f282cb5531af038679ed4a 100644 --- a/scripts/cmake/ProjectSetup.cmake +++ b/scripts/cmake/ProjectSetup.cmake @@ -3,14 +3,15 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR} set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) if(OGS_USE_CONAN AND MSVC) - foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) - string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) - endforeach(OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES) + foreach(outputconfig ${CMAKE_CONFIGURATION_TYPES}) + string(TOUPPER ${outputconfig} outputconfig) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${outputconfig} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${outputconfig} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${outputconfig} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) + endforeach() endif() +# cmake-lint: disable=C0103 set(Data_SOURCE_DIR ${PROJECT_SOURCE_DIR}/Tests/Data CACHE INTERNAL "") set(Data_BINARY_DIR ${PROJECT_BINARY_DIR}/Tests/Data CACHE INTERNAL "") @@ -21,13 +22,13 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) # RPATH setup if(APPLE) - set(basePoint @loader_path) + set(BASEPOINT @loader_path) else() - set(basePoint $ORIGIN) + set(BASEPOINT $ORIGIN) endif() file(RELATIVE_PATH relDir ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR} ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR} ) -set(CMAKE_INSTALL_RPATH ${basePoint} ${basePoint}/${relDir}) +set(CMAKE_INSTALL_RPATH ${BASEPOINT} ${BASEPOINT}/${relDir}) set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) diff --git a/scripts/cmake/packaging/Pack.cmake b/scripts/cmake/packaging/Pack.cmake index 729350aef06d6cf6292d14705d7f08560bda4f34..b9d4a04659e476cfac94e73b153f029af4d9928d 100644 --- a/scripts/cmake/packaging/Pack.cmake +++ b/scripts/cmake/packaging/Pack.cmake @@ -1,4 +1,4 @@ -if(IS_SUBPROJECT) +if(_IS_SUBPROJECT) include (CPack) return() endif() @@ -76,7 +76,6 @@ if(OGS_USE_PYTHON) endif() endif() - configure_file(Documentation/README.txt.in ${PROJECT_BINARY_DIR}/README.txt) install(FILES ${PROJECT_BINARY_DIR}/README.txt DESTINATION .) diff --git a/scripts/cmake/packaging/PackagingLinux.cmake b/scripts/cmake/packaging/PackagingLinux.cmake index c4434906174b6d5d84352e2c9f1d5bea420dade1..d5c4ecf17d4780e7b3de9956c7148bcae3928347 100644 --- a/scripts/cmake/packaging/PackagingLinux.cmake +++ b/scripts/cmake/packaging/PackagingLinux.cmake @@ -26,7 +26,7 @@ else() endif() endif() -set(README_PLATFORM_INSTRUCTIONS +set(_README_PLATFORM_INSTRUCTIONS "When running the Data Explorer make sure to set the LD_LIBRARY_PATH path to the bin-folder. E.g.: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./ ./DataExplorer" CACHE INTERNAL "" ) diff --git a/scripts/cmake/test/AddTest.cmake b/scripts/cmake/test/AddTest.cmake index 3535241b2496aa68fb10974f054d9189e0e27d12..5cfe96d33ea4488ac21181767718beeb0e5ee23a 100644 --- a/scripts/cmake/test/AddTest.cmake +++ b/scripts/cmake/test/AddTest.cmake @@ -50,7 +50,7 @@ # Can be given multiple times; the point coordinates in the gml files are # compared using the given absolute and relative tolerances. # ~~~ - +# cmake-lint: disable=C0103 function (AddTest) # parse arguments @@ -59,7 +59,6 @@ function (AddTest) set(multiValueArgs EXECUTABLE_ARGS DATA DIFF_DATA WRAPPER_ARGS REQUIREMENTS PYTHON_PACKAGES VIS) cmake_parse_arguments(AddTest "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - set(AddTest_SOURCE_PATH "${Data_SOURCE_DIR}/${AddTest_PATH}") set(AddTest_BINARY_PATH "${Data_BINARY_DIR}/${AddTest_PATH}") file(MAKE_DIRECTORY ${AddTest_BINARY_PATH}) diff --git a/scripts/cmake/test/AddTestTester.cmake b/scripts/cmake/test/AddTestTester.cmake index 7b9ff26d2f0b5ae70a8a67eb2614e37e477c2990..0771cc66dc1f2cce1c86b6c465d1511e5b585c9b 100644 --- a/scripts/cmake/test/AddTestTester.cmake +++ b/scripts/cmake/test/AddTestTester.cmake @@ -1,9 +1,9 @@ # Run vtk.js converter if(VIS_FILES AND VTKJS_CONVERTER) execute_process(COMMAND cmake -E make_directory ${VTKJS_OUTPUT_PATH}) - foreach(FILE ${VIS_FILES}) + foreach(file ${VIS_FILES}) execute_process( - COMMAND ${VTKJS_CONVERTER} -e -i ${BINARY_PATH}/${FILE} -o ${VTKJS_OUTPUT_PATH} + COMMAND ${VTKJS_CONVERTER} -e -i ${BINARY_PATH}/${file} -o ${VTKJS_OUTPUT_PATH} ) endforeach() endif() @@ -16,30 +16,30 @@ else() set(TERMINAL_CMD bash -c) endif() set(TEST_FAILED FALSE) -foreach(CMD ${TESTER_COMMAND}) +foreach(cmd ${TESTER_COMMAND}) if(GLOB_MODE) - separate_arguments(CMD) - list(GET CMD 0 GLOB) - list(GET CMD 1 NAME_A) - list(GET CMD 2 NAME_B) - list(GET CMD 3 ABS_TOL) - list(GET CMD 4 REL_TOL) + separate_arguments(cmd NATIVE_COMMAND) + list(GET cmd 0 GLOB) + list(GET cmd 1 NAME_A) + list(GET cmd 2 NAME_B) + list(GET cmd 3 ABS_TOL) + list(GET cmd 4 REL_TOL) file(GLOB FILES RELATIVE ${SOURCE_PATH} ${GLOB}) - list(LENGTH FILES length) - message(STATUS "Glob expression '${GLOB}' (${NAME_A}) found ${length} files.") - if(${length} EQUAL 0) + list(LENGTH FILES LENGTH) + message(STATUS "Glob expression '${GLOB}' (${NAME_A}) found ${LENGTH} files.") + if(${LENGTH} EQUAL 0) message(FATAL_ERROR "DIFF_DATA glob expression '${GLOB}' " "did not match any files!") endif() - foreach(FILE ${FILES}) + foreach(file ${FILES}) if("$ENV{HOSTNAME}" MATCHES "frontend.*") - string(REPLACE "gpfs1" "../.." FILE ${FILE}) + string(REPLACE "gpfs1" "../.." file ${file}) endif() if("$ENV{HOSTNAME}" MATCHES "frontend.*") - string(REPLACE "gpfs0" "../.." FILE ${FILE}) + string(REPLACE "gpfs0" "../.." file ${file}) endif() execute_process( - COMMAND ${SELECTED_DIFF_TOOL_PATH} ${SOURCE_PATH}/${FILE} ${BINARY_PATH}/${FILE} -a ${NAME_A} -b ${NAME_B} --abs ${ABS_TOL} --rel ${REL_TOL} + COMMAND ${SELECTED_DIFF_TOOL_PATH} ${SOURCE_PATH}/${file} ${BINARY_PATH}/${file} -a ${NAME_A} -b ${NAME_B} --abs ${ABS_TOL} --rel ${REL_TOL} WORKING_DIRECTORY ${SOURCE_PATH} RESULT_VARIABLE EXIT_CODE OUTPUT_VARIABLE OUTPUT @@ -53,7 +53,7 @@ foreach(CMD ${TESTER_COMMAND}) endforeach() else() execute_process( - COMMAND ${TERMINAL_CMD} "${CMD}" + COMMAND ${TERMINAL_CMD} "${cmd}" WORKING_DIRECTORY ${SOURCE_PATH} RESULT_VARIABLE EXIT_CODE OUTPUT_VARIABLE OUTPUT diff --git a/scripts/cmake/test/AddTestWrapper.cmake b/scripts/cmake/test/AddTestWrapper.cmake index c8d801d698c2ea770827073aa027dd341ba8c3a0..3d06833ab07aab48c00582e5ee4179150901b34e 100644 --- a/scripts/cmake/test/AddTestWrapper.cmake +++ b/scripts/cmake/test/AddTestWrapper.cmake @@ -1,7 +1,7 @@ # IMPORTANT: multiple arguments in one variables have to be in list notation (;) # and have to be quoted when passed "-DEXECUTABLE_ARGS=${AddTest_EXECUTABLE_ARGS}" -foreach(FILE ${FILES_TO_DELETE}) - file(REMOVE ${BINARY_PATH}/${FILE}) +foreach(file ${FILES_TO_DELETE}) + file(REMOVE ${BINARY_PATH}/${file}) endforeach() string(REPLACE ";" " " CMD_STRING "cd ${WORKING_DIRECTORY} && ${WRAPPER_COMMAND} " diff --git a/scripts/cmake/test/MeshTest.cmake b/scripts/cmake/test/MeshTest.cmake index d18380cd78ab4ad9474d3975b16ef9efcdb2c1a1..7a81eda1190f4dc8e27558de6797861fc3d19867 100644 --- a/scripts/cmake/test/MeshTest.cmake +++ b/scripts/cmake/test/MeshTest.cmake @@ -17,7 +17,7 @@ # values should be taken from envinf1 serial job # ) # ~~~ - +# cmake-lint: disable=C0103 function (MeshTest) if(NOT OGS_BUILD_TESTING) return() @@ -28,7 +28,6 @@ function (MeshTest) set(multiValueArgs EXECUTABLE_ARGS DATA DIFF_DATA WRAPPER_ARGS REQUIREMENTS) cmake_parse_arguments(MeshTest "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - set(MeshTest_SOURCE_PATH "${Data_SOURCE_DIR}/${MeshTest_PATH}") set(MeshTest_BINARY_PATH "${Data_BINARY_DIR}/${MeshTest_PATH}") file(MAKE_DIRECTORY ${MeshTest_BINARY_PATH}) diff --git a/scripts/cmake/test/OgsTest.cmake b/scripts/cmake/test/OgsTest.cmake index efc854e1698513fc2e880d1a7b1802946ff85c13..9b44e38c9b60819b94167af97c1af0e57d7efc02 100644 --- a/scripts/cmake/test/OgsTest.cmake +++ b/scripts/cmake/test/OgsTest.cmake @@ -1,3 +1,4 @@ +# cmake-lint: disable=C0103 function (OgsTest) if(NOT OGS_BUILD_CLI OR NOT OGS_BUILD_TESTING)