Skip to content

Harbour for Windows 32 using BCC #126

Harbour for Windows 32 using BCC

Harbour for Windows 32 using BCC #126

name: Harbour for Windows 32 using BCC
on:
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
if: github.actor == github.event.repository.owner.login
steps:
- name: Checkout harbour/core repo
uses: actions/checkout@v3
with:
repository: harbour/core
path: harbour
- name: Install dependencies
run: |
(new-object System.Net.WebClient).DownloadFile('https://bitbucket.org/lorenzodla/mod_harbour_actions_resources/downloads/OpenSSL-Win32.zip', 'C:\temp\OpenSSL-Win32.zip')
Expand-Archive -LiteralPath C:\temp\OpenSSL-Win32.zip -DestinationPath C:\OpenSSL -Force
(new-object System.Net.WebClient).DownloadFile('https://bitbucket.org/lorenzodla/mod_harbour_actions_resources/downloads/curl-7.54.0-win32-mingw.zip', 'C:\temp\curl-7.54.0-win32-mingw.zip')
Expand-Archive -LiteralPath C:\temp\curl-7.54.0-win32-mingw.zip -DestinationPath C:\curl -Force
(new-object System.Net.WebClient).DownloadFile('https://github.com/FiveTechSoft/Harbour_builder/raw/master/.github/temp/win32/bcc7/libcurl.lib', 'C:\temp\libcurl.zip')
(new-object System.Net.WebClient).DownloadFile('https://github.com/FiveTechSoft/Harbour_builder/raw/master/.github/temp/bcc70.zip', 'C:\temp\bcc70.zip')
Expand-Archive -LiteralPath C:\temp\bcc70.zip -DestinationPath C:\bcc7 -Force
(new-object System.Net.WebClient).DownloadFile('https://bitbucket.org/lorenzodla/mod_harbour_actions_resources/downloads/acesdk.zip', 'C:\temp\acesdk.zip')
Expand-Archive -LiteralPath C:\temp\acesdk.zip -DestinationPath C:\acesdk -Force
- name: Compile Harbour
shell: cmd
run: |
cd harbour
set path=c:\bcc7\bin
set HB_BUILD_MODE=c
set HB_USER_PRGFLAGS=-l-
set HB_BUILD_CONTRIBS=
set HB_WITH_OPENSSL=C:\OpenSSL\include
set HB_WITH_CURL=C:\curl\include
set HB_WITH_ADS=C:\acesdk
set HB_STATIC_OPENSSL=yes
set HB_STATIC_CURL=yes
set HB_COMPILER=bcc
SET HB_BUILD_CONTRIB_DYN=no
SET HB_BUILD_DYN=no
set HB_USER_RESFLAGS=-Ic:\bcc7\include\windows\sdk\
win-make.exe
- name: Create output folders
shell: cmd
run: |
mkdir output
mkdir output\bin
copy harbour\bin\win\bcc\*.exe output\bin
mkdir output\lib
copy harbour\lib\win\bcc\*.lib output\lib
copy temp\libcurl.lib output\lib
mkdir output\include
copy harbour\include output\include
- name: Get current time
id: current-time
uses: Kaven-Universe/github-action-current-date-time@v1
with:
format: "yyyyMMdd"
- name: Upload Harbour to artifact
env:
TIME: "${{ steps.current-date-time.outputs.formattedTime }}"
uses: actions/upload-artifact@v3
with:
name: harbour_win32_bcc_${{ env.TIME }}
path: output