diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a4984532..f4bc31d7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,10 +42,10 @@ jobs: # the two letter short form could be removed if JA2LangPrefix is removed # the casing of the long form adheres to the one found in the gamedir-languages repo # for compilation only, the long form is transformed to upper case - languages_json_array='["CN_Chinese", "DE_German", "EN_English", "FR_French", "PL_Polish", "IT_Italian", "NL_Dutch", "RU_Russian"]'; + languages_json_array='["Chinese", "German", "English", "French", "Polish", "Italian", "Dutch", "Russian"]'; else # English + some other language for compilation testing - languages_json_array='["DE_German", "EN_English"]' + languages_json_array='["German", "English"]' fi echo "languages_json_array=$languages_json_array" >> $GITHUB_OUTPUT @@ -173,7 +173,7 @@ jobs: language: ${{ matrix.language }} assemble: ${{ needs.workflow_setup.outputs.assemble_release == 'true' }} # at least English and some other lang have to work - continue-on-error: ${{ matrix.language != 'EN_English' && matrix.language != 'DE_German' }} + continue-on-error: ${{ matrix.language != 'English' && matrix.language != 'German' }} release: needs: [ workflow_setup, build ] diff --git a/.github/workflows/build_language.yml b/.github/workflows/build_language.yml index 631bf45e..40a75f37 100644 --- a/.github/workflows/build_language.yml +++ b/.github/workflows/build_language.yml @@ -4,9 +4,9 @@ on: workflow_call: inputs: language: - description: 'any of CN_Chinese DE_German EN_English FR_French PL_Polish IT_Italian NL_Dutch RU_Russian' + description: 'any of Chinese German English French Polish Italian Dutch Russian' required: true - default: 'EN_English' + default: 'English' type: string assemble: description: 'assemble full package' @@ -53,60 +53,45 @@ jobs: sed -i "s|@Build@|${GAME_BUILD:0:255}|" GameVersion.cpp cat GameVersion.cpp - # not sure if needed as per Language Defines.h, but only here can we set both defines I think - - name: Update builddefines.h - if: ${{ startsWith(matrix.application, 'ja2ub') }} - shell: bash - run: | - set -eux - sed -i 's/\/\/#define JA2UB/#define JA2UB/' builddefines.h - sed -i 's/\/\/#define JA2UBMAPS/#define JA2UBMAPS/' builddefines.h - cat builddefines.h - - name: Prepare build properties shell: bash run: | set -eux - if [[ '${{ matrix.application }}' == *'mapeditor' ]] - then - Configuration='MapEditor' - else - Configuration='Release' - fi + cp -a CMakeUserPresets_VS2022.json CMakeUserPresets.json - INPUTS_LANGUAGE='${{ inputs.language }}' - JA2LangPrefix="${INPUTS_LANGUAGE:0:2}" - JA2Language=$(echo "${INPUTS_LANGUAGE:3}" | tr '[:lower:]' '[:upper:]') - - if [[ '${{ matrix.application }}' == 'ja2ub'* ]] - then - JA2Config='JA2UB' - else - JA2Config='JA2' - fi + JA2Language=$(echo '${{ inputs.language }}' | tr '[:lower:]' '[:upper:]') + JA2Application=$(echo '${{ matrix.application }}' | tr '[:lower:]' '[:upper:]') echo " - Configuration=$Configuration - JA2LangPrefix=$JA2LangPrefix JA2Language=$JA2Language - JA2Config=$JA2Config + JA2Application=$JA2Application " >> $GITHUB_ENV - uses: microsoft/setup-msbuild@v1.1 + with: + msbuild-architecture: x86 + - uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x86 + - name: Prepare build + run: | + cmake -S . -B build -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" ` + -DLanguages="$Env:JA2Language" ` + -DApplications="$Env:JA2Application" - name: Build run: | - msbuild ja2_VS2019.sln ` - /p:Configuration=$Env:Configuration ` - /p:JA2LangPrefix=$Env:JA2LangPrefix ` - /p:JA2Language=$Env:JA2Language ` - /p:JA2Config=$Env:JA2Config + cmake --build build/ + - name: List build artifacts + shell: bash + run: | + find build/ - name: Upload uses: actions/upload-artifact@v3 with: name: ${{ inputs.language }}_${{ matrix.application }} - path: bin/VS2013/ + path: build/*.exe assemble: needs: [ compile ] @@ -132,7 +117,7 @@ jobs: path: gamedir - name: Checkout gamedir-languages - if: inputs.language != 'EN_English' + if: inputs.language != 'English' uses: actions/checkout@v3 with: repository: ${{ env.GAMEDIR_LANGUAGES_REPOSITORY }} @@ -140,13 +125,11 @@ jobs: path: gamedir-languages - name: Copy gamedir-languages files to gamedir - if: inputs.language != 'EN_English' + if: inputs.language != 'English' shell: bash run: | set -eux - DIST_LANG='${{ inputs.language }}' - GAMEDIR_LANGUAGE="${DIST_LANG:3}" - cp -a gamedir-languages/${GAMEDIR_LANGUAGE}_Version/* gamedir/ + cp -a gamedir-languages/${{ inputs.language }}_Version/* gamedir/ - name: Download ja2 uses: actions/download-artifact@v3