-
Notifications
You must be signed in to change notification settings - Fork 176
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build!: Make third-party libraries system dependencies (#3949)
ACTS currently supports downloading its dependencies via FetchContent which has the problem that they are - by default - considered as files belonging to the project itself. This is undesirable, as this may introduce warnings into the build of ACTS that we cannot do anything about. In CMake 3.25, FetchContent gained the `SYSTEM` flag which allows dependencies fetched through it to be marked as system libraries, for which no warnings are issued. This commit turns all out third-party dependencies into system dependencies. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Build Configuration** - Updated minimum CMake version to 3.25 across multiple third-party library configurations - Added `SYSTEM` keyword to `FetchContent_Declare` for various dependencies - Updated GitHub Actions and GitLab CI workflows to support multiple compiler configurations - **CI/CD Improvements** - Added new job matrix for Linux builds with different compilers - Updated Docker image versions - Introduced logging threshold configuration <!-- end of auto-generated comment: release notes by coderabbit.ai -->
- Loading branch information
1 parent
0011c14
commit bbd3fcc
Showing
13 changed files
with
49 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,11 @@ | ||
message(STATUS "Building Eigen ${_acts_eigen3_version}") | ||
cmake_minimum_required(VERSION 3.25) | ||
|
||
include(ExternalProject) | ||
# CMake include(s). | ||
include(FetchContent) | ||
|
||
set(Eigen3_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/eigen3-prefix/src/eigen3) | ||
# Tell the user what's happening. | ||
message(STATUS "Building Eigen3 as part of the Acts project") | ||
|
||
ExternalProject_Add( | ||
eigen3 | ||
"${ACTS_EIGEN3_SOURCE};CONFIGURE_COMMAND;;BUILD_COMMAND;;INSTALL_COMMAND;" | ||
) | ||
|
||
add_library(Eigen3::Eigen INTERFACE IMPORTED GLOBAL) | ||
add_dependencies(Eigen3::Eigen eigen3) | ||
target_include_directories(Eigen3::Eigen INTERFACE ${Eigen3_INCLUDE_DIR}) | ||
install( | ||
DIRECTORY ${Eigen3_INCLUDE_DIR}/Eigen | ||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} | ||
) | ||
# Declare where to get Eigen from. | ||
FetchContent_Declare(Eigen SYSTEM ${ACTS_EIGEN3_SOURCE}) | ||
FetchContent_MakeAvailable(Eigen) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters