diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0d49783980a9d002982245a780d1961073820786..aaf0b3baa11894ed7e8e1f0a16cddd4bdd6a5b70 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1539,35 +1539,6 @@ clang_17_hybrid_dbg_sp: - cuda11 - docker -############################################################################### -## ## -## STL Debug Build ## -## ## -############################################################################### - -gcc_10_stl_debug: - extends: .build_template - image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-debug-stl:10 - before_script: - - rm -rf /opt/boost /usr/include/boost - variables: - CTEST_EXCLUDE_LABELS: "longrun" - WALBERLA_BUILD_WITH_MPI: "ON" - WALBERLA_BUILD_WITH_OPENMP: "ON" - OMP_NUM_THREADS: "4" - OMP_WAIT_POLICY: "PASSIVE" - CMAKE_BUILD_TYPE: "DebugOptimized" - WALBERLA_BUFFER_DEBUG: "OFF" - WALBERLA_DOUBLE_ACCURACY: "ON" - WALBERLA_BUILD_WITH_CUDA: "OFF" - WALBERLA_BUILD_WITH_METIS: "OFF" - WALBERLA_BUILD_WITH_PARMETIS: "OFF" - WALBERLA_BUILD_WITH_PYTHON: "OFF" - WALBERLA_STL_BOUNDS_CHECKS: "ON" - tags: - - docker - - ############################################################################### ## ## @@ -1576,7 +1547,7 @@ gcc_10_stl_debug: ############################################################################### doc: - image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:9 + image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc-13 script: - cmake --version - doxygen --version diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d21694af654ba0b996a8bbce0c3096ef6a125ab..8f16ad6af49f6c89434e79903d12cff5d7ac56e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,6 +99,7 @@ option ( WALBERLA_PROFILE_USE "Uses Profile to optimize" option ( WALBERLA_OPTIMIZE_FOR_LOCALHOST "Enable compiler optimizations spcific to localhost" ) option ( WALBERLA_LOG_SKIPPED "Log skipped cmake targets" ON ) +option ( WALBERLA_DEPS_ERROR "Fail if module dependencies are not met" OFF ) option ( WALBERLA_GIT_SUBMODULE_AUTO "Check submodules during cmake run" ON ) diff --git a/cmake/waLBerlaFunctions.cmake b/cmake/waLBerlaFunctions.cmake index 4962e18cabc6a6128ac8b003c99cfe6110d45520..e5914ed760b6928d641ef3620a9ee5bef38793b2 100644 --- a/cmake/waLBerlaFunctions.cmake +++ b/cmake/waLBerlaFunctions.cmake @@ -174,6 +174,9 @@ function ( waLBerla_add_executable ) foreach ( depMod ${ARG_DEPENDS} ) get_module_library_name ( depModLibraryName ${depMod} ) if( NOT TARGET ${depModLibraryName} ) + if( WALBERLA_DEPS_ERROR ) + message( FATAL_ERROR "Module ${depMod} is missing to build target ${ARG_NAME}" ) + endif() if( WALBERLA_LOG_SKIPPED ) message ( STATUS "Skipping ${ARG_NAME} since dependent module ${depMod} was not built" ) endif() diff --git a/cmake/waLBerlaModuleDependencySystem.cmake b/cmake/waLBerlaModuleDependencySystem.cmake index b955d81f4e5833ccba8e2122a614be6241eb46de..88e0df42efdec6ff7fd2e793a8fb3a135b1bc7dd 100644 --- a/cmake/waLBerlaModuleDependencySystem.cmake +++ b/cmake/waLBerlaModuleDependencySystem.cmake @@ -55,10 +55,12 @@ function ( get_current_module_name moduleNameOut ) foreach( moduleDir ${ARGN} ${WALBERLA_MODULE_DIRS} ) - get_filename_component( moduleNameShort ${CMAKE_CURRENT_SOURCE_DIR} NAME_WE ) file( RELATIVE_PATH moduleFolder ${moduleDir} ${CMAKE_CURRENT_SOURCE_DIR} ) if ( NOT ${moduleFolder} MATCHES "\\.\\./.*" ) - set ( ${moduleNameOut} ${moduleFolder} PARENT_SCOPE ) + #append / to make cmake_path also work with one directory only + set( moduleFolder "${moduleFolder}/" ) + cmake_path(GET moduleFolder PARENT_PATH moduleNameOut) + set(moduleName ${moduleNameOut} PARENT_SCOPE) return() endif() endforeach() diff --git a/src/vtk/VTKOutput.cpp b/src/vtk/VTKOutput.cpp index 117ceca754e3fcbb39bded221b68a8155d6e4fdb..42d7d9ef434b92b720a95115ed6dbbdd638905e2 100644 --- a/src/vtk/VTKOutput.cpp +++ b/src/vtk/VTKOutput.cpp @@ -1986,7 +1986,7 @@ void VTKOutput::writeVTHB( const uint_t collector ) const for( uint_t level = 0; level < files.size(); level++){ ofs << " <Block level=\"" << level << "\">\n"; - uint index = 0; + walberla::uint_t index = 0; for( auto file = files[level].begin(); file != files[level].end(); ++file ){ ofs << " <DataSet index=\"" << index << "\" file=\"" << executionFolder_ << "_" << collector << "/" << file->filename().string() << "\"/>\n"; index++;