Browse Source

package/ci: build in parallel also on iOS.

FUCKING stupid defaults. CMake's default no less stupid. I'm MAD, why
would anybody even want to have the build run sequentially on todays
machines?! If your build is crap and can't run in parallel, FIX YOUR
CODE, but don't make the other 99% users suffer!!
pull/578/head
Vladimír Vondruš 4 years ago
parent
commit
67d37c9ed5
  1. 4
      package/ci/circleci.yml
  2. 8
      package/ci/ios-simulator-gles.sh

4
package/ci/circleci.yml

@ -589,6 +589,10 @@ jobs:
environment: environment:
# STUPID yml interprets unquoted ON as a boolean # STUPID yml interprets unquoted ON as a boolean
TARGET_GLES2: "OFF" TARGET_GLES2: "OFF"
# Yep, xcodebuild is beyond stupid and just DOESN'T build in parallel by
# default. The default medium resource class has 4 CPUs and Ninja uses
# -j6, so do the same for xcodebuild.
XCODE_JOBS: 6
steps: steps:
- install-base-macos: - install-base-macos:
extra: xcbeautify extra: xcbeautify

8
package/ci/ios-simulator-gles.sh

@ -32,7 +32,7 @@ cmake .. \
-DCORRADE_TESTSUITE_TARGET_XCTEST=ON \ -DCORRADE_TESTSUITE_TARGET_XCTEST=ON \
-DCORRADE_WITH_INTERCONNECT=OFF \ -DCORRADE_WITH_INTERCONNECT=OFF \
-G Xcode -G Xcode
set -o pipefail && cmake --build . --config Release --target install | xcbeautify set -o pipefail && cmake --build . --config Release --target install -j$XCODE_JOBS | xcbeautify
cd ../.. cd ../..
# Crosscompile SDL. On 2022-14-02 curl says the certificate is expired, so # Crosscompile SDL. On 2022-14-02 curl says the certificate is expired, so
@ -41,7 +41,7 @@ cd ../..
curl --insecure -O https://www.libsdl.org/release/SDL2-2.0.10.tar.gz curl --insecure -O https://www.libsdl.org/release/SDL2-2.0.10.tar.gz
tar -xzvf SDL2-2.0.10.tar.gz tar -xzvf SDL2-2.0.10.tar.gz
cd SDL2-2.0.10/Xcode-iOS/SDL cd SDL2-2.0.10/Xcode-iOS/SDL
set -o pipefail && xcodebuild -sdk iphonesimulator13.7 | xcbeautify set -o pipefail && xcodebuild -sdk iphonesimulator13.7 -jobs $XCODE_JOBS -parallelizeTargets | xcbeautify
cp build/Release-iphonesimulator/libSDL2.a $HOME/deps/lib cp build/Release-iphonesimulator/libSDL2.a $HOME/deps/lib
mkdir -p $HOME/deps/include/SDL2 mkdir -p $HOME/deps/include/SDL2
cp -R ../../include/* $HOME/deps/include/SDL2 cp -R ../../include/* $HOME/deps/include/SDL2
@ -78,11 +78,11 @@ cmake .. \
-DMAGNUM_BUILD_TESTS=ON \ -DMAGNUM_BUILD_TESTS=ON \
-DMAGNUM_BUILD_GL_TESTS=ON \ -DMAGNUM_BUILD_GL_TESTS=ON \
-G Xcode -G Xcode
set -o pipefail && cmake --build . --config Release | xcbeautify set -o pipefail && cmake --build . --config Release -j$XCODE_JOBS | xcbeautify
# TODO: find a better way to avoid # TODO: find a better way to avoid
# Library not loaded: /System/Library/Frameworks/OpenGLES.framework/OpenGLES # Library not loaded: /System/Library/Frameworks/OpenGLES.framework/OpenGLES
# error # error
DYLD_FALLBACK_LIBRARY_PATH="/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 12.4.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/OpenGLES.framework" DYLD_FALLBACK_FRAMEWORK_PATH="/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 12.4.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks" CORRADE_TEST_COLOR=ON ctest -V -C Release -E "GLTest|GLBenchmark" DYLD_FALLBACK_LIBRARY_PATH="/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 12.4.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/OpenGLES.framework" DYLD_FALLBACK_FRAMEWORK_PATH="/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 12.4.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks" CORRADE_TEST_COLOR=ON ctest -V -C Release -E "GLTest|GLBenchmark"
# Test install, after running the tests as for them it shouldn't be needed # Test install, after running the tests as for them it shouldn't be needed
set -o pipefail && cmake --build . --config Release --target install | xcbeautify set -o pipefail && cmake --build . --config Release --target install -j$XCODE_JOBS | xcbeautify

Loading…
Cancel
Save