Compare commits

..

8 Commits

Author SHA1 Message Date
William Bell
5a86510c3b fix release for macos x86_64 and arm64 2025-08-16 03:48:48 +01:00
William Bell
fb8b6a89ae build for more architectures 2025-08-16 03:41:32 +01:00
William Bell
6ddf9953e7 change windows builds to tar.gz 2025-08-16 03:23:01 +01:00
William Bell
1609227a42 add bcrypt for windows 2025-08-16 03:10:50 +01:00
William Bell
51f6a88ce8 add profile to build 2025-08-16 03:00:01 +01:00
William Bell
f420273471 fix backslashes 2025-08-16 02:46:33 +01:00
William Bell
4b2a747338 use msys/flex 2025-08-16 02:36:47 +01:00
William Bell
5277814af0 fix conan 2025-08-16 02:31:15 +01:00
3 changed files with 34 additions and 24 deletions

View File

@@ -56,6 +56,9 @@ jobs:
build-macos: build-macos:
runs-on: macos-latest runs-on: macos-latest
strategy:
matrix:
arch: [x86_64, arm64] # build both architectures
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
@@ -77,17 +80,27 @@ jobs:
- name: Build - name: Build
run: | run: |
conan install . --build=missing BUILD_DIR="build_${{ matrix.arch }}"
conan build . mkdir -p "$BUILD_DIR"
cd "$BUILD_DIR"
# Pass architecture explicitly to CMake via environment
export CMAKE_OSX_ARCHITECTURES="${{ matrix.arch }}"
# Run Conan install/build
conan install .. --build=missing
conan build ..
cd ..
- name: Package - name: Package
run: | run: |
TAG=${GITHUB_REF##refs/tags/} TAG=${GITHUB_REF##refs/tags/}
OS=$(uname -s | tr '[:upper:]' '[:lower:]') OS="macos"
ARCH=$(uname -m) ARCH="${{ matrix.arch }}"
FOLDER="chloride-$TAG-$OS-$ARCH" FOLDER="chloride-$TAG-$OS-$ARCH"
TAR="$FOLDER.tar.gz" TAR="$FOLDER.tar.gz"
mv build/bin "$FOLDER" mv build_${ARCH}/bin "$FOLDER"
cp LICENSE.txt "$FOLDER" cp LICENSE.txt "$FOLDER"
tar -czf "$TAR" "$FOLDER" tar -czf "$TAR" "$FOLDER"
echo "TAR_NAME=$TAR" >> $GITHUB_ENV echo "TAR_NAME=$TAR" >> $GITHUB_ENV
@@ -95,7 +108,7 @@ jobs:
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: macos-artifact name: macos-${{ matrix.arch }}-artifact
path: ${{ env.TAR_NAME }} path: ${{ env.TAR_NAME }}
build-windows: build-windows:
@@ -120,6 +133,7 @@ jobs:
mingw-w64-x86_64-cmake mingw-w64-x86_64-cmake
mingw-w64-x86_64-python mingw-w64-x86_64-python
mingw-w64-x86_64-python-pip mingw-w64-x86_64-python-pip
msys/flex
- name: Install Conan - name: Install Conan
run: | run: |
@@ -130,19 +144,19 @@ jobs:
- name: Build Project - name: Build Project
run: | run: |
conan install . --profile mingw-profile.txt --build=missing conan install . --profile mingw-profile.txt --build=missing
conan build . conan build . --profile mingw-profile.txt
- name: Package - name: Package
run: | run: |
$TAG = $env:GITHUB_REF -replace 'refs/tags/', '' TAG=${GITHUB_REF##refs/tags/}
$ARCH = if ([Environment]::Is64BitOperatingSystem) { 'x64' } else { 'x86' } OS="windows"
$FOLDER = "chloride-$TAG-windows-$ARCH" ARCH=$(uname -m)
$ZIP = "$FOLDER.zip" FOLDER="chloride-$TAG-$OS-$ARCH"
Rename-Item bin $FOLDER TAR="$FOLDER.tar.gz"
Copy-Item LICENSE.txt $FOLDER mv build/bin "$FOLDER"
Compress-Archive -Path $FOLDER -DestinationPath $ZIP cp LICENSE.txt "$FOLDER"
echo "TAR_NAME=$ZIP" >> $env:GITHUB_ENV tar -czf "$TAR" "$FOLDER"
shell: pwsh echo "TAR_NAME=$TAR" >> $GITHUB_ENV
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4

View File

@@ -57,6 +57,7 @@ target_link_libraries(argon PRIVATE
BDWgc::BDWgc BDWgc::BDWgc
gmp::gmp gmp::gmp
m m
$<$<PLATFORM_ID:Windows>:bcrypt>
) )
target_include_directories(argon PRIVATE target_include_directories(argon PRIVATE

View File

@@ -33,11 +33,6 @@ class ArgonConan(ConanFile):
os.environ["CONAN_NON_INTERACTIVE"] = "1" os.environ["CONAN_NON_INTERACTIVE"] = "1"
tc = CMakeToolchain(self) tc = CMakeToolchain(self)
if os.name == "nt": # Windows
flex_path = which("win_flex") or which("win_flex.exe")
if not flex_path:
raise Exception("win_flex not found in PATH. Install winflexbison via choco.")
else:
flex_path = which("flex") flex_path = which("flex")
if not flex_path: if not flex_path:
raise Exception("Flex not found in system PATH. Please install flex on Linux/macOS.") raise Exception("Flex not found in system PATH. Please install flex on Linux/macOS.")