diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 420b494e5..6f0bed4f9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -54,74 +54,22 @@ build-linux: - ubuntu before_script: - apt-get update -qq - - apt-get install -y -qq - build-essential - cmake - ninja-build - pkg-config - git - curl - wget - unzip - # Graphics libraries - libgl1-mesa-dev - libglu1-mesa-dev - # X11 libraries (Ubuntu 24.04 specific) - libxcb-icccm4-dev - libxcb-image0-dev - libxcb-keysyms1-dev - libxcb-randr0-dev - libxcb-render-util0-dev - libxcb-render0-dev - libxcb-shape0-dev - libxcb-shm0-dev - libxcb-sync1-dev - libxcb-xfixes0-dev - libxcb-xinerama0-dev - libxcb-xkb1-dev - libxcb1-dev - libxkbcommon-x11-dev - libxkbcommon-dev - libxcb-util0-dev - libxcb-util1-dev - libxcb-xinerama0-dev - libxcb-xkb-dev - # Audio libraries - libpulse-dev - libasound2-dev - # Input libraries - libusb-1.0-0-dev - # Media libraries - libavcodec-dev - libavfilter-dev - libavutil-dev - libswscale-dev - # Security libraries - libssl-dev - # Boost libraries - libboost-all-dev - # Utility libraries - libfmt-dev - liblz4-dev - libzstd-dev - libnlohmann-json-dev - libopus-dev - libenet-dev - libsimpleini-dev - libstb-dev - # Vulkan libraries - vulkan-validationlayers-dev - libvulkan-dev + - apt-get install -y -qq build-essential cmake ninja-build pkg-config git curl wget unzip + - apt-get install -y -qq libgl1-mesa-dev libglu1-mesa-dev + - apt-get install -y -qq libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev + - apt-get install -y -qq libxcb-render-util0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-shm0-dev + - apt-get install -y -qq libxcb-sync1-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-xkb1-dev + - apt-get install -y -qq libxcb1-dev libxkbcommon-x11-dev libxkbcommon-dev + - apt-get install -y -qq libxcb-util0-dev libxcb-util1-dev libxcb-xinerama0-dev libxcb-xkb-dev + - apt-get install -y -qq libpulse-dev libasound2-dev libusb-1.0-0-dev + - apt-get install -y -qq libavcodec-dev libavfilter-dev libavutil-dev libswscale-dev + - apt-get install -y -qq libssl-dev libboost-all-dev + - apt-get install -y -qq libfmt-dev liblz4-dev libzstd-dev libnlohmann-json-dev + - apt-get install -y -qq libopus-dev libenet-dev libsimpleini-dev libstb-dev + - apt-get install -y -qq vulkan-validationlayers-dev libvulkan-dev script: - git submodule update --init --recursive - - cmake -B build -S . - -DCMAKE_BUILD_TYPE=$BUILD_TYPE - -DENABLE_QT=ON - -DENABLE_SDL2=ON - -DENABLE_WEB_SERVICE=ON - -DCITRON_USE_EXTERNAL_SDL2=ON - -DCITRON_USE_BUNDLED_FFMPEG=OFF - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + - cmake -B build -S . -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DENABLE_QT=ON -DENABLE_SDL2=ON -DENABLE_WEB_SERVICE=ON -DCITRON_USE_EXTERNAL_SDL2=ON -DCITRON_USE_BUNDLED_FFMPEG=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - cmake --build build --config $BUILD_TYPE --parallel $CMAKE_BUILD_PARALLEL_LEVEL - chmod +x AppImage-build-local.sh - ./AppImage-build-local.sh || echo "AppImage build failed, continuing..." @@ -149,15 +97,7 @@ build-linux-aarch64: - apt-get install -y -qq build-essential cmake gcc-aarch64-linux-gnu g++-aarch64-linux-gnu script: - git submodule update --init --recursive - - cmake -B build-cross -S . - -DCMAKE_BUILD_TYPE=$BUILD_TYPE - -DCMAKE_SYSTEM_NAME=Linux - -DCMAKE_SYSTEM_PROCESSOR=aarch64 - -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc - -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ - -DENABLE_QT=OFF - -DENABLE_SDL2=OFF - -DENABLE_WEB_SERVICE=OFF + - cmake -B build-cross -S . -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DENABLE_QT=OFF -DENABLE_SDL2=OFF -DENABLE_WEB_SERVICE=OFF - cmake --build build-cross --config $BUILD_TYPE --parallel $CMAKE_BUILD_PARALLEL_LEVEL artifacts: paths: @@ -192,18 +132,7 @@ build-android: - export ANDROID_NDK_HOME=$PWD/android-ndk-r26b script: - git submodule update --init --recursive - - cmake -B build-android -S . - -DCMAKE_BUILD_TYPE=$BUILD_TYPE - -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake - -DANDROID_ABI=arm64-v8a - -DANDROID_PLATFORM=android-30 - -DENABLE_QT=OFF - -DENABLE_SDL2=OFF - -DENABLE_WEB_SERVICE=OFF - -DCITRON_USE_BUNDLED_VCPKG=ON - -DCITRON_USE_BUNDLED_FFMPEG=ON - -DANDROID_ARM_NEON=ON - -DCITRON_ENABLE_LTO=ON + - cmake -B build-android -S . -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-30 -DENABLE_QT=OFF -DENABLE_SDL2=OFF -DENABLE_WEB_SERVICE=OFF -DCITRON_USE_BUNDLED_VCPKG=ON -DCITRON_USE_BUNDLED_FFMPEG=ON -DANDROID_ARM_NEON=ON -DCITRON_ENABLE_LTO=ON - cmake --build build-android --config $BUILD_TYPE --parallel $CMAKE_BUILD_PARALLEL_LEVEL - cd src/android - ./gradlew assembleMainlineRelease @@ -231,12 +160,7 @@ test-unit: - apt-get install -y -qq build-essential cmake ninja-build script: - git submodule update --init --recursive - - cmake -B build-test -S . - -DCMAKE_BUILD_TYPE=Debug - -DCITRON_TESTS=ON - -DENABLE_QT=OFF - -DENABLE_SDL2=OFF - -DENABLE_WEB_SERVICE=OFF + - cmake -B build-test -S . -DCMAKE_BUILD_TYPE=Debug -DCITRON_TESTS=ON -DENABLE_QT=OFF -DENABLE_SDL2=OFF -DENABLE_WEB_SERVICE=OFF - cmake --build build-test --config Debug --parallel $CMAKE_BUILD_PARALLEL_LEVEL - cd build-test - ctest --output-on-failure