diff --git a/.github/workflows/ccpp_ubuntu_gtk3.yml b/.github/workflows/ccpp_ubuntu_gtk3.yml new file mode 100644 index 000000000..1267c02fc --- /dev/null +++ b/.github/workflows/ccpp_ubuntu_gtk3.yml @@ -0,0 +1,94 @@ +name: C/C++ Nigthly ubuntu + +on: + push: + branches: + - Nigthly + +jobs: + build: + + runs-on: ubuntu-18.04 + + steps: + - uses: actions/checkout@v2 + with: + ref: 'Nigthly' + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init + - name: change date in version + run: sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc + - name: update clock + run: sudo hwclock -s + - name: update apt + run: sudo apt update + - name: install gtk2 glew + run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev + - name: mkdir in deps + run: mkdir deps/build + - name: cmake deps + working-directory: ./deps/build + run: cmake .. -DDEP_WX_GTK3=ON + - name: make deps + working-directory: ./deps/build + run: make + - name: rename wxscintilla + working-directory: ./deps/build/destdir/usr/local/lib + run: cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a + - name: ls libs + working-directory: ./deps/build + run: ls ./destdir/usr/local/lib + - name: clean deps + working-directory: ./deps/build + run: rm -rf dep_* + - name: mkdir build + run: mkdir build + - name: cmake + working-directory: ./build + run: cmake .. -DSLIC3R_GTK=3 -DCMAKE_PREFIX_PATH="/home/runner/work/Slic3r/Slic3r/deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 + - name: make Slic3r + working-directory: ./build + run: make Slic3r + - name: make .mo + working-directory: ./build + run: make gettext_po_to_mo + - name: make .pot + working-directory: ./build + run: make gettext_make_pot + - name: create directory and copy into it + working-directory: ./build + run: | + mkdir package + mkdir package/bin + - name: copy resources + working-directory: ./build + run: cp -Rf ../resources package/resources + - name: copy bin + working-directory: ./build + run: cp -f src/Slic3r package/bin/Slic3r + - name: create sh from echo + working-directory: ./build/package + run: | + echo -e '#!/bin/bash\nDIR=$(readlink -f "$0" | xargs dirname)\nexport LD_LIBRARY_PATH="$DIR/bin"\nexec "$DIR/bin/Slic3r" "$@"' >Slic3r + chmod u+x Slic3r + tar -cvf ../Slic3r.tar . + - name: Upload artifact + uses: actions/upload-artifact@v1.0.0 + with: + name: nightly_linux.tar + path: build/Slic3r.tar + - name: build appimage + working-directory: ./build/package + run: | + chmod +x ../build_appimage.sh + ../build_appimage.sh + - name: 'Tar files' + working-directory: ./build/package + run: tar -cvf Slic3r_ubu64.AppImage.tar Slic3r_ubu64.AppImage + - name: Upload appimage + uses: actions/upload-artifact@v1.0.0 + with: + name: Slic3r-AppImage.tar + path: build/package/Slic3r_ubu64.AppImage.tar + diff --git a/.github/workflows/ccpp_ubuntu_gtk3_debug.yml b/.github/workflows/ccpp_ubuntu_gtk3_debug.yml new file mode 100644 index 000000000..17c599c4a --- /dev/null +++ b/.github/workflows/ccpp_ubuntu_gtk3_debug.yml @@ -0,0 +1,91 @@ +name: C/C++ debug ubuntu + +on: + push: + branches: + - debug_ubuntu + +jobs: + build: + + runs-on: ubuntu-18.04 + + steps: + - uses: actions/checkout@v2 + with: + ref: 'debug_ubuntu' + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init + - name: change date in version + run: sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc + - name: update clock + run: sudo hwclock -s + - name: update apt + run: sudo apt update + - name: install gtk2 glew + run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev + - name: mkdir in deps + run: mkdir deps/build + - name: cmake deps + working-directory: ./deps/build + run: cmake .. -DDEP_WX_GTK3=ON -DCMAKE_BUILD_TYPE=Debug + - name: make deps + working-directory: ./deps/build + run: make + - name: ls libs + working-directory: ./deps/build + run: ls ./destdir/usr/local/lib + - name: rename wxscintilla + working-directory: ./deps/build/destdir/usr/local/lib + run: cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a + - name: clean deps + working-directory: ./deps/build + run: rm -rf dep_* + - name: mkdir build + run: mkdir build + - name: cmake + working-directory: ./build + run: cmake .. -DSLIC3R_GTK=3 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="/home/runner/work/Slic3r/Slic3r/deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 + - name: make Slic3r + working-directory: ./build + run: make Slic3r + - name: make .mo + working-directory: ./build + run: make gettext_po_to_mo + - name: create directory and copy into it + working-directory: ./build + run: | + mkdir package + mkdir package/bin + - name: copy resources + working-directory: ./build + run: cp -Rf ../resources package/resources + - name: copy bin + working-directory: ./build + run: cp -f src/Slic3r package/bin/Slic3r + - name: create sh from echo + working-directory: ./build/package + run: | + echo -e '#!/bin/bash\nDIR=$(readlink -f "$0" | xargs dirname)\nexport LD_LIBRARY_PATH="$DIR/bin"\nexec "$DIR/bin/Slic3r" "$@"' >Slic3r + chmod u+x Slic3r + tar -cvf ../Slic3r.tar . + - name: Upload artifact + uses: actions/upload-artifact@v1.0.0 + with: + name: nightly_linux.tar + path: build/Slic3r.tar + - name: build appimage + working-directory: ./build/package + run: | + chmod +x ../build_appimage.sh + ../build_appimage.sh + - name: 'Tar files' + working-directory: ./build/package + run: tar -cvf Slic3r_ubu64.AppImage.tar Slic3r_ubu64.AppImage + - name: Upload appimage + uses: actions/upload-artifact@v1.0.0 + with: + name: Slic3r-AppImage.tar + path: build/package/Slic3r_ubu64.AppImage.tar + diff --git a/.github/workflows/ccpp_ubuntu_gtk3_rc.yml b/.github/workflows/ccpp_ubuntu_gtk3_rc.yml new file mode 100644 index 000000000..961a76b48 --- /dev/null +++ b/.github/workflows/ccpp_ubuntu_gtk3_rc.yml @@ -0,0 +1,94 @@ +name: C/C++ Nigthly ubuntu + +on: + push: + branches: + - rc + +jobs: + build: + + runs-on: ubuntu-18.04 + + steps: + - uses: actions/checkout@v2 + with: + ref: 'rc' + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init + - name: change date in version + run: sed -i "s/+UNKNOWN//" version.inc + - name: update clock + run: sudo hwclock -s + - name: update apt + run: sudo apt update + - name: install gtk2 glew + run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev + - name: mkdir in deps + run: mkdir deps/build + - name: cmake deps + working-directory: ./deps/build + run: cmake .. -DDEP_WX_GTK3=ON + - name: make deps + working-directory: ./deps/build + run: make + - name: rename wxscintilla + working-directory: ./deps/build/destdir/usr/local/lib + run: cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a + - name: ls libs + working-directory: ./deps/build + run: ls ./destdir/usr/local/lib + - name: clean deps + working-directory: ./deps/build + run: rm -rf dep_* + - name: mkdir build + run: mkdir build + - name: cmake + working-directory: ./build + run: cmake .. -DSLIC3R_GTK=3 -DCMAKE_PREFIX_PATH="/home/runner/work/Slic3r/Slic3r/deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 + - name: make Slic3r + working-directory: ./build + run: make Slic3r + - name: make .mo + working-directory: ./build + run: make gettext_po_to_mo + - name: make .pot + working-directory: ./build + run: make gettext_make_pot + - name: create directory and copy into it + working-directory: ./build + run: | + mkdir package + mkdir package/bin + - name: copy resources + working-directory: ./build + run: cp -Rf ../resources package/resources + - name: copy bin + working-directory: ./build + run: cp -f src/Slic3r package/bin/Slic3r + - name: create sh from echo + working-directory: ./build/package + run: | + echo -e '#!/bin/bash\nDIR=$(readlink -f "$0" | xargs dirname)\nexport LD_LIBRARY_PATH="$DIR/bin"\nexec "$DIR/bin/Slic3r" "$@"' >Slic3r + chmod u+x Slic3r + tar -cvf ../Slic3r.tar . + - name: Upload artifact + uses: actions/upload-artifact@v1.0.0 + with: + name: rc_linux.tar + path: build/Slic3r.tar + - name: build appimage + working-directory: ./build/package + run: | + chmod +x ../build_appimage.sh + ../build_appimage.sh + - name: 'Tar files' + working-directory: ./build/package + run: tar -cvf Slic3r_ubu64.AppImage.tar Slic3r_ubu64.AppImage + - name: Upload appimage + uses: actions/upload-artifact@v1.0.0 + with: + name: rc-Slic3r-AppImage.tar + path: build/package/Slic3r_ubu64.AppImage.tar + diff --git a/BuildLinux.sh b/BuildLinux.sh index 189b08914..ac51175a3 100755 --- a/BuildLinux.sh +++ b/BuildLinux.sh @@ -48,24 +48,38 @@ then mkdir build fi +FOUND_GTK2=$(dpkg -l libgtk* | grep gtk2) +FOUND_GTK3=$(dpkg -l libgtk* | grep gtk-3) + if [[ -n "$UPDATE_LIB" ]] then - echo -n "Updating linux ..." + echo -n -e "Updating linux ...\n" hwclock -s apt update - apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git - echo "done" + if [[ -z "$FOUND_GTK3" ]] + then + echo -e "\nInstalling: libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n" + apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git + else + echo -e "\nFind libgtk-3, installing: libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git\n" + apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev cmake git + fi + echo -e "done\n" exit 0 fi -FOUND_GTK2=$(dpkg -l libgtk* | grep gtk2.0-dev) +FOUND_GTK2_DEV=$(dpkg -l libgtk* | grep gtk2.0-dev) +FOUND_GTK3_DEV=$(dpkg -l libgtk* | grep gtk-3-dev) echo "FOUND_GTK2=$FOUND_GTK2)" -if [[ -z "$FOUND_GTK2" ]] +if [[ -z "$FOUND_GTK2_DEV" ]] +then +if [[ -z "$FOUND_GTK3_DEV" ]] then echo "Error, you must install the dependencies before." echo "Use option -u with sudo" exit 0 fi +fi echo "[1/9] Updating submodules..." { @@ -96,7 +110,14 @@ then # cmake deps pushd deps/build - cmake .. + if [[ -z "$FOUND_GTK3_DEV" ]] + then + echo -e "\nusing GTK2\n" + cmake .. + else + echo -e "\nusing GTK3\n" + cmake .. -DDEP_WX_GTK3=ON + fi # &> $ROOT/build/Build.log # Capture all command output echo "done" @@ -113,7 +134,12 @@ then # rename wxscintilla pushd destdir/usr/local/lib - cp libwxscintilla-3.1.a libwx_gtk2u_scintilla-3.1.a + if [[ -z "$FOUND_GTK3_DEV" ]] + then + cp libwxscintilla-3.1.a libwx_gtk2u_scintilla-3.1.a + else + cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a + fi popd # &> $ROOT/build/Build.log # Capture all command output echo "done" @@ -133,7 +159,12 @@ then # cmake pushd build - cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 + if [[ -z "$FOUND_GTK3_DEV" ]] + then + cmake .. -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 + else + cmake .. -DSLIC3R_GTK=3 -DCMAKE_PREFIX_PATH="$PWD/../deps/build/destdir/usr/local" -DSLIC3R_STATIC=1 + fi # &> $ROOT/build/Build.log # Capture all command output echo "done"