Skip to content

support "?" at PLACE #440

support "?" at PLACE

support "?" at PLACE #440

Workflow file for this run

name: CMake
on:
push:
jobs:
get-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
path: openssl-externalCMake
- name: Get the version of OpenSSL
id: getversion
run: |
"${{ github.workspace }}/openssl-externalCMake/.github/Scripts-For-Actions/get-version.sh" >> "$GITHUB_OUTPUT"
outputs:
openssl_version: ${{ steps.getversion.outputs.OPENSSL_VERSION }}
package-source-unix:
strategy:
fail-fast: false
runs-on: ubuntu-latest
needs: get-version
env:
FS_OPENSSL_VERSION_STR: ${{ needs.get-version.outputs.openssl_version }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
path: openssl-externalCMake
- name: add CMake repository and needed softwares
run: |
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ '"$(. /etc/os-release; echo ${VERSION_CODENAME})"' main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
sudo apt-get update
sudo apt-get install cmake ninja-build perl build-essential zlib1g-dev
- name: run CMake + Ninja
run: |
mkdir -p "build"
cd "build"
cmake -GNinja -DCMAKE_BUILD_TYPE=Release "${{ github.workspace }}/openssl-externalCMake"
cmake --build . --parallel -t package_source
- uses: actions/upload-artifact@v4
with:
name: openssl${{ env.FS_OPENSSL_VERSION_STR }}-Source-LF
path: build/OpenSSL-${{ env.FS_OPENSSL_VERSION_STR }}-Source.tar.xz
package-source-windows:
strategy:
fail-fast: false
runs-on: windows-latest
needs: get-version
env:
FS_OPENSSL_VERSION_STR: ${{ needs.get-version.outputs.openssl_version }}
steps:
- name: configure
shell: cmd
run: git config --global core.autocrlf true
- uses: actions/checkout@v4
with:
submodules: true
path: openssl-externalCMake
- name: add CMake repository and needed softwares
shell: cmd
run: |
choco install cmake
choco install ninja
- name: run CMake + Ninja
shell: cmd
run: |
del /s /q C:\Strawberry\perl\bin\pkg-config.bat
mkdir -p "build"
cd "build"
cmake -GNinja -DCMAKE_BUILD_TYPE=Release "${{ github.workspace }}/openssl-externalCMake"
cmake --build . --parallel -t package_source
- uses: actions/upload-artifact@v4
with:
name: openssl${{ env.FS_OPENSSL_VERSION_STR }}-Source-CRLF
path: build/OpenSSL-${{ env.FS_OPENSSL_VERSION_STR }}-Source.7z
build-ubuntu:
strategy:
fail-fast: false
continue-on-error: true
runs-on: ubuntu-22.04
needs: get-version
env:
FS_OPENSSL_PACKAGE_STR: Ubuntu-x86_64
FS_OPENSSL_VERSION_STR: ${{ needs.get-version.outputs.openssl_version }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
path: openssl-externalCMake
- name: add CMake repository and needed softwares
run: |
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ '"$(. /etc/os-release; echo ${VERSION_CODENAME})"' main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
sudo apt-get update
sudo apt-get install cmake ninja-build perl build-essential zlib1g-dev
- name: run CMake + Ninja
run: |
mkdir -p "build"
cd "build"
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}" -DOPENSSL_ASM=ON -DOPENSSL_ZLIB=ON -DOPENSSL_THREADS=ON "${{ github.workspace }}/openssl-externalCMake"
cmake --build . --parallel
cmake --build . --parallel -t package
- uses: actions/upload-artifact@v4
with:
name: openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}
path: build/OpenSSL-${{ env.FS_OPENSSL_VERSION_STR }}-linux-x86_64.tar.xz
build-iOS:
strategy:
fail-fast: false
matrix:
toolchain:
- arch: "arm64"
name: "arm64"
asm: "ON"
OPENSSL_BUILD_PLATFORM: "ios64-xcrun"
simulator_argument: ""
- arch: "arm64e"
name: "arm64e"
asm: "ON"
OPENSSL_BUILD_PLATFORM: "ios64-xcrun"
simulator_argument: ""
- arch: "x86_64"
name: "simulator-x86_64"
asm: "OFF"
OPENSSL_BUILD_PLATFORM: "iossimulator-xcrun"
simulator_argument: "-DCMAKE_OSX_SYSROOT=\"$(xcrun --show-sdk-path --sdk iphonesimulator)\""
- arch: "arm64"
name: "simulator-arm64"
asm: "OFF"
OPENSSL_BUILD_PLATFORM: "iossimulator-xcrun"
simulator_argument: "-DCMAKE_OSX_SYSROOT=\"$(xcrun --show-sdk-path --sdk iphonesimulator)\""
- arch: "arm64;arm64e;x86_64"
name: "unified64"
asm: "OFF"
OPENSSL_BUILD_PLATFORM: "ios64-unified64"
simulator_argument: ""
name: build-iOS-${{ matrix.toolchain.name }}
continue-on-error: true
runs-on: macos-14
needs: get-version
env:
FS_OPENSSL_PACKAGE_STR: iOS-${{ matrix.toolchain.name }}
FS_OPENSSL_VERSION_STR: ${{ needs.get-version.outputs.openssl_version }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
path: openssl-externalCMake
- name: install cmake and ninja
run: |
while ! brew update; do :; done
brew install cmake ninja
- name: run CMake + Ninja
run: |
mkdir -p "build"
cd "build"
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}" ${{ matrix.toolchain.simulator_argument }} -DCMAKE_OSX_ARCHITECTURES="${{ matrix.toolchain.arch }}" -DCMAKE_SYSTEM_NAME=iOS -DOPENSSL_ASM="${{ matrix.toolchain.asm }}" -DOPENSSL_ZLIB=ON -DOPENSSL_THREADS=ON "${{ github.workspace }}/openssl-externalCMake"
cmake --build . --parallel
cmake --build . --parallel -t package
- uses: actions/upload-artifact@v4
with:
name: openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}
path: build/OpenSSL-${{ env.FS_OPENSSL_VERSION_STR }}-${{ matrix.toolchain.OPENSSL_BUILD_PLATFORM }}.tar.xz
build-macOS:
strategy:
fail-fast: false
matrix:
toolchain:
- arch: "x86_64"
name: "x86_64"
runson: "13"
asm: "ON"
OPENSSL_BUILD_PLATFORM: "darwin64-x86_64"
- arch: "arm64"
name: "arm64"
runson: "14"
asm: "ON"
OPENSSL_BUILD_PLATFORM: "darwin64-arm64"
- arch: "x86_64;arm64"
name: "unified"
runson: "14"
asm: "OFF"
OPENSSL_BUILD_PLATFORM: "darwin64-unified64"
name: build-macOS-${{ matrix.toolchain.name }}
continue-on-error: true
runs-on: macos-${{ matrix.toolchain.runson }}
needs: get-version
env:
FS_OPENSSL_PACKAGE_STR: macOS-${{ matrix.toolchain.name }}
FS_OPENSSL_VERSION_STR: ${{ needs.get-version.outputs.openssl_version }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
path: openssl-externalCMake
- name: install cmake and ninja
run: |
while ! brew update; do :; done
brew install cmake ninja
- name: run CMake + Ninja
run: |
mkdir -p "build"
cd "build"
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}" -DCMAKE_OSX_ARCHITECTURES="${{ matrix.toolchain.arch }}" -DOPENSSL_ASM="${{ matrix.toolchain.asm }}" -DOPENSSL_ZLIB=ON -DOPENSSL_THREADS=ON "${{ github.workspace }}/openssl-externalCMake"
cmake --build . --parallel
cmake --build . --parallel -t package
- uses: actions/upload-artifact@v4
with:
name: openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}
path: build/OpenSSL-${{ env.FS_OPENSSL_VERSION_STR }}-${{ matrix.toolchain.OPENSSL_BUILD_PLATFORM }}.tar.xz
build-MinGW:
strategy:
fail-fast: false
matrix:
toolchain:
- version: "12.2.0"
bit: "32"
arch: "i686"
url: "https://github.com/niXman/mingw-builds-binaries/releases/download/12.2.0-rt_v10-rev2/i686-12.2.0-release-posix-dwarf-msvcrt-rt_v10-rev2.7z"
OPENSSL_BUILD_PLATFORM: mingw
- version: "13.2.0"
bit: "64"
arch: "x86_64"
url: "https://github.com/niXman/mingw-builds-binaries/releases/download/13.2.0-rt_v11-rev1/x86_64-13.2.0-release-posix-seh-msvcrt-rt_v11-rev1.7z"
OPENSSL_BUILD_PLATFORM: mingw64
continue-on-error: true
runs-on: windows-latest
name: "build-MinGW-GCC${{ matrix.toolchain.version }}-${{ matrix.toolchain.bit }}bit"
needs: get-version
env:
FS_OPENSSL_PACKAGE_STR: MinGW-GCC${{ matrix.toolchain.version }}-${{ matrix.toolchain.arch }}
FS_OPENSSL_VERSION_STR: ${{ needs.get-version.outputs.openssl_version }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
path: openssl-externalCMake
- name: add CMake repository and needed softwares
run: |
choco install cmake
choco install ninja
- name: install MinGW toolchain
run: |
New-Item -Path "." -Name "mingw" -ItemType "directory";
(New-Object System.Net.WebClient).DownloadFile("${{ matrix.toolchain.url }}","mingw/mingw.7z");
cmd /c cd mingw "&&" 7z x mingw.7z
- name: run CMake + Ninja
shell: cmd
run: |
del /s /q C:\Strawberry\perl\bin\pkg-config.bat
set path=${{ github.workspace }}\mingw\mingw${{ matrix.toolchain.bit }}\\bin;%path%
mkdir -p "build"
cd "build"
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}" -DOPENSSL_ASM=ON -DOPENSSL_THREADS=ON "${{ github.workspace }}/openssl-externalCMake"
cmake --build . --parallel
cmake --build . --parallel -t package
- uses: actions/upload-artifact@v4
with:
name: openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}
path: build/OpenSSL-${{ env.FS_OPENSSL_VERSION_STR }}-${{ matrix.toolchain.OPENSSL_BUILD_PLATFORM }}.7z
build-msvc:
strategy:
fail-fast: false
matrix:
toolchain:
- version: "2022"
runson: "2022"
call: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat
bit: "64"
arch: "x86_64"
OPENSSL_BUILD_PLATFORM: VC-WIN64A
- version: "2019"
runson: "2019"
call: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsamd64_x86.bat
bit: "32"
arch: "i686"
OPENSSL_BUILD_PLATFORM: VC-WIN32
continue-on-error: true
runs-on: windows-${{ matrix.toolchain.runson }}
name: "build-MSVC${{ matrix.toolchain.version }}-${{ matrix.toolchain.bit }}bit"
needs: get-version
env:
FS_OPENSSL_PACKAGE_STR: MSVC${{ matrix.toolchain.version }}-${{ matrix.toolchain.arch }}
FS_OPENSSL_VERSION_STR: ${{ needs.get-version.outputs.openssl_version }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
path: openssl-externalCMake
- name: add CMake repository and needed softwares
run: |
choco install cmake
choco install ninja
choco install nasm
- name: run CMake + Ninja
shell: cmd
run: |
del /s /q C:\Strawberry\perl\bin\pkg-config.bat
call "${{ matrix.toolchain.call }}"
mkdir -p "build"
cd "build"
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}" -DOPENSSL_ASM=ON -DOPENSSL_NASM=ON "${{ github.workspace }}/openssl-externalCMake"
cmake --build . --parallel
cmake --build . --parallel -t package
- uses: actions/upload-artifact@v4
with:
name: openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}
path: build/OpenSSL-${{ env.FS_OPENSSL_VERSION_STR }}-${{ matrix.toolchain.OPENSSL_BUILD_PLATFORM }}.7z
# Use latest NDK from GitHub Actions.
build-android:
strategy:
fail-fast: false
matrix:
toolchain:
- arch: "armeabi-v7a"
OPENSSL_BUILD_PLATFORM: android-arm
- arch: "arm64-v8a"
OPENSSL_BUILD_PLATFORM: android-arm64
- arch: "x86"
OPENSSL_BUILD_PLATFORM: android-x86
- arch: "x86_64"
OPENSSL_BUILD_PLATFORM: android-x86_64
continue-on-error: true
runs-on: ubuntu-latest
name: "build-Android-${{ matrix.toolchain.arch }}"
needs: get-version
env:
FS_OPENSSL_PACKAGE_STR: Android-${{ matrix.toolchain.arch }}
FS_OPENSSL_VERSION_STR: ${{ needs.get-version.outputs.openssl_version }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
path: openssl-externalCMake
- name: add CMake repository and needed softwares
run: |
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ '"$(. /etc/os-release; echo ${VERSION_CODENAME})"' main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
sudo apt-get update
sudo apt-get install cmake ninja-build perl
- name: run CMake + Ninja
run: |
mkdir -p "build"
cd "build"
cmake -GNinja -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake" -DANDROID_ABI=${{ matrix.toolchain.arch }} -DANDROID_PLATFORM=24 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}" -DOPENSSL_ASM=ON -DOPENSSL_ZLIB=ON -DOPENSSL_THREADS=ON "${{ github.workspace }}/openssl-externalCMake"
cmake --build . --parallel
cmake --build . --parallel -t package
- uses: actions/upload-artifact@v4
with:
name: openssl${{ env.FS_OPENSSL_VERSION_STR }}-${{ env.FS_OPENSSL_PACKAGE_STR }}
path: build/OpenSSL-${{ env.FS_OPENSSL_VERSION_STR }}-${{ matrix.toolchain.OPENSSL_BUILD_PLATFORM }}.tar.xz