Skip to content

Commit

Permalink
Merge branch 'rel/staging-v0.7.0' into 'master'
Browse files Browse the repository at this point in the history
MetaCG v0.7.0

See merge request tuda-sc/projects/metacg!163
  • Loading branch information
pearzt committed Oct 15, 2024
2 parents b31ea1d + 93b4f4e commit 10f77c4
Show file tree
Hide file tree
Showing 227 changed files with 5,969 additions and 4,239 deletions.
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ PenaltyBreakString: 1000
PenaltyBreakFirstLessLess: 120
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Right
PointerAlignment: Left
SpacesBeforeTrailingComments: 2
Cpp11BracedListStyle: true
Standard: Latest
Expand Down
341 changes: 341 additions & 0 deletions .clang-tidy

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
.vscode
build/
extern/

.idea/

Expand Down
64 changes: 42 additions & 22 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ stages:
matrix:
- GCC: 10
#LLVM: [10.0.1, 11.1.0, 12.0.1, 13.0.0, 14.0.0]
LLVM: [10.0.1, 14.0.0]
LLVM: [10.0.1, 14.0.6]
- GCC: 11
LLVM: [13.0.0, 14.0.0]
LLVM: [13.0.1, 14.0.6]
variables:
MCG_BUILD: build-GCC-$GCC-LLVM-$LLVM

Expand All @@ -38,6 +38,7 @@ mcg-download:
# Stage: lint
mcg-cmake-lint:
stage: lint
needs: ["mcg-download"]
script:
- for f in $(find . -name "CMakeLists.txt"); do cmake-format --check $f || exit 1; done
- for f in $(find ./cmake -type f); do cmake-format --check $f || exit 1; done
Expand All @@ -46,29 +47,31 @@ mcg-cmake-lint:
# Stage: build-deps
build-dependencies:
stage: build-deps
needs: ["mcg-download"]
script:
- ./build_submodules.sh

# mcg-container:
# stage: build
# tags:
# - podman
# allow_failure: true
# variables:
# GIT_STRATEGY: clone
# GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_COMMIT_SHA
# script:
# - podman login ${CI_REGISTRY} -u ${CI_CONTAINER_REG_USER} -p ${CONTAINER_REGISTRY_READ_TOKEN}
# - podman build -t registry.git.rwth-aachen.de/tuda-sc/projects/metacg/metacg:$CI_COMMIT_SHA -f container/metacg .
# - podman run --rm -t metacg:$CI_COMMIT_SHA /opt/metacg/metacg/build/pgis/test/unit/pgistests
# - podman run --rm -t metacg:$CI_COMMIT_SHA /opt/metacg/metacg/build/graph/test/unit/libtests
# - podman image rm metacg:$CI_COMMIT_SHA
#
mcg-container:
stage: build
tags:
- podman
allow_failure: true
needs: ["mcg-download"]
variables:
GIT_STRATEGY: clone
GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_COMMIT_SHA
script:
- podman login ${CI_REGISTRY} -u ${CI_CONTAINER_REG_USER} -p ${CONTAINER_REGISTRY_READ_TOKEN}
- podman build -t metacg:$CI_COMMIT_SHA -f container/metacg .
- podman run --rm -t metacg:$CI_COMMIT_SHA /opt/metacg/metacg/build/pgis/test/unit/pgistests
- podman run --rm -t metacg:$CI_COMMIT_SHA /opt/metacg/metacg/build/graph/test/unit/libtests


# Stage: build
build-mcg-no-tests:
<<: *job-setup
stage: build
needs: ["build-dependencies"]
script:
- module load clang/$LLVM
- cmake -S . -B $MCG_BUILD-no-tests -G Ninja -DCMAKE_BUILD_TYPE=Debug
Expand All @@ -77,14 +80,15 @@ build-mcg-no-tests:
-DCUBE_INCLUDE=$(dirname $(which cube_info))/../include/cubelib
-DEXTRAP_INCLUDE=./extern/install/extrap/include
-DEXTRAP_LIB=./extern/install/extrap/lib
-DSPDLOG_BUILD_SHARED=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
-DMETACG_BUILD_UNIT_TESTS=OFF
- cmake --build $MCG_BUILD-no-tests --parallel
- module purge

build-mcg-stripped-all:
<<: *job-setup
stage: build
needs: ["build-dependencies"]
script:
- module load clang/$LLVM
- cmake -S . -B $MCG_BUILD-no-all -G Ninja -DCMAKE_BUILD_TYPE=Debug
Expand All @@ -93,13 +97,14 @@ build-mcg-stripped-all:
-DCUBE_INCLUDE=$(dirname $(which cube_info))/../include/cubelib
-DEXTRAP_INCLUDE=./extern/install/extrap/include
-DEXTRAP_LIB=./extern/install/extrap/lib
-DSPDLOG_BUILD_SHARED=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
- cmake --build $MCG_BUILD-no-all --parallel
- module purge

build-mcg-stripped-pgis:
<<: *job-setup
stage: build
needs: ["build-dependencies"]
script:
- module load clang/$LLVM
- cmake -S . -B $MCG_BUILD-no-cgcollector -G Ninja -DCMAKE_BUILD_TYPE=Debug
Expand All @@ -109,13 +114,14 @@ build-mcg-stripped-pgis:
-DEXTRAP_INCLUDE=./extern/install/extrap/include
-DEXTRAP_LIB=./extern/install/extrap/lib
-DMETACG_BUILD_PGIS=ON
-DSPDLOG_BUILD_SHARED=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
- cmake --build $MCG_BUILD-no-cgcollector --parallel
- module purge

build-mcg-stripped-cgcollector:
<<: *job-setup
stage: build
needs: ["build-dependencies"]
script:
- module load clang/$LLVM
- cmake -S . -B $MCG_BUILD-no-pgis -G Ninja -DCMAKE_BUILD_TYPE=Debug
Expand All @@ -125,13 +131,14 @@ build-mcg-stripped-cgcollector:
-DEXTRAP_INCLUDE=./extern/install/extrap/include
-DEXTRAP_LIB=./extern/install/extrap/lib
-DMETACG_BUILD_CGCOLLECTOR=ON
-DSPDLOG_BUILD_SHARED=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
- cmake --build $MCG_BUILD-no-pgis --parallel
- module purge

build-mcg:
<<: *job-setup
stage: build
needs: ["build-dependencies"]
script:
- module load clang/$LLVM
- cmake -S . -B $MCG_BUILD -G Ninja -DCMAKE_BUILD_TYPE=Debug
Expand All @@ -142,7 +149,7 @@ build-mcg:
-DEXTRAP_LIB=./extern/install/extrap/lib
-DMETACG_BUILD_PGIS=ON
-DMETACG_BUILD_CGCOLLECTOR=ON
-DSPDLOG_BUILD_SHARED=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
- cmake --build $MCG_BUILD --parallel
- module purge

Expand All @@ -151,6 +158,7 @@ build-mcg:
test-cgc:
<<: *job-setup
stage: test
needs: ["build-mcg"]
script:
- module load clang/$LLVM
- cd cgcollector/test
Expand All @@ -162,6 +170,7 @@ test-cgc:
test-graphlib:
<<: *job-setup
stage: test
needs: ["build-mcg"]
script:
- module load clang/$LLVM
- cd $MCG_BUILD/graph/test/unit && ./libtests --gtest_output=xml:gcc-$GCC-llvm-$LLVM.xml
Expand All @@ -176,6 +185,7 @@ test-graphlib:
test-pgis:
<<: *job-setup
stage: test
needs: ["build-mcg"]
script:
- module load clang/$LLVM
- cd $MCG_BUILD/pgis/test/unit && ./pgistests --gtest_output=xml:gcc-$GCC-llvm-$LLVM.xml
Expand All @@ -192,13 +202,15 @@ test-pgis:
test-cgvalidate:
<<: *job-setup
stage: integration-test
needs: ["build-mcg"]
script:
- cd cgcollector/test/integration
- ./runner.sh $MCG_BUILD

test-basic-pgis:
<<: *job-setup
stage: integration-test
needs: ["build-mcg"]
script:
- module load clang/$LLVM
- cd pgis
Expand All @@ -209,6 +221,7 @@ test-basic-pgis:
test-static-pgis:
<<: *job-setup
stage: integration-test
needs: ["build-mcg"]
script:
- module load clang/$LLVM
- cd pgis
Expand All @@ -219,6 +232,7 @@ test-static-pgis:
test-modeling-pgis:
<<: *job-setup
stage: integration-test
needs: ["build-mcg"]
script:
- module load clang/$LLVM
- cd pgis
Expand All @@ -229,6 +243,7 @@ test-modeling-pgis:
test-dynamic-pgis:
<<: *job-setup
stage: integration-test
needs: ["build-mcg"]
script:
- module load clang/$LLVM
- cd pgis
Expand All @@ -239,6 +254,7 @@ test-dynamic-pgis:
test-imbalance-pgis:
<<: *job-setup
stage: integration-test
needs: ["build-mcg"]
script:
- module load clang/$LLVM
- cd pgis
Expand All @@ -249,6 +265,7 @@ test-imbalance-pgis:
test-target-collector:
<<: *job-setup
stage: integration-test
needs: ["build-mcg"]
script:
- module load clang/$LLVM
- cd graph/test/integration/TargetCollector
Expand All @@ -258,6 +275,7 @@ test-target-collector:
install-mcg:
<<: *job-setup
stage: install
needs: ["build-mcg"]
script:
- cmake --install $MCG_BUILD-no-all
- cd graph/test/install
Expand All @@ -269,6 +287,7 @@ install-mcg:
install-pgis:
<<: *job-setup
stage: install
needs: ["build-mcg"]
script:
- module load clang/$LLVM
- export LD_LIBRARY_PATH=$PWD/extern/install/extrap/lib:$LD_LIBRARY_PATH
Expand All @@ -281,6 +300,7 @@ install-pgis:
install-cgcollector:
<<: *job-setup
stage: install
needs: ["build-mcg"]
script:
- module load clang/$LLVM
- export LD_LIBRARY_PATH=$PWD/extern/install/extrap/lib:$LD_LIBRARY_PATH
Expand Down
16 changes: 7 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# This ships with Ubuntu 20.04 and supports C++20
cmake_minimum_required(VERSION 3.16)

# Choose modern CMake behavior when extracting archives
cmake_policy(SET CMP0135 NEW)

# Require out-of-source builds (taken from
# https://hsf-training.github.io/hsf-training-cmake-webpage/07-commonproblems/index.html)
file(
Expand All @@ -19,7 +22,7 @@ endif()
# End of require out-of-source builds

# Project information
set(METACG_VERSION 0.6.0)
set(METACG_VERSION 0.7.0)
project(
MetaCG
VERSION ${METACG_VERSION}
Expand Down Expand Up @@ -49,7 +52,6 @@ option(
ON
)

# This also downloads and builds googletest
include(ToolchainOptions)
# Making packaging easier
include(CMakePackageConfigHelpers)
Expand All @@ -71,6 +73,9 @@ endif()
# Configure the file that holds version information
configure_file(Config.h.in config.h)

# Provide googletest library
include(GoogleTest)

# Component options MetaCG graph library will always be built. The actual graph implementation
add_subdirectory(graph)

Expand Down Expand Up @@ -105,13 +110,6 @@ option(
OFF
)

# if set to on, CMake looks for installed spdlog
option(
METACG_USE_EXTERNAL_SPDLOG
"On or off"
OFF
)

# If set to on, CMake looks for installed cxxopts
option(
METACG_USE_EXTERNAL_CXXOPTS
Expand Down
Loading

0 comments on commit 10f77c4

Please sign in to comment.