diff --git a/.gitignore b/.gitignore index a190b9e440c75dfb76473e86368e7d8d49816691..75606983cfca32e255aa97053dad9d5efd0f5079 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,8 @@ *~ *.swp +debug/* +release/* bin/* bin-release/* bin-debug/* @@ -39,6 +41,8 @@ doc/* **/bin **/bin-release **/bin-debug +**/release +**/debug **/doc **/obj **/obj-release diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 875c1609fab299030dd0fa167067a578907b2f84..2d431d1d1e0f4ca2985c77b814c22bf9890d6282 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -125,7 +125,10 @@ test-clang: # coreutils are needed because of timeout command used in tests. EXTRA_PKGS: bc coreutils python3 script: - - for test in $(ls tests.*.sh); do ./${test} release/bin ${JOBS}; touch release/bin/log_tests.txt; cat release/bin/log_tests.txt; done + - cd release + - for test in $(ls */test-alib2*); do ./${test} || exit 1; done + - cd .. + - for test in $(ls tests.*.sh); do ./${test} release/bin ${JOBS} || exit 1; touch release/bin/log_tests.txt; cat release/bin/log_tests.txt; done stage: test test-cmake-gcc: diff --git a/CMake/CMakeLists_root.txt b/CMake/CMakeLists_root.txt index 65f4d3d6a51106d52160c339636c7b8cc137a30a..0571fb874997c245a39fad8072d04e07e0a3a1e5 100644 --- a/CMake/CMakeLists_root.txt +++ b/CMake/CMakeLists_root.txt @@ -47,6 +47,8 @@ set(ALIB_BUILD_FLAGS_COMMON -Wall -pedantic -pipe -Wextra -Werror -Wshadow -Wpoi set(ALIB_BUILD_FLAGS_DEBUG ${{ALIB_BUILD_FLAGS_COMMON}} -Og) set(ALIB_BUILD_FLAGS_RELEASE ${{ALIB_BUILD_FLAGS_COMMON}} -O3) +set(CMAKE_EXE_LINKER_FLAGS "${{CMAKE_EXE_LINKER_FLAGS}} -Wl,-no-as-needed") + if (${{CMAKE_CXX_COMPILER_ID}} STREQUAL "Clang") set(ALIB_BUILD_FLAGS_DEBUG ${{ALIB_BUILD_FLAGS_COMMON}} -O0) endif () diff --git a/all-cmake-debug.sh b/all-cmake-debug.sh index 61ec7833841ee7d7f2f21b0df17e6c2223ed5ba4..222eed6fbfe4d0c7c7dac5698d5cd5042f801579 100755 --- a/all-cmake-debug.sh +++ b/all-cmake-debug.sh @@ -24,6 +24,10 @@ fi CXX=clang++ make -j${THREADS} || exit 1 +for test in $(ls */test-alib2*); do \ + ./${test} || exit 1; \ +done + if [ ! -d bin ]; then mkdir bin fi diff --git a/all-cmake-release.sh b/all-cmake-release.sh index b43057d59d1750e09fe77a16fb06918a707b4f31..6db9d05c02e40a5fd09c9e1412146601a39bae01 100755 --- a/all-cmake-release.sh +++ b/all-cmake-release.sh @@ -24,6 +24,10 @@ fi CXX=clang++ make -j${THREADS} || exit 1 +for test in $(ls */test-alib2*); do \ + ./${test} || exit 1; \ +done + if [ ! -d bin ]; then mkdir bin fi