forked from eternalcodes/EternalJK
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge latest OpenJK PR (JACoders#1173)
* Fix up some context usage and normalise cmake options * parallelise builds, split EternalJK steps on windows * looks like the python shell is v2 with no f-strings * alternative per-platform methods for obtaining the processor count * Add UseInternalLibs cmake option to default all libs to internal * remove unnecessary game path from create-latest step * allow changes to CMake project files to trigger builds (cherry picked from commit 137f55a)
- Loading branch information
Showing
3 changed files
with
67 additions
and
74 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,7 +8,6 @@ on: | |
- beta | ||
paths-ignore: | ||
- "**.md" | ||
- "*.txt" | ||
- ".gitignore" | ||
- "docs/*" | ||
pull_request: | ||
|
@@ -17,7 +16,6 @@ on: | |
- beta | ||
paths-ignore: | ||
- "**.md" | ||
- "*.txt" | ||
- ".gitignore" | ||
- "docs/*" | ||
release: | ||
|
@@ -48,35 +46,36 @@ jobs: | |
uses: microsoft/[email protected] | ||
|
||
- name: Create Build Environment | ||
run: cmake -E make_directory ${{ runner.workspace }}/build | ||
run: cmake -E make_directory ${{ github.workspace }}/build | ||
|
||
- name: Configure CMake | ||
shell: bash | ||
working-directory: ${{ runner.workspace }}/build | ||
working-directory: ${{ github.workspace }}/build | ||
run: | | ||
OPTIONS="-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=bin" | ||
if [ "${{ matrix.portable }}" == "Portable" ]; then | ||
OPTIONS="-DCMAKE_BUILD_TYPE=${{ runner.build_type }} -DBuildPortableVersion=ON -DCMAKE_INSTALL_PREFIX=bin" | ||
OPTIONS+=" -DBuildPortableVersion=ON" | ||
else | ||
OPTIONS="-DCMAKE_BUILD_TYPE=${{ runner.build_type }} -DBuildPortableVersion=OFF -DCMAKE_INSTALL_PREFIX=bin" | ||
OPTIONS+=" -DBuildPortableVersion=OFF" | ||
fi | ||
cmake $GITHUB_WORKSPACE -A ${{ matrix.platform }} $OPTIONS | ||
- name: Build | ||
working-directory: ${{ runner.workspace }}/build | ||
working-directory: ${{ github.workspace }}/build | ||
shell: bash | ||
run: cmake --build . --config ${{ matrix.build_type }} | ||
run: cmake --build . --config ${{ matrix.build_type }} -j $NUMBER_OF_PROCESSORS | ||
|
||
- name: Install | ||
if: ${{ matrix.build_type == 'Release' }} | ||
working-directory: ${{ runner.workspace }}/build | ||
if: ${{ matrix.build_type == 'Release' }} | ||
working-directory: ${{ github.workspace }}/build | ||
shell: bash | ||
run: cmake --install . --config ${{ matrix.build_type }} | ||
|
||
- uses: actions/upload-artifact@v3 | ||
if: ${{ matrix.build_type == 'Release' }} | ||
if: ${{ matrix.build_type == 'Release' }} | ||
with: | ||
name: TaystJK-windows-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }} | ||
path: ${{ runner.workspace }}/build/bin | ||
path: ${{ github.workspace }}/build/bin/JediAcademy | ||
if-no-files-found: error | ||
|
||
msvcxp: | ||
|
@@ -114,36 +113,36 @@ jobs: | |
uses: microsoft/[email protected] | ||
|
||
- name: Create Build Environment | ||
run: cmake -E make_directory ${{ runner.workspace }}/build | ||
run: cmake -E make_directory ${{ github.workspace }}/build | ||
|
||
- name: Configure CMake | ||
shell: bash | ||
working-directory: ${{ runner.workspace }}/build | ||
working-directory: ${{ github.workspace }}/build | ||
run: | | ||
OPTIONS="-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=bin" | ||
if [ "${{ matrix.portable }}" == "Portable" ]; then | ||
OPTIONS="-DCMAKE_BUILD_TYPE=${{ runner.build_type }} -DBuildPortableVersion=ON -DCMAKE_INSTALL_PREFIX=bin" | ||
OPTIONS+=" -DBuildPortableVersion=ON" | ||
else | ||
OPTIONS="-DCMAKE_BUILD_TYPE=${{ runner.build_type }} -DBuildPortableVersion=OFF -DCMAKE_INSTALL_PREFIX=bin" | ||
OPTIONS+=" -DBuildPortableVersion=OFF" | ||
fi | ||
cmake $GITHUB_WORKSPACE -T v141_xp -A ${{ matrix.platform }} $OPTIONS | ||
- name: Build | ||
working-directory: ${{ runner.workspace }}/build | ||
working-directory: ${{ github.workspace }}/build | ||
shell: bash | ||
run: cmake --build . --config ${{ matrix.build_type }} | ||
run: cmake --build . --config ${{ matrix.build_type }} -j $NUMBER_OF_PROCESSORS | ||
|
||
- name: Install | ||
if: ${{ matrix.build_type == 'Release' }} | ||
working-directory: ${{ runner.workspace }}/build | ||
working-directory: ${{ github.workspace }}/build | ||
shell: bash | ||
run: | | ||
cmake --install . --config ${{ matrix.build_type }} | ||
run: cmake --install . --config ${{ matrix.build_type }} | ||
|
||
- uses: actions/upload-artifact@v3 | ||
if: ${{ matrix.build_type == 'Release' }} | ||
if: ${{ matrix.build_type == 'Release' }} | ||
with: | ||
name: TaystJK-windowsxp-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }} | ||
path: ${{ runner.workspace }}/build/bin | ||
path: ${{ github.workspace }}/build/bin/JediAcademy | ||
if-no-files-found: error | ||
|
||
ubuntu: | ||
|
@@ -172,52 +171,44 @@ jobs: | |
sudo apt-get -qq update | ||
sudo apt-get install libjpeg-dev libpng-dev zlib1g-dev libsdl2-dev | ||
fi | ||
cmake -E make_directory ${{ runner.workspace }}/build | ||
cmake -E make_directory ${{ github.workspace }}/build | ||
- name: Configure CMake | ||
shell: bash | ||
working-directory: ${{ runner.workspace }}/build | ||
working-directory: ${{ github.workspace }}/build | ||
run: | | ||
OPTIONS="-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install" | ||
if [ "${{ matrix.portable }}" == "Portable" ]; then | ||
OPTIONS="-DUseInternalLibs=ON -DBuildPortableVersion=ON -DBuildDiscordRichPresence=OFF -DCMAKE_INSTALL_PREFIX=${{ runner.workspace }}/install" | ||
OPTIONS+=" -DUseInternalLibs=ON -DBuildPortableVersion=ON" | ||
else | ||
OPTIONS="-DUseInternalLibs=OFF -DBuildPortableVersion=OFF -DBuildDiscordRichPresence=OFF -DCMAKE_INSTALL_PREFIX=${{ runner.workspace }}/install" | ||
OPTIONS+=" -DUseInternalLibs=OFF -DBuildPortableVersion=OFF" | ||
fi | ||
if [ ${{ matrix.arch }} == "x86" ]; then | ||
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} $OPTIONS -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchains/linux-i686.cmake | ||
else | ||
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} $OPTIONS | ||
OPTIONS+=" -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchains/linux-i686.cmake" | ||
fi | ||
cmake $GITHUB_WORKSPACE $OPTIONS | ||
- name: Build | ||
working-directory: ${{ runner.workspace }}/build | ||
working-directory: ${{ github.workspace }}/build | ||
shell: bash | ||
run: cmake --build . | ||
run: cmake --build . -j $(nproc) | ||
|
||
- name: Install | ||
if: ${{ matrix.build_type == 'Release' }} | ||
working-directory: ${{ runner.workspace }}/build | ||
working-directory: ${{ github.workspace }}/build | ||
shell: bash | ||
run: cmake --install . | ||
|
||
- name: Create binary archive | ||
if: ${{ matrix.build_type == 'Release' }} | ||
working-directory: ${{ runner.workspace }}/install/JediAcademy | ||
working-directory: ${{ github.workspace }}/install/JediAcademy | ||
shell: bash | ||
run: | | ||
if [ ${{ matrix.arch }} == "x86" ]; then | ||
chmod +x eternaljk.i386 | ||
else | ||
chmod +x eternaljk.${{ matrix.arch }} | ||
fi | ||
tar -zcvf TaystJK-linux-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }}.tar.gz * | ||
run: tar -czvf TaystJK-linux-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }}.tar.gz * | ||
|
||
- uses: actions/upload-artifact@v3 | ||
if: ${{ matrix.build_type == 'Release' }} | ||
with: | ||
name: TaystJK-linux-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }} | ||
path: ${{runner.workspace}}/install/JediAcademy/TaystJK-linux-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }}.tar.gz | ||
path: ${{github.workspace}}/install/JediAcademy/TaystJK-linux-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }}.tar.gz | ||
if-no-files-found: error | ||
|
||
macos: | ||
|
@@ -236,43 +227,44 @@ jobs: | |
- name: Create Build Environment | ||
run: | | ||
brew install zlib libjpeg libpng sdl2 | ||
cmake -E make_directory ${{ runner.workspace }}/build | ||
cmake -E make_directory ${{ github.workspace }}/build | ||
- name: Configure CMake | ||
shell: bash | ||
working-directory: ${{ runner.workspace }}/build | ||
working-directory: ${{ github.workspace }}/build | ||
run: | | ||
OPTIONS="-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install" | ||
if [ "${{ matrix.portable }}" == "Portable" ]; then | ||
OPTIONS="-DCMAKE_BUILD_TYPE=${{ runner.build_type }} -DUseInternalLibs=ON -DBuildPortableVersion=ON -DBuildDiscordRichPresence=OFF -DCMAKE_INSTALL_PREFIX=${{ runner.workspace }}/install" | ||
OPTIONS+=" -DUseInternalLibs=ON -DBuildPortableVersion=ON" | ||
else | ||
OPTIONS="-DCMAKE_BUILD_TYPE=${{ runner.build_type }} -DUseInternalLibs=OFF -DBuildPortableVersion=OFF -DBuildDiscordRichPresence=OFF -DCMAKE_INSTALL_PREFIX=${{ runner.workspace }}/install" | ||
OPTIONS+=" -DUseInternalLibs=OFF -DBuildPortableVersion=OFF" | ||
fi | ||
cmake $GITHUB_WORKSPACE $OPTIONS | ||
- name: Build | ||
working-directory: ${{ runner.workspace }}/build | ||
working-directory: ${{ github.workspace }}/build | ||
shell: bash | ||
run: cmake --build . | ||
run: cmake --build . -j $(getconf _NPROCESSORS_ONLN) | ||
|
||
- name: Install | ||
if: ${{ matrix.build_type == 'Release' }} | ||
working-directory: ${{ runner.workspace }}/build | ||
working-directory: ${{ github.workspace }}/build | ||
shell: bash | ||
run: cmake --install . | ||
|
||
- name: Create binary archive | ||
if: ${{ matrix.build_type == 'Release' }} | ||
working-directory: ${{ runner.workspace }}/install/JediAcademy | ||
working-directory: ${{ github.workspace }}/install/JediAcademy | ||
shell: bash | ||
run: | | ||
chmod +x eternaljk.x86_64.app/Contents/MacOS/eternaljk.x86_64 | ||
tar -zcvf TaystJK-macos-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }}.tar.gz * | ||
tar -czvf TaystJK-macos-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }}.tar.gz * | ||
- uses: actions/upload-artifact@v3 | ||
if: ${{ matrix.build_type == 'Release' }} | ||
with: | ||
name: TaystJK-macos-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }} | ||
path: ${{ runner.workspace }}/install/JediAcademy/TaystJK-macos-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }}.tar.gz | ||
path: ${{ github.workspace }}/install/JediAcademy/TaystJK-macos-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.portable }}.tar.gz | ||
if-no-files-found: error | ||
|
||
create-latest: | ||
|
@@ -289,11 +281,11 @@ jobs: | |
|
||
- name: Create binary archives | ||
run: | | ||
7z a -r TaystJK-windows-x86.zip ./TaystJK-windows-x86-Release-Non-Portable/* '-x!msvcp*.*' '-x!vcruntime*.*' '-x!concrt*.*' | ||
7z a -r TaystJK-windows-x86_64.zip ./TaystJK-windows-x86_64-Release-Non-Portable/* '-x!msvcp*.*' '-x!vcruntime*.*' '-x!concrt*.*' | ||
mv ./TaystJK-linux-x86-Release-Non-Portable/* TaystJK-linux-x86.tar.gz | ||
mv ./TaystJK-linux-x86_64-Release-Non-Portable/* TaystJK-linux-x86_64.tar.gz | ||
mv ./TaystJK-macos-x86_64-Release-Non-Portable/* TaystJK-macos-x86_64.tar.gz | ||
7z a -r TaystJK-windows-x86.zip ./TaystJK-windows-x86-Release-Non-Portable/* '-x!msvcp*.*' '-x!vcruntime*.*' '-x!concrt*.*' | ||
7z a -r TaystJK-windows-x86_64.zip ./TaystJK-windows-x86_64-Release-Non-Portable/* '-x!msvcp*.*' '-x!vcruntime*.*' '-x!concrt*.*' | ||
mv ./TaystJK-linux-x86-Release-Non-Portable/* TaystJK-linux-x86.tar.gz | ||
mv ./TaystJK-linux-x86_64-Release-Non-Portable/* TaystJK-linux-x86_64.tar.gz | ||
mv ./TaystJK-macos-x86_64-Release-Non-Portable/* TaystJK-macos-x86_64.tar.gz | ||
- name: Create latest build | ||
uses: ModeSevenIndustrialSolutions/action-automatic-releases@latest | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters