use cmake for build package

This commit is contained in:
Егор 2024-11-08 15:33:38 +00:00
parent 45d8910f84
commit 83b9582c31
7 changed files with 55 additions and 28 deletions

View File

@ -47,24 +47,29 @@ jobs:
kos32-gcc -v kos32-gcc -v
shell: cmd shell: cmd
build-Installer:
runs-on: windowd-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target Installer
build-package: build-package:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: build - name: Build
run: ${{ github.workspace }}/./build-package.sh run: |
cmake -B ${{ github.workspace }}/build
cmake --build ${{ github.workspace }}/build --target Package
- name: Install package - name: Install package
run: sudo apt install ${{ github.workspace }}/package.deb run: sudo apt install ${{ github.workspace }}/package.deb
- name: Add toolchain to path - name: Add toolchain to path
run: echo "/home/autobuild/tools/win32/bin" >> $GITHUB_PATH run: echo "/home/autobuild/tools/win32/bin" >> $GITHUB_PATH
- name: Test run
run: |
kos32-g++ -v
kos32-gcc -v

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
Output/ Output/
package/DEBIAN/postinst package/DEBIAN/postinst
package.deb package.deb
build/

19
CMakeLists.txt Normal file
View File

@ -0,0 +1,19 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
project(
KolibriOS-gcc-Toolchain-installer
DESCRIPTION "Installer of gcc toolchain for KolibriOS"
)
add_custom_target(
Package
COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/install.sh ${CMAKE_CURRENT_SOURCE_DIR}/package/DEBIAN/postinst
COMMAND dpkg-deb --build ${CMAKE_CURRENT_SOURCE_DIR}/package ${CMAKE_CURRENT_BINARY_DIR}/package.deb
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_custom_target(
Installer
COMMAND iscc /O"${CMAKE_CURRENT_BINARY_DIR}" ${CMAKE_CURRENT_SOURCE_DIR}/installator.iss
)

View File

@ -1,4 +0,0 @@
cp -f install.sh package/DEBIAN/postinst
dpkg-deb --build ./package

View File

@ -28,6 +28,10 @@ check_utils(){
fi fi
} }
pwd
TOOLCHAIN_DIR="/home/autobuild/tools"
print_msg "Checking utilities..." print_msg "Checking utilities..."
@ -40,9 +44,7 @@ check_utils 7z
print_msg "Create the /home/autobuild folder..." print_msg "Create the /home/autobuild folder..."
sudo rm -rf ~/autobuild /home/autobuild mkdir -fp $TOOLCHAIN_DIR
mkdir -p ~/autobuild/tools
sudo ln -sf ~/autobuild /home/autobuild
print_ok "Successfully!" print_ok "Successfully!"
@ -50,7 +52,7 @@ print_ok "Successfully!"
print_msg "Download the kos32-gcc toolchain..." print_msg "Download the kos32-gcc toolchain..."
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -q -O ~/autobuild/tools/kos32-toolchain.7z wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -q -O $TOOLCHAIN_DIR/kos32-toolchain.7z
print_ok "Successfully!" print_ok "Successfully!"
@ -58,7 +60,7 @@ print_ok "Successfully!"
print_msg "Extracting files ..." print_msg "Extracting files ..."
cd ~/autobuild/tools/ cd $TOOLCHAIN_DIR
7z x -y kos32-toolchain.7z 7z x -y kos32-toolchain.7z
rm -rf kos32-toolchain.7z rm -rf kos32-toolchain.7z
@ -68,7 +70,7 @@ print_ok "Successfully!"
print_msg "Downloading libraries..." print_msg "Downloading libraries..."
cd ~/autobuild/tools/win32/mingw32 cd $TOOLCHAIN_DIR/win32/mingw32
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -q -O sdk-28-10-16.7z wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -q -O sdk-28-10-16.7z
7z x -y sdk-28-10-16.7z 7z x -y sdk-28-10-16.7z
rm -rf sdk-28-10-16.7z rm -rf sdk-28-10-16.7z
@ -121,10 +123,12 @@ sudo ln -sf /usr/lib/libmpfr.so.6 /usr/lib/libmpfr.so.4
print_ok "Successfully!" print_ok "Successfully!"
if ! grep -q 'export PATH=$PATH:/home/autobuild/tools/win32/bin' ~/.bashrc; then if ! grep -q 'export PATH=$PATH:$TOOLCHAIN_DIR/win32/bin' ~/.bashrc; then
export PATH=$PATH:/home/autobuild/tools/win32/bin export PATH=$PATH:/home/autobuild/tools/win32/bin
print_msg "Adding '/home/autobuild/tools/win32/bin' to '~/.bashrc'" print_msg "Adding '$TOOLCHAIN_DIR/win32/bin' to '~/.bashrc'"
echo 'export PATH=$PATH:/home/autobuild/tools/win32/bin' >> ~/.bashrc echo 'export PATH=$PATH:$TOOLCHAIN_DIR/win32/bin' >> ~/.bashrc
fi fi
cd "$OLDPWD"
print_ok "Installation was successful!" print_ok "Installation was successful!"

View File

@ -7,5 +7,6 @@ Depends: libc6-i386:amd64, libmpc3:amd64
Pre-Depends: p7zip, wget Pre-Depends: p7zip, wget
Recommends: fasm Recommends: fasm
Priority: optional Priority: optional
Origin: https://github.com/Egor00f/kolibrios-gcc-toolchain, Origin: https://github.com/Egor00f/kolibrios-gcc-toolchain
Maintainer: Egor00f Maintainer: Egor00f <velikiydolbayeb@gmail.com>
Installed-Size: 131708

View File

@ -1,2 +1,3 @@
#!/bin/bash
rm -R /home/autobuild/tools/win32 rm -R /home/autobuild/tools/win32