build: adopt xo-cmake dependency
This commit is contained in:
parent
efb1b9aa47
commit
ebc70db3e7
3 changed files with 32 additions and 9 deletions
35
.github/workflows/cmake-single-platform.yml
vendored
35
.github/workflows/cmake-single-platform.yml
vendored
|
|
@ -26,6 +26,24 @@ jobs:
|
|||
# install catch2. see [[https://stackoverflow.com/questions/57982945/how-to-apt-get-install-in-a-github-actions-workflow]]
|
||||
run: sudo apt-get install -y catch2
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
- name: Clone xo-cmake
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: Rconybea/xo-cmake
|
||||
path: repo/xo-cmake
|
||||
|
||||
- name: Configure xo-cmake
|
||||
run: cmake -B ${{github.workspace}}/build_xo-cmake -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local repo/xo-cmake
|
||||
|
||||
- name: Build xo-cmake (trivial)
|
||||
run: cmake --build ${{github.workspace}}/build_xo-cmake --config ${{env.BUILD_TYPE}}
|
||||
|
||||
- name: Install xo-cmake
|
||||
run: cmake --install ${{github.workspace}}/build_xo-cmake
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
- name: Clone indentlog
|
||||
uses: actions/checkout@v3
|
||||
|
|
@ -35,7 +53,7 @@ jobs:
|
|||
|
||||
- name: Configure indentlog
|
||||
# configure cmake for indentlog in dedicated build directory.
|
||||
run: cmake -B ${{github.workspace}}/build_indentlog -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local repo/indentlog
|
||||
run: cmake -B ${{github.workspace}}/build_indentlog -DCMAKE_MODULE_PATH=${{github.workspace}}/local/share/cmake -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local repo/indentlog
|
||||
|
||||
- name: Build indentlog
|
||||
run: cmake --build ${{github.workspace}}/build_indentlog --config ${{env.BUILD_TYPE}}
|
||||
|
|
@ -44,6 +62,7 @@ jobs:
|
|||
# install into ${{github.workspace}}/local
|
||||
run: cmake --install ${{github.workspace}}/build_indentlog
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
- name: Clone subsys
|
||||
uses: actions/checkout@v3
|
||||
|
|
@ -53,7 +72,7 @@ jobs:
|
|||
|
||||
- name: Configure subsys
|
||||
# configure cmake for subsys in dedicated build directory.
|
||||
run: cmake -B ${{github.workspace}}/build_subsys -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local repo/subsys
|
||||
run: cmake -B ${{github.workspace}}/build_subsys -DCMAKE_MODULE_PATH=${{github.workspace}}/local/share/cmake -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local repo/subsys
|
||||
|
||||
- name: Build subsys
|
||||
run: cmake --build ${{github.workspace}}/build_subsys --config ${{env.BUILD_TYPE}}
|
||||
|
|
@ -62,6 +81,7 @@ jobs:
|
|||
# install into ${{github.workspace}}/local
|
||||
run: cmake --install ${{github.workspace}}/build_subsys
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
- name: Clone refcnt
|
||||
uses: actions/checkout@v3
|
||||
|
|
@ -71,7 +91,7 @@ jobs:
|
|||
|
||||
- name: Configure refcnt
|
||||
# configure cmake for refcnt in dedicated build directory.
|
||||
run: cmake -B ${{github.workspace}}/build_refcnt -DCMAKE_PREFIX_PATH=${{github.workspace}}/local -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local repo/refcnt
|
||||
run: cmake -B ${{github.workspace}}/build_refcnt -DCMAKE_MODULE_PATH=${{github.workspace}}/local/share/cmake -DCMAKE_PREFIX_PATH=${{github.workspace}}/local -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local repo/refcnt
|
||||
|
||||
- name: Build refcnt
|
||||
run: cmake --build ${{github.workspace}}/build_refcnt --config ${{env.BUILD_TYPE}}
|
||||
|
|
@ -80,17 +100,18 @@ jobs:
|
|||
# install into ${{github.workspace}}/local
|
||||
run: cmake --install ${{github.workspace}}/build_refcnt
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
- name: Configure reflect library
|
||||
- name: Configure self (reflect)
|
||||
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
|
||||
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
|
||||
run: cmake -B ${{github.workspace}}/build_reflect -DCMAKE_PREFIX_PATH=${{github.workspace}}/local -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} --debug-find
|
||||
run: cmake -B ${{github.workspace}}/build_reflect -DCMAKE_MODULE_PATH=${{github.workspace}}/local/share/cmake -DCMAKE_PREFIX_PATH=${{github.workspace}}/local -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/local -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
|
||||
|
||||
- name: Build reflect
|
||||
- name: Build self (reflect)
|
||||
# Build your program with the given configuration
|
||||
run: cmake --build ${{github.workspace}}/build_reflect --config ${{env.BUILD_TYPE}}
|
||||
|
||||
- name: Test reflect
|
||||
- name: Test self (reflect)
|
||||
working-directory: ${{github.workspace}}/build_reflect
|
||||
# Execute tests defined by the CMake configuration.
|
||||
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ message(CMAKE_VERSION=${CMAKE_VERSION})
|
|||
project(reflect VERSION 0.1)
|
||||
enable_language(CXX)
|
||||
|
||||
# common XO cmake macros (see proj/xo-cmake)
|
||||
include(xo_macros/xo_cxx)
|
||||
include(cmake/cxx.cmake)
|
||||
include(cmake/code-coverage.cmake)
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
$ cd reflect
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} ..
|
||||
$ cmake -DCMAKE_MODULE_PATH=${INSTALL_PREFIX}/share/cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} ..
|
||||
$ make
|
||||
$ make install
|
||||
```
|
||||
|
|
@ -15,5 +15,5 @@ $ make install
|
|||
$ cd refcnt
|
||||
$ mkdir build-ccov
|
||||
$ cd build-ccov
|
||||
$ cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCODE_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug ..
|
||||
$ cmake -DCMAKE_MODULE_PATH=${INSTALL_PREFIX}/share/cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCODE_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug ..
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue