From a40bc2723c0a6c431524d0b8b2f59f584e84a634 Mon Sep 17 00:00:00 2001 From: Alfi Maulana Date: Wed, 27 Dec 2023 22:26:26 +0700 Subject: [PATCH 1/3] build(cmake): add support to install targets --- .gitignore | 1 + CMakeLists.txt | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/.gitignore b/.gitignore index fbf036d..855c9bc 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ !.git* build +install diff --git a/CMakeLists.txt b/CMakeLists.txt index e83844b..10236f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -86,3 +86,18 @@ add_subdirectory(components) if(NOT_SUBPROJECT AND BUILD_DOCS) add_subdirectory(docs) endif() + +install( + TARGETS errors errors_format + EXPORT errors_targets + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin + FILE_SET HEADERS +) + +install( + EXPORT errors_targets + FILE ErrorsTargets.cmake + NAMESPACE errors:: + DESTINATION lib/cmake/Errors +) From 6d44edb26d5c01913ba36745eccca376bdb47e88 Mon Sep 17 00:00:00 2001 From: Alfi Maulana Date: Wed, 27 Dec 2023 22:36:21 +0700 Subject: [PATCH 2/3] build(cmake): add support to install package config --- CMakeLists.txt | 5 +++++ cmake/ErrorsConfig.cmake | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 cmake/ErrorsConfig.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 10236f5..e53a094 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,3 +101,8 @@ install( NAMESPACE errors:: DESTINATION lib/cmake/Errors ) + +install( + FILES cmake/ErrorsConfig.cmake + DESTINATION lib/cmake/Errors +) diff --git a/cmake/ErrorsConfig.cmake b/cmake/ErrorsConfig.cmake new file mode 100644 index 0000000..55b6e0a --- /dev/null +++ b/cmake/ErrorsConfig.cmake @@ -0,0 +1,2 @@ +find_package(FMT REQUIRED) +include(${CMAKE_CURRENT_LIST_DIR}/ErrorsTargets.cmake) From a6452e3ba7914fe7e02527b2c4c219e5366c1ce3 Mon Sep 17 00:00:00 2001 From: Alfi Maulana Date: Wed, 27 Dec 2023 22:38:51 +0700 Subject: [PATCH 3/3] ci(build): add install project and upload project steps in the `build-project` job --- .github/workflows/build.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 3ab799a..0caca07 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -22,6 +22,15 @@ jobs: - name: Build Project run: cmake --build build --config Release + - name: Install Project + run: cmake --install build --prefix install + + - name: Upload Project + uses: actions/upload-artifact@v4.0.0 + with: + name: package-${{ matrix.os }} + path: install + build-examples: name: Build Examples runs-on: ${{ matrix.os }}-latest