libragephoto: C++ headers have now .hpp extension

RagePhoto.h -> RagePhoto.hpp
RagePhotoA.h -> RagePhotoA.hpp
RagePhotoC.h -> RagePhoto.h

unicode.cmake: exclude codecvt for C builds
GitHub Actions: separate C and CXX builds
This commit is contained in:
Syping 2023-06-07 06:57:23 +02:00
parent 6acf7b7338
commit b838c505a4
21 changed files with 601 additions and 510 deletions

29
.github/workflows/ubuntu-c.yml vendored Normal file
View file

@ -0,0 +1,29 @@
name: Ubuntu C
on: push
jobs:
Release:
runs-on: ubuntu-latest
env:
BUILD_TYPE: Release
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Install packages
run: |
sudo apt-get update -qq
sudo apt-get install cmake gcc g++ ninja-build -qq
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DRAGEPHOTO_C_LIBRARY=ON -GNinja
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Install
run: cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --prefix ${{github.workspace}}/install/usr/local
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Ubuntu
path: |
${{github.workspace}}/install/

View file

@ -1,4 +1,4 @@
name: Ubuntu
name: Ubuntu CXX
on: push

View file

@ -1,4 +1,4 @@
name: WebAssembly
name: WebAssembly C
on: push
@ -18,7 +18,7 @@ jobs:
sudo apt-get update -qq
sudo apt-get install cmake ninja-build -qq
- name: Configure CMake
run: emcmake cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DRAGEPHOTO_C_LIBRARY=ON -DRAGEPHOTO_UNICODE=iconv -GNinja
run: emcmake cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -RAGEPHOTO_C_LIBRARY=ON -GNinja
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Upload

30
.github/workflows/webassembly-cxx.yml vendored Normal file
View file

@ -0,0 +1,30 @@
name: WebAssembly CXX
on: push
jobs:
Release:
runs-on: ubuntu-latest
env:
BUILD_TYPE: Release
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Setup emsdk
uses: mymindstorm/setup-emsdk@v11
- name: Install packages
run: |
sudo apt-get update -qq
sudo apt-get install cmake ninja-build -qq
- name: Configure CMake
run: emcmake cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -GNinja
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Upload
uses: actions/upload-artifact@v2
with:
name: WebAssembly
path: |
${{github.workspace}}/build/libragephoto.js
${{github.workspace}}/build/libragephoto.wasm

34
.github/workflows/windows-c.yml vendored Normal file
View file

@ -0,0 +1,34 @@
name: Windows C
on: push
jobs:
Release:
runs-on: windows-latest
env:
BUILD_TYPE: Release
strategy:
matrix:
arch:
- amd64
- amd64_x86
- amd64_arm64
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{matrix.arch}}
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DRAGEPHOTO_C_LIBRARY=ON -DRAGEPHOTO_UNICODE=wincvt -GNinja
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Install
run: cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --prefix ${{github.workspace}}/install
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Windows MSVC ${{matrix.arch}}
path: |
${{github.workspace}}/install/

View file

@ -1,4 +1,4 @@
name: Windows
name: Windows CXX
on: push