Windows builds

This commit is contained in:
2025-10-22 13:00:03 -05:00
parent aa9f499dd3
commit 28b53729d1
7 changed files with 58 additions and 7 deletions

4
.gitignore vendored
View File

@@ -7,4 +7,6 @@ bin
*.crvm
*.o
*.a
*.exe
*.exe
build-x86
build-x64

View File

@@ -68,12 +68,14 @@ jobs:
interpreter: !DefaultInterpreter
commands: |
apt update -y
apt install -y pkg-config
apt install -y pkg-config git gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gcc-mingw-w64-i686 g++-mingw-w64-i686
cd Packaging/Linux
bash build-ubuntu-jammy.sh
bash push-ubuntu-jammy.sh
cd ../Windows
bash build.sh
apt update -y
apt install -y crosslang git gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gcc-mingw-w64-i686 g++-mingw-w64-i686
apt install -y crosslang
cd ../CPKG
bash pack_and_publish.sh
envVars:
@@ -83,6 +85,26 @@ jobs:
value: '@secret:CPKG_KEY@'
useTTY: true
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !PublishArtifactStep
name: Publish Win32 Installer
sourcePath: Packaging/Windows/build-x86
artifacts: TessesCrossLang-*-win32.exe
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !PublishArtifactStep
name: Publish Win32 ZIP
sourcePath: Packaging/Windows/build-x86
artifacts: TessesCrossLang-*-win32.zip
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !PublishArtifactStep
name: Publish Win64 Installer
sourcePath: Packaging/Windows/build-x64
artifacts: TessesCrossLang-*-win64.exe
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !PublishArtifactStep
name: Publish Win64 ZIP
sourcePath: Packaging/Windows/build-x64
artifacts: TessesCrossLang-*-win64.zip
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
- !CommandStep
name: Build and Publish Deb Package (Plucky)
runInContainer: true

View File

@@ -1,4 +1,3 @@
#!/bin/bash
mkdir compilers
export PATH=$COMPILERS/bin:$PATH
crossint pack.tcross

View File

@@ -66,8 +66,10 @@ func BuildConsoleOrServerWindowsStatic(arch)
FS.Local.CreateDirectory(publish_dir);
var args = ["-S","ConsoleOrServer","-B",build_dir.ToString(),"-DCROSSAPPPUBLISH_STATIC=ON"];
args.Add($"-DCMAKE_TOOLCHAIN_FILE=WindowsToolchains/{arch}.cmake");
var file= ("WindowsToolchains"/$"{arch}.cmake").MakeAbsolute().ToString();
args.Add($"-DCMAKE_TOOLCHAIN_FILE={file}");
Process.Start({
FileName = Env.GetRealExecutablePath("cmake").ToString(),
@@ -89,7 +91,7 @@ func BuildConsoleOrServerWindowsStatic(arch)
maintainer = "Mike Nolan",
repo = "https://onedev.site.tesses.net/crosslang",
homepage = "https://crosslang.tesseslanguage.com/",
executable_name = "crossapp",
executable_name = "crossapp.exe",
executable_can_be_renamed = true,
executable_runtime = $"win-{arch}",
description = $"Runtime files for win-{arch}",

View File

@@ -0,0 +1,7 @@
set(CMAKE_C_COMPILER "/usr/bin/x86_64-w64-mingw32-gcc")
set(CMAKE_CXX_COMPILER "/usr/bin/x86_64-w64-mingw32-g++")
set(CMAKE_C_FLAGS "-static-libgcc -static-libstdc++ -static")
set(CMAKE_CXX_FLAGS "-static-libgcc -static-libstdc++ -static")
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR x86_64)

View File

@@ -0,0 +1,7 @@
set(CMAKE_C_COMPILER "/usr/bin/i686-w64-mingw32-gcc")
set(CMAKE_CXX_COMPILER "/usr/bin/i686-w64-mingw32-g++")
set(CMAKE_C_FLAGS "-static-libgcc -static-libstdc++ -static")
set(CMAKE_CXX_FLAGS "-static-libgcc -static-libstdc++ -static")
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR i686)

View File

@@ -0,0 +1,12 @@
#!/bin/bash
cmake -S ../.. -B build-x86 -DCMAKE_TOOLCHAIN_FILE=`pwd`/WindowsToolchains/x86.cmake -DTESSESFRAMEWORK_FETCHCONTENT=ON -DTESSESFRAMEWORK_ENABLE_APPS=OFF -DTESSESFRAMEWORK_ENABLE_EXAMPLES=OFF -DTESSESFRAMEWORK_ENABLE_STATIC=ON -DTESSESFRAMEWORK_ENABLE_SHARED=OFF -DCMAKE_INSTALL_PREFIX=tmp-x86
cd build-x86
make -j`nproc`
cpack -G NSIS
cpack -G ZIP
cd ..
cmake -S ../.. -B build-x64 -DCMAKE_TOOLCHAIN_FILE=`pwd`/WindowsToolchains/x64.cmake -DTESSESFRAMEWORK_FETCHCONTENT=ON -DTESSESFRAMEWORK_ENABLE_APPS=OFF -DTESSESFRAMEWORK_ENABLE_EXAMPLES=OFF -DTESSESFRAMEWORK_ENABLE_STATIC=ON -DTESSESFRAMEWORK_ENABLE_SHARED=OFF -DCMAKE_INSTALL_PREFIX=tmp-x64
cd build-x64
make -j`nproc`
cpack -G NSIS
cpack -G ZIP