Jelajahi Sumber

Use wildcard matching

Signed-off-by: yubiuser <github@yubiuser.dev>
yubiuser 10 bulan lalu
induk
melakukan
6ab2ee088e
1 mengubah file dengan 25 tambahan dan 11 penghapusan
  1. 25 11
      .github/workflows/cibuild.yml

+ 25 - 11
.github/workflows/cibuild.yml

@@ -358,7 +358,7 @@ jobs:
           uses: actions/checkout@v4.1.7
         
         - name: Install clang on Linux
-          if: matrix.compiler == 'clang' && matrix.os == 'ubuntu-latest'
+          if: matrix.compiler == 'clang' && startsWith(matrix.os,'ubuntu')
           run: |
             sudo apt-get install --no-install-recommends -y clang
             sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
@@ -366,17 +366,17 @@ jobs:
 
         - name: Install OpenSSL 1.0 on modern MacOS
           # Needed for recent versions of MacOS as they ship with OpenSSL 1.1 by default
-          if: matrix.os == 'macos-13' && matrix.env.OPENSSL_1_0 == 'YES'
+          if: startsWith(matrix.os,'macos') && matrix.env.OPENSSL_1_0 == 'YES'
           run: |
             curl -O -L https://openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
             tar -xzf openssl-1.0.2u.tar.gz
             cd openssl-1.0.2u
-            ./Configure --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared shared darwin64-x86_64-cc
-            #make depend
+            ./Configure --prefix=/usr/local/ssl1.0 --openssldir=/usr/local/ssl1.0 shared shared darwin64-x86_64-cc
+            make depend
             make -j $(nproc)
             sudo make install_sw -j $(nproc)
 
-            OPENSSL_ROOT_DIR=/usr/local/ssl
+            OPENSSL_ROOT_DIR=/usr/local/ssl1.0
             LDFLAGS=-L${OPENSSL_ROOT_DIR}/lib
             CFLAGS=-I${OPENSSL_ROOT_DIR}/include
             ADDITIONAL_CMAKE_ARGS="-DCMAKE_SHARED_LINKER_FLAGS=${LDFLAGS} -DMAKE_C_FLAGS=${CFLAGS}"
@@ -391,7 +391,7 @@ jobs:
         
         - name: Set up OpenSSL 1.1 on modern MacOS
           # OpenSSL 1.1 is installed by default, so we just need to set the paths
-          if: matrix.os == 'macos-latest' && matrix.env.OPENSSL_1_1 == 'YES'
+          if: startsWith(matrix.os,'macos') && matrix.env.OPENSSL_1_1 == 'YES'
           run: |
             OPENSSL_ROOT_DIR=$(brew --prefix openssl@1.1)
             LDFLAGS=-L${OPENSSL_ROOT_DIR}/lib
@@ -407,18 +407,18 @@ jobs:
             
         - name: Install OpenSSL 1.0 on modern Linux
           # Needed for recent versions of Linux as they ship with OpenSSL 3.0 by default
-          if: matrix.os == 'ubuntu-latest' && matrix.env.OPENSSL_1_0 == 'YES'
+          if: startsWith(matrix.os,'ubuntu') && matrix.env.OPENSSL_1_0 == 'YES'
           run: |
             curl -O -L https://openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz
             tar -xzf openssl-1.0.2u.tar.gz
             cd openssl-1.0.2u
-            ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared
+            ./config --prefix=/usr/local/ssl1.0 --openssldir=/usr/local/ssl1.0 shared
             make depend
             make -j $(nproc)
             sudo make install_sw -j $(nproc)
             sudo ldconfig
 
-            OPENSSL_ROOT_DIR=/usr/local/ssl
+            OPENSSL_ROOT_DIR=/usr/local/ssl1.0
             LDFLAGS=-L${OPENSSL_ROOT_DIR}/lib
             CFLAGS=-I${OPENSSL_ROOT_DIR}/include
             ADDITIONAL_CMAKE_ARGS="-DCMAKE_SHARED_LINKER_FLAGS=${LDFLAGS} -DMAKE_C_FLAGS=${CFLAGS}"
@@ -433,15 +433,29 @@ jobs:
         
         - name: Install OpenSSL 1.1 on modern Linux
           # Needed for recent versions of Linux as they ship  with OpenSSL 3.0 by default
-          if: matrix.os == 'ubuntu-latest' && matrix.env.OPENSSL_1_1 == 'YES'
+          if: startsWith(matrix.os,'ubuntu') && matrix.env.OPENSSL_1_1 == 'YES'
           run: |
             curl -O -L https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz
             tar -xzf openssl-1.1.1w.tar.gz
             cd openssl-1.1.1w
-            ./config
+            ./config --prefix=/usr/local/ssl1.1 --openssldir=/usr/local/ssl1.1 shared
+            make depend
             make -j $(nproc)
             sudo make install_sw -j $(nproc)
             sudo ldconfig
+
+            OPENSSL_ROOT_DIR=/usr/local/ssl1.1
+            LDFLAGS=-L${OPENSSL_ROOT_DIR}/lib
+            CFLAGS=-I${OPENSSL_ROOT_DIR}/include
+            ADDITIONAL_CMAKE_ARGS="-DCMAKE_SHARED_LINKER_FLAGS=${LDFLAGS} -DMAKE_C_FLAGS=${CFLAGS}"
+            PKG_CONFIG_PATH=${OPENSSL_ROOT_DIR}/lib/pkgconfig
+            
+            echo "LDFLAGS=${LDFLAGS}" >> $GITHUB_ENV
+            echo "CFLAGS=${CFLAGS}" >> $GITHUB_ENV
+            echo "${OPENSSL_ROOT_DIR}/bin" >> $GITHUB_PATH
+            echo "ADDITIONAL_CMAKE_ARGS=${ADDITIONAL_CMAKE_ARGS}" >> $GITHUB_ENV
+            echo "PKG_CONFIG_PATH=${PKG_CONFIG_PATH}" >> $GITHUB_ENV
+            echo "LD_LIBRARY_PATH=${OPENSSL_ROOT_DIR}/lib" >> $GITHUB_ENV
         
         - name: Print tool version information
           run: |