From 159763d269f53530bc083c862d7d57f051ec1606 Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Thu, 7 May 2026 14:42:13 +0000 Subject: [PATCH] Merge r1933910, r1934871, r1934917, and r1934873 from trunk: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CMake: update min version required GitHub: closes #640 Submitted by: Jeff McKenna git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1933910 13f79535-47bb-0310-9956-ffa450edef68 Fix Windows GHA build. * .github/workflows/windows.yml (): Use Enter-VsDevShell to find VS installation and save environment variables to GITHUB_ENV. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934871 13f79535-47bb-0310-9956-ffa450edef68 CI: Update used actions to use newer Node.js than 20 CI: Update upload-artifact action, drop unnecessary Ubuntu 22.04 fix CI: Drop 'shell: cmd', use PowerShell for the Windows workflow CI: Print used CMake version for Windows workflow Submitted by: VladimĂ­r Chlup Github: closes #660 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934917 13f79535-47bb-0310-9956-ffa450edef68 * .github/workflows/windows.yml: Use checkout@v6. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934873 13f79535-47bb-0310-9956-ffa450edef68 --- .github/workflows/linux.yml | 7 ++----- .github/workflows/windows.yml | 25 +++++++++++++++---------- CMakeLists.txt | 6 ++++-- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 3d4d935fca0..6988f364432 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -275,9 +275,6 @@ jobs: echo "${{ matrix.env }}" >> $GITHUB_ENV echo JOBID=`echo "OS=$ImageOS ${{ matrix.notest-cflags }} ${{ matrix.env }} ${{ matrix.config }}" \ | md5sum - | sed 's/ .*//'` >> $GITHUB_ENV - # https://github.com/actions/runner-images/issues/9491#issuecomment-1989718917 - - name: Workaround ASAN issue in Ubuntu 22.04 - run: sudo sysctl vm.mmap_rnd_bits=28 - name: apt refresh run: sudo apt-get -o Acquire::Retries=5 update - name: Install prerequisites @@ -300,7 +297,7 @@ jobs: - name: Configure environment run: ./test/travis_before_linux.sh timeout-minutes: 15 - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 if: failure() with: name: config.log-${{ env.JOBID }} @@ -308,7 +305,7 @@ jobs: /home/runner/build/**/config.log - name: Build and test run: ./test/travis_run_linux.sh - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 if: failure() with: name: error_log-${{ env.JOBID }} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 4118c34ad66..ee764d3bcf5 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -36,8 +36,16 @@ jobs: env: VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" steps: + - name: Prepare Environment + run: | + $root = &(Join-Path ${env:ProgramFiles(x86)} "\Microsoft Visual Studio\Installer\vswhere.exe") -property installationpath -latest + Import-Module (Join-Path $root "Common7\Tools\Microsoft.VisualStudio.DevShell.dll") + Enter-VsDevShell -VsInstallPath $root -DevCmdArguments "-arch=${{ matrix.arch }}" + + ls env: | foreach { "$($_.Name)=$($_.Value)" >> $env:GITHUB_ENV } + - name: Export GitHub Actions cache environment variables - uses: actions/github-script@v7 + uses: actions/github-script@v8 with: script: | core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); @@ -46,20 +54,17 @@ jobs: - name: Install dependencies run: vcpkg install --triplet ${{ matrix.triplet }} apr[private-headers] apr-util pcre2 openssl - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Configure CMake - shell: cmd run: | - call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=${{ matrix.arch }} - cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} ^ - -G "${{ matrix.generator }}" ^ - -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake ^ - -DAPR_INCLUDE_DIR=C:/vcpkg/installed/${{ matrix.triplet }}/include ^ + cmake --version + cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} ` + -G "${{ matrix.generator }}" ` + -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake ` + -DAPR_INCLUDE_DIR=C:/vcpkg/installed/${{ matrix.triplet }}/include ` "-DAPR_LIBRARIES=C:/vcpkg/installed/${{ matrix.triplet }}/lib/libapr-1.lib;C:/vcpkg/installed/${{ matrix.triplet }}/lib/libaprutil-1.lib" - name: Build - shell: cmd run: | - call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=${{ matrix.arch }} cmake --build ${{github.workspace}}/build --config ${{ matrix.build-type }} diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e6c13f2d9c..628cf765357 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,9 +15,11 @@ # # Read README.cmake before using this. -PROJECT(HTTPD C) +# CMAKE_MINIMUM_REQUIRED should be the first directive in the file: +# https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html +CMAKE_MINIMUM_REQUIRED(VERSION 3.16...3.29) -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) +PROJECT(HTTPD C) INCLUDE(CheckSymbolExists) INCLUDE(CheckCSourceCompiles)