Skip to content

Commit

Permalink
add debug lib for cpp sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
sunli829 committed Feb 29, 2024
1 parent 5e3ca08 commit 7fae948
Show file tree
Hide file tree
Showing 2 changed files with 112 additions and 10 deletions.
102 changes: 92 additions & 10 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -493,7 +493,88 @@ jobs:
name: include
path: cpp/include

build-cpp-sdk:
build-cpp-sdk-debug:
needs:
- copy-cpp-headers
strategy:
fail-fast: true
matrix:
settings:
- host: ubuntu-latest
target: x86_64-unknown-linux-gnu
platform: x86_64_linux
dylib_ext: so
- host: windows-latest
target: x86_64-pc-windows-msvc
platform: x86_64_windows
- host: macos-latest
target: x86_64-apple-darwin
platform: x86_64_macos
dylib_ext: dylib
- host: macos-latest
target: aarch64-apple-darwin
platform: aarch64_macos
dylib_ext: dylib
runs-on: ${{ matrix.settings.host }}
steps:
- uses: actions/checkout@v3
with:
submodules: true

- name: Install MSBuild
if: ${{ matrix.settings.host == 'windows-latest' }}
uses: microsoft/[email protected]

- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy
target: ${{ matrix.settings.target }}

- name: Get CMake
uses: lukka/get-cmake@latest

- name: Install cargo make
run: cargo install cargo-make

- name: Build
if: ${{ matrix.settings.target != 'aarch64-apple-darwin' }}
run: |
cargo make cmake-debug
cargo make c
cargo make cpp
- name: Build
if: ${{ matrix.settings.target == 'aarch64-apple-darwin' }}
run: |
cargo make cmake-debug-macos-aarch64
cargo make cpp
- name: Copy files
if: ${{ matrix.settings.host == 'windows-latest' }}
run: |
md dist\lib\${{ matrix.settings.platform }}\debug
copy cmake.build\C\Release\longport_c.dll dist\lib\${{ matrix.settings.platform }}\debug
copy cmake.build\C\Release\longport_c.dll.lib dist\lib\${{ matrix.settings.platform }}\debug\longport_c.lib
copy cmake.build\Release\longport_cpp.dll dist\lib\${{ matrix.settings.platform }}\debug
copy cmake.build\cpp\Release\longport_cpp.lib dist\lib\${{ matrix.settings.platform }}\debug
- name: Copy files
if: ${{ matrix.settings.host != 'windows-latest' }}
run: |
mkdir -p dist/lib/${{ matrix.settings.platform }}
cp cmake.build/c/liblongport_c.${{ matrix.settings.dylib_ext }} dist/lib/${{ matrix.settings.platform }}\debug
cp cmake.build/liblongport_cpp.${{ matrix.settings.dylib_ext }} dist/lib/${{ matrix.settings.platform }}\debug
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: libs
path: dist/lib

build-cpp-sdk-release:
needs:
- copy-cpp-headers
strategy:
Expand Down Expand Up @@ -555,18 +636,18 @@ jobs:
- name: Copy files
if: ${{ matrix.settings.host == 'windows-latest' }}
run: |
md dist\lib\${{ matrix.settings.platform }}
copy cmake.build\C\Release\longport_c.dll dist\lib\${{ matrix.settings.platform }}
copy cmake.build\C\Release\longport_c.dll.lib dist\lib\${{ matrix.settings.platform }}\longport_c.lib
copy cmake.build\Release\longport_cpp.dll dist\lib\${{ matrix.settings.platform }}
copy cmake.build\cpp\Release\longport_cpp.lib dist\lib\${{ matrix.settings.platform }}
md dist\lib\${{ matrix.settings.platform }}\release
copy cmake.build\C\Release\longport_c.dll dist\lib\${{ matrix.settings.platform }}\release
copy cmake.build\C\Release\longport_c.dll.lib dist\lib\${{ matrix.settings.platform }}\release\longport_c.lib
copy cmake.build\Release\longport_cpp.dll dist\lib\${{ matrix.settings.platform }}\release
copy cmake.build\cpp\Release\longport_cpp.lib dist\lib\${{ matrix.settings.platform }}\release
- name: Copy files
if: ${{ matrix.settings.host != 'windows-latest' }}
run: |
mkdir -p dist/lib/${{ matrix.settings.platform }}
cp cmake.build/c/liblongport_c.${{ matrix.settings.dylib_ext }} dist/lib/${{ matrix.settings.platform }}
cp cmake.build/liblongport_cpp.${{ matrix.settings.dylib_ext }} dist/lib/${{ matrix.settings.platform }}
mkdir -p dist/lib/${{ matrix.settings.platform }}\release
cp cmake.build/c/liblongport_c.${{ matrix.settings.dylib_ext }} dist/lib/${{ matrix.settings.platform }}\release
cp cmake.build/liblongport_cpp.${{ matrix.settings.dylib_ext }} dist/lib/${{ matrix.settings.platform }}\release
- name: Upload artifact
uses: actions/upload-artifact@v2
Expand All @@ -576,7 +657,8 @@ jobs:

publish-cpp-sdk:
needs:
- build-cpp-sdk
- build-cpp-sdk-debug
- build-cpp-sdk-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand Down
20 changes: 20 additions & 0 deletions Makefile.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,23 @@ args = [
"../",
]
cwd = "cmake.build"

[tasks.cmake-debug]
command = "cmake"
args = ["-DCMAKE_BUILD_TYPE=Debug", "../"]
cwd = "cmake.build"

[tasks.cmake-debug.windows]
command = "cmake"
args = ["../"]
cwd = "cmake.build"

[tasks.cmake-debug-macos-aarch64]
command = "cmake"
args = [
"-DCMAKE_BUILD_TYPE=Debug",
"-DRust_CARGO_TARGET=aarch64-apple-darwin",
"-DCMAKE_OSX_ARCHITECTURES=arm64",
"../",
]
cwd = "cmake.build"

0 comments on commit 7fae948

Please sign in to comment.