qmcpack/external_codes/boost_multi/multi/pre-push

39 lines
16 KiB
Bash
Executable File

#!/bin/bash
# -*-indent-tabs-mode:t;c-basic-offset:4;tab-width:4;autowrap:nil;-*-
# sudo apt install ccache clang clang-tidy cmake cppcheck g++ git lcov libblas-dev pkg-config libfftw3-dev libboost-test-dev libboost-timer-dev make ninja-build valgrind
# sudo dnf install boost-devel blas-devel ccache clang clang-tools-extra cmake cppcheck fftw-devel git lcov libasan liblas-devel libubsan ninja-build valgrind
# install circle # mkdir -p $HOME/bin && wget https://www.circle-lang.org/linux/build_latest.tgz -P $HOME/tmp/ && tar -zxvf $HOME/tmp/build_latest.tgz --directory $HOME/bin/ && $HOME/bin/circle --version
# install nvc++ # ($ echo 'deb [trusted=yes] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list) && sudo apt-get updatesudo apt-get update && sudo apt-get install nvhpc-22-7
# # sudo yum-config-manager --add-repo https://developer.download.nvidia.com/hpc-sdk/rhel/nvhpc.repo && sudo yum install -y nvhpc-cuda-multi-23.1
#CXX=g++-12 cmake --fresh .. -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=nvcc -DCMAKE_CUDA_HOST_COMPILER=g++-12 -DCMAKE_CUDA_ARCHITECTURES=61
export VALGRIND_EXE="valgrind --leak-check=full --track-origins=yes --show-leak-kinds=all --suppressions=.valgrind_suppressions --gen-suppressions=all --error-exitcode=1 "
export CMAKE_GENERATOR=Ninja
export CMAKE_CXX_COMPILER_LAUNCHER="ccache"
(mkdir -p .build.g++.std23 && cd .build.g++.std23 && CXX=g++ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=23 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.clang++ && cd .build.clang++ && CXX=clang++ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-Wfatal-errors" && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.circle && cd .build.circle && CXX="$HOME/bin/circle" cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DENABLE_CIRCLE=1 -DCMAKE_CXX_COMPILER_LAUNCHER="ccache" && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.clang++.tidy && cd .build.clang++.tidy && CXX=clang++ cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_CLANG_TIDY="clang-tidy" -DBOOST_MULTI_STANDALONE=1 -DBUILD_TESTING=0 -DCMAKE_CXX_FLAGS="-D_GLIBCXX_DEBUG=0 -D_LIBCPP_DEBUG=0 -Wfatal-errors" && cmake --build . && ASAN_OPTIONS="new_delete_type_mismatch=0" ctest -j 12 --output-on-failure) || exit 666
#(mkdir -p .build.g++.m32 && cd .build.g++.m32 && CXX=g++ CXXFLAGS="-m32" cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release && cmake --build . --verbose && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.clang++.m32 && cd .build.clang++.m32 && CXX=clang++ CXXFLAGS="-m32" cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release && cmake --build . --verbose && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.clang++-17 && cd .build.clang++-17 && CXX=clang++-17 cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-Wfatal-errors" -DCMAKE_CXX_COMPILER_LAUNCHER="ccache" && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
#(mkdir -p .build.icpc && cd .build.icpc && CXX=/home/correaa/intel/oneapi/compiler/latest/linux/bin/intel64/icpc cmake .. -GNinja DCMAKE_BUILD_TYPE=Release && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.icpx && cd .build.icpx && CXX=/opt/intel/oneapi/compiler/latest/bin/icpx cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER_LAUNCHER="ccache" && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.nvc++ && cd .build.nvc++ && CXX=/opt/nvidia/hpc_sdk/Linux_x86_64/2024/compilers/bin/nvc++ cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-stdpar=multicore" -DCMAKE_CXX_COMPILER_LAUNCHER="ccache" && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
#(mkdir -p .build.cunvc++ && cd .build.cunvc++ && CXX=/opt/nvidia/hpc_sdk/Linux_x86_64/2024/compilers/bin/nvc++ cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=/opt/nvidia/hpc_sdk/Linux_x86_64/2024/compilers/bin/nvc++ -DCMAKE_CUDA_ARCHITECTURES=75 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.nvcc && cd .build.nvcc && CXX=g++ cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=nvcc -DCMAKE_CUDA_HOST_COMPILER=g++-12 -DCMAKE_CXX_COMPILER_LAUNCHER="ccache" -DCMAKE_CUDA_COMPILER_LAUNCHER="ccache" && cmake --build . --parallel 12 --verbose && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.culang && cd .build.culang && cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=clang++-17 -DCMAKE_CXX_COMPILER=clang++-17 -DCMAKE_CUDA_ARCHITECTURES=75 && cmake --build . --verbose --parallel 4 && ctest -j 1 --output-on-failure) || exit 666
(mkdir -p .build.clang++.std20 && cd .build.clang++.std20 && CXX=clang++ cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_FLAGS="-Wfatal-errors" -DCMAKE_CXX_COMPILER_LAUNCHER="ccache" && cmake --build . && ctest -j 12 --output-on-failure) || exit 666
(mkdir -p .build.g++.anlys-std23-memchk && cd .build.g++.anlys-std23-memchk && CXX=g++ cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=23 -DBLA_VENDOR=OpenBLAS `#-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="iwyu"` -DCMAKE_CXX_FLAGS="-fanalyzer -Wno-analyzer-null-dereference -Wno-analyzer-possible-null-dereference -Wno-analyzer-malloc-leak -Wno-analyzer-use-of-uninitialized-value -Wno-analyzer-use-after-free" -DCMAKE_CXX_COMPILER_LAUNCHER="ccache" && cmake --build . && ctest -j 12 --output-on-failure -T memcheck) || exit 666
#(mkdir -p .build.clang++.tidy && cd .build.clang++.tidy && CXX=clang++ CXXFLAGS="-D_LIBCPP_ENABLE_DEBUG_MODE=1 -stdlib=libc++" cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_CLANG_TIDY="clang-tidy" -DCMAKE_CXX_FLAGS="-D_GLIBCXX_DEBUG=1 -D_LIBCPP_DEBUG=1 -Wfatal-errors" && cmake --build . && ASAN_OPTIONS="new_delete_type_mismatch=0" ctest -j 12 --output-on-failure) || exit 666
#(mkdir -p .build.hip && cd .build.hip && cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DBOOST_MULTI_STANDALONE=1 -DBUILD_TESTING=0 -DENABLE_HIP=1 -DCMAKE_HIP_ARCHITECTURES=gfx90a && cmake --build . ) || exit 666
(mkdir -p .build.g++-.check-cov && cd .build.g++-.check-cov && CXX=g++ cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_CPPCHECK="cppcheck;--enable=all;--suppress=missingIncludeSystem;--inline-suppr;--std=c++17;--check-config;--error-exitcode=1" -DCMAKE_CXX_FLAGS="-D_GLIBCXX_DEBUG=1 -Wfatal-errors --coverage -lgcov -fno-inline -fno-inline-small-functions -fno-default-inline" -DCMAKE_EXE_LINKER_FLAGS="-lgcov --coverage" && cmake --build . && ASAN_OPTIONS="new_delete_type_mismatch=0" ctest -j 12 --output-on-failure -T Test `# && lcov --directory . --capture --output-file coverage.info && lcov --remove coverage.info '/usr/*' --output-file coverage.info && lcov --list coverage.info && genhtml coverage.info`) || exit 666
(mkdir -p .build.g++-release && cd .build.g++-release && CXX=g++ cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER_LAUNCHER="ccache" && cmake --build . && ctest -j 1 --output-on-failure -T Test) || exit 666
#(mkdir -p .build.clang++.iwyu && cd .build.clang++.iwyu && CXX=clang++ cmake .. -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="iwyu" && make -j 10 && ctest -j 12 --output-on-failure) || exit
# cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-Xiwyu;--mapping_file=/Users/correatedesco1/boost-multi/boost-test.imp;-Xiwyu;--mapping_file=/opt/homebrew/Cellar/include-what-you-use/0.22/libexec/share/include-what-you-use/boost-all.imp" -DCMAKE_VERIFY_INTERFACE_HEADER_SETS=ON
# TODO(correaa) make cppcheck work for all the code
#(find . -name '*.hpp' -exec cppcheck --enable=all --inline-suppr --suppress=unmatchedSuppression:{} --suppress=syntaxError --suppress=missingInclude --suppress=missingIncludeSystem --suppress=preprocessorErrorDirective --suppress=syntaxError --suppress=unusedFunction --suppress=arithOperationsOnVoidPointer --suppress=sizeofDereferencedVoidPointer -D__align__ -DCUDARTAPI --language=c++ --std=c++17 --error-exitcode=666 --suppress=unmatchedSuppression {} \;) || exit