mirror of
https://onedev.site.tesses.net/crosslang
synced 2026-02-08 09:05:46 +00:00
Windows builds
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -7,4 +7,6 @@ bin
|
|||||||
*.crvm
|
*.crvm
|
||||||
*.o
|
*.o
|
||||||
*.a
|
*.a
|
||||||
*.exe
|
*.exe
|
||||||
|
build-x86
|
||||||
|
build-x64
|
||||||
@@ -68,12 +68,14 @@ jobs:
|
|||||||
interpreter: !DefaultInterpreter
|
interpreter: !DefaultInterpreter
|
||||||
commands: |
|
commands: |
|
||||||
apt update -y
|
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
|
cd Packaging/Linux
|
||||||
bash build-ubuntu-jammy.sh
|
bash build-ubuntu-jammy.sh
|
||||||
bash push-ubuntu-jammy.sh
|
bash push-ubuntu-jammy.sh
|
||||||
|
cd ../Windows
|
||||||
|
bash build.sh
|
||||||
apt update -y
|
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
|
cd ../CPKG
|
||||||
bash pack_and_publish.sh
|
bash pack_and_publish.sh
|
||||||
envVars:
|
envVars:
|
||||||
@@ -83,6 +85,26 @@ jobs:
|
|||||||
value: '@secret:CPKG_KEY@'
|
value: '@secret:CPKG_KEY@'
|
||||||
useTTY: true
|
useTTY: true
|
||||||
condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL
|
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
|
- !CommandStep
|
||||||
name: Build and Publish Deb Package (Plucky)
|
name: Build and Publish Deb Package (Plucky)
|
||||||
runInContainer: true
|
runInContainer: true
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
mkdir compilers
|
mkdir compilers
|
||||||
export PATH=$COMPILERS/bin:$PATH
|
|
||||||
crossint pack.tcross
|
crossint pack.tcross
|
||||||
@@ -66,8 +66,10 @@ func BuildConsoleOrServerWindowsStatic(arch)
|
|||||||
FS.Local.CreateDirectory(publish_dir);
|
FS.Local.CreateDirectory(publish_dir);
|
||||||
|
|
||||||
var args = ["-S","ConsoleOrServer","-B",build_dir.ToString(),"-DCROSSAPPPUBLISH_STATIC=ON"];
|
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({
|
Process.Start({
|
||||||
FileName = Env.GetRealExecutablePath("cmake").ToString(),
|
FileName = Env.GetRealExecutablePath("cmake").ToString(),
|
||||||
@@ -89,7 +91,7 @@ func BuildConsoleOrServerWindowsStatic(arch)
|
|||||||
maintainer = "Mike Nolan",
|
maintainer = "Mike Nolan",
|
||||||
repo = "https://onedev.site.tesses.net/crosslang",
|
repo = "https://onedev.site.tesses.net/crosslang",
|
||||||
homepage = "https://crosslang.tesseslanguage.com/",
|
homepage = "https://crosslang.tesseslanguage.com/",
|
||||||
executable_name = "crossapp",
|
executable_name = "crossapp.exe",
|
||||||
executable_can_be_renamed = true,
|
executable_can_be_renamed = true,
|
||||||
executable_runtime = $"win-{arch}",
|
executable_runtime = $"win-{arch}",
|
||||||
description = $"Runtime files for win-{arch}",
|
description = $"Runtime files for win-{arch}",
|
||||||
|
|||||||
7
Packaging/Windows/WindowsToolchains/x64.cmake
Normal file
7
Packaging/Windows/WindowsToolchains/x64.cmake
Normal 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)
|
||||||
7
Packaging/Windows/WindowsToolchains/x86.cmake
Normal file
7
Packaging/Windows/WindowsToolchains/x86.cmake
Normal 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)
|
||||||
12
Packaging/Windows/build.sh
Normal file
12
Packaging/Windows/build.sh
Normal 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
|
||||||
Reference in New Issue
Block a user