Skip to content

Commit

Permalink
Merge pull request #167 from eseiler/infra/clang-19
Browse files Browse the repository at this point in the history
[INFRA] LTO, clang-19
  • Loading branch information
eseiler authored Nov 7, 2024
2 parents 29f4d43 + 41e41f3 commit 3e221c5
Show file tree
Hide file tree
Showing 10 changed files with 21 additions and 9 deletions.
1 change: 1 addition & 0 deletions .github/workflows/ci_codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ concurrency:

env:
CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES: false
SEQAN3_NO_VERSION_CHECK: 1
TZ: Europe/Berlin

defaults:
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/ci_coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ jobs:
uses: actions/cache@v4
with:
path: /home/runner/.ccache
save-always: true
key: ccache-${{ runner.os }}-${{ github.workflow }}-${{ matrix.compiler }}-${{ github.ref }}

- name: Configure tests
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ci_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ concurrency:
cancel-in-progress: ${{ github.event_name != 'push' }}

env:
SEQAN3_NO_VERSION_CHECK: 1
TZ: Europe/Berlin

defaults:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/ci_install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ concurrency:
cancel-in-progress: ${{ github.event_name != 'push' }}

env:
SEQAN3_NO_VERSION_CHECK: 1
TZ: Europe/Berlin

defaults:
Expand All @@ -32,7 +33,7 @@ jobs:
strategy:
fail-fast: false
matrix:
compiler: ["clang-18", "gcc-14"]
compiler: ["clang-19", "gcc-14"]
container:
image: ghcr.io/seqan/${{ matrix.compiler }}
volumes:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ concurrency:
cancel-in-progress: ${{ github.event_name != 'push' }}

env:
SEQAN3_NO_VERSION_CHECK: 1
TZ: Europe/Berlin

defaults:
Expand All @@ -32,7 +33,7 @@ jobs:
strategy:
fail-fast: false
matrix:
compiler: ["clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12", "intel"]
compiler: ["clang-19", "clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12", "intel"]
container:
image: ghcr.io/seqan/${{ matrix.compiler }}
volumes:
Expand All @@ -45,7 +46,6 @@ jobs:
uses: actions/cache@v4
with:
path: /home/runner/.ccache
save-always: true
key: ccache-${{ runner.os }}-${{ github.workflow }}-${{ matrix.compiler }}-${{ github.ref }}

- name: Configure tests
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/ci_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ concurrency:
cancel-in-progress: ${{ github.event_name != 'push' }}

env:
SEQAN3_NO_VERSION_CHECK: 1
TZ: Europe/Berlin

defaults:
Expand All @@ -32,7 +33,7 @@ jobs:
strategy:
fail-fast: false
matrix:
compiler: ["clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12"]
compiler: ["clang-19", "clang-18", "clang-17", "gcc-14", "gcc-13", "gcc-12"]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/ci_sanitizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ concurrency:
cancel-in-progress: true

env:
SEQAN3_NO_VERSION_CHECK: 1
TZ: Europe/Berlin
TSAN_OPTIONS: ignore_noninstrumented_modules=1
UBSAN_OPTIONS: print_stacktrace=1
Expand Down Expand Up @@ -59,16 +60,16 @@ jobs:
cxx_flags: "-fno-omit-frame-pointer -fsanitize=undefined,float-divide-by-zero,local-bounds,nullability -fno-sanitize=function -Wno-pass-failed"

- os: macos-14
compiler: clang-18
compiler: clang-19

- os: ubuntu-latest
compiler: gcc-14
image: ghcr.io/seqan/gcc-14

- name: "TSan"
os: ubuntu-latest
compiler: clang-18
image: ghcr.io/seqan/clang-18
compiler: clang-19
image: ghcr.io/seqan/clang-19
container:
image: ${{ matrix.image || '' }}
volumes:
Expand Down
7 changes: 7 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,13 @@ elseif (EXISTS "${CMAKE_CURRENT_LIST_DIR}/vendor")
set (CPM_SOURCE_CACHE "${CMAKE_CURRENT_LIST_DIR}/vendor")
endif ()

# Enable LTO if supported.
include (CheckIPOSupported)
check_ipo_supported (RESULT NEEDLE_HAS_LTO OUTPUT NEEDLE_HAS_LTO_OUTPUT)
if (NEEDLE_HAS_LTO)
set (CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
endif ()

# Add packages.
# We use CPM for package management: https://github.com/cpm-cmake/CPM.cmake
# The added packages (e.g., hibf, sharg, seqan3) are defined in the `cmake/package-lock.cmake` file.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ In your academic works (also comparisons and pipelines) please cite:
* CMake >= 3.25
* GCC >= 12
* LLVM Clang >= 17
* Intel oneAPI DPC++/C++ Compiler >= 2024.2 (older versions may work, but are not tested)
* Intel oneAPI DPC++/C++ Compiler >= 2025.0 (older versions may work, but are not tested)
* git

Refer to the [Seqan3 Setup Tutorial](https://docs.seqan.de/seqan3/main_user/setup.html) for more in depth
Expand Down
1 change: 1 addition & 0 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ add_subdirectory (api)
add_subdirectory (cli)

message (STATUS "You can run `make tests` to build tests.")
message (STATUS "You can run `make test` to run tests.")
message (STATUS "You can run `make check` to build and run tests.")

0 comments on commit 3e221c5

Please sign in to comment.