-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tooling: Make cloe a super-build of all packages
New: - Add `cloe-meta` package to replace previous role of `cloe`. - Add `cloe-plugins-core` package recipe (but do not build by default). - Add editable builds to GitHub workflow `build-cloe` matrix. Changed: - Package `cloe` provides all Cloe packages compiled in one go. This is a boon to development, as we make `cloe` editable and only have to work with a single package. It also massively speeds up compilation: - Conan and CMake configuration is only performed once. - All cores can now be utilized much more effectively during the build process. - Do not aggressively lint everything The developer can do this themselves by setting a cmake define: https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_CLANG_TIDY.html - Renamed top-level Make targets: - `status` is now `status-all` - `export` is now `export-all` - `deploy` is now `deploy-all` - `clean` is now `clean-all` - `purge` is now `purge-all` - The following top-level Make targets just refer to `cloe` super-build package: - `package` - `smoketest` - `smoketest-deps` - `status` - `export` Fixed: - Plugin Conan configurations do not export correct library path.
- Loading branch information
Showing
61 changed files
with
1,084 additions
and
410 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -30,6 +30,7 @@ CMakeFiles/ | |
compile_commands.json | ||
|
||
# Files generated by Clang: | ||
.cache/ | ||
.clangd/ | ||
.cache/ | ||
|
||
|
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 |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# This CMakeLists.txt configures a super-build containing everything | ||
# from this repo. | ||
# | ||
# It is currently experimental. | ||
# | ||
|
||
cmake_minimum_required(VERSION 3.15...3.27 FATAL_ERROR) | ||
|
||
project(cloe LANGUAGES CXX) | ||
|
||
option(CLOE_WITH_ESMINI "Build simulator_esmini plugin?" ON) | ||
option(CLOE_WITH_VTD "Build simulator_vtd plugin?" OFF) | ||
|
||
set(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/runtime/cmake") | ||
|
||
# Since a super-build does not export packages individually via Conan, | ||
# we cannot depend on Conan-generated CMake config files, instead we | ||
# use the CMake targets directly as if they were already found. | ||
set(CLOE_FIND_PACKAGES OFF CACHE BOOL "Call find_package() for cloe packages" FORCE) | ||
|
||
# Ensure output goes to one place so cloe-launch can find the plugins | ||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) | ||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) | ||
|
||
# Ensure we can test from this level. | ||
set(CMAKE_CTEST_ARGUMENTS "--output-on-failure") | ||
include(CTest) | ||
|
||
# Order matters: | ||
add_subdirectory(fable) | ||
add_subdirectory(runtime) | ||
add_subdirectory(models) | ||
add_subdirectory(osi) | ||
add_subdirectory(oak) | ||
add_subdirectory(engine) | ||
add_subdirectory(plugins) | ||
|
||
if(CLOE_WITH_VTD) | ||
add_subdirectory(optional/vtd) | ||
endif() |
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
Oops, something went wrong.