Skip to content

Download dependencies #13

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: PHP-8.3
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
220 changes: 220 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,226 @@ jobs:
- name: Install PHP
run: cmake --install php-build/all-enabled

linux-externalproject-module:
runs-on: ubuntu-latest
name: Downloading dependencies with ExternalProject module on Linux
steps:
- name: Install base dependencies
run: |
sudo apt-get update
sudo apt-get -y install \
build-essential \
libssl-dev \
libpcre2-dev \
libbz2-dev \
libcurl4-openssl-dev \
libdb5.3++-dev \
libenchant-2-dev \
libgmp-dev \
libc-client-dev \
libkrb5-dev \
unixodbc-dev \
freetds-dev \
apache2-dev \
firebird-dev \
libsodium-dev \
libicu-dev \
aspell \
libaspell-dev \
libavif-dev \
libfreetype-dev \
libjpeg-dev \
libwebp-dev \
libxpm-dev \
libtidy-dev \
libargon2-dev \
libcapstone-dev \
libedit-dev \
libcdb-dev \
liblmdb-dev \
libqdbm-dev \
libtokyocabinet-dev \
libsnmp-dev \
snmp \
snmpd \
snmp-mibs-downloader \
libexpat1-dev \
libacl1-dev \
libapparmor-dev \
libselinux1-dev \
libsystemd-dev \
libldap2-dev \
libsasl2-dev \
libpq-dev \
libmm-dev \
libdmalloc-dev \
dovecot-core \
dovecot-pop3d \
dovecot-imapd \
sendmail;

- name: Install CMake
uses: lukka/get-cmake@latest

- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 2

- name: Build and install
run: |
cmake --preset all-enabled
cmake --build --preset all-enabled -j

linux-conan:
runs-on: ubuntu-latest
name: Downloading dependencies with Conan on Linux
steps:
- name: Install packages
run: |
sudo apt-get update
sudo apt-get -y install \
build-essential \
freetds-dev \
apache2-dev \
firebird-dev \
libc-client-dev \
aspell \
libaspell-dev \
libcdb-dev \
libtokyocabinet-dev \
libsnmp-dev \
libacl1-dev \
libedit-dev \
snmp \
snmpd \
snmp-mibs-downloader \
libapparmor-dev \
libpq-dev \
libmm-dev \
libsystemd-dev \
libwebp-dev \
libxpm-dev \
liblmdb-dev \
libonig-dev \
libldap2-dev \
libtidy-dev \
libdmalloc-dev \
dovecot-core \
dovecot-pop3d \
dovecot-imapd \
sendmail;

- name: Install CMake
uses: lukka/get-cmake@latest

- name: Install Conan
uses: conan-io/setup-conan@v1

- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 2

- name: Install dependencies with Conan
run: |
conan install cmake --output-folder=php-build/php --build=missing --profile:build=default --profile:host=default

- name: Build and install
run: |
cmake --preset conan
cmake --build --preset conan -j

linux-vcpkg:
runs-on: ubuntu-latest
name: Downloading dependencies with vcpkg on Linux
steps:
- name: Install base dependencies
run: |
sudo apt-get update
sudo apt-get -y install \
build-essential \
re2c \
bison \
libxml2-dev \
libssl-dev \
libpcre2-dev \
libsqlite3-dev \
libbz2-dev \
libcurl4-openssl-dev \
libdb5.3++-dev \
libenchant-2-dev \
libgmp-dev \
libc-client-dev \
libkrb5-dev \
unixodbc-dev \
freetds-dev \
apache2-dev \
firebird-dev \
libsodium-dev \
libicu-dev \
libzip-dev \
aspell \
libaspell-dev \
libavif-dev \
libfreetype-dev \
libjpeg-dev \
libpng-dev \
libwebp-dev \
libxpm-dev \
libonig-dev \
libtidy-dev \
libargon2-dev \
libcapstone-dev \
libedit-dev \
libcdb-dev \
liblmdb-dev \
libqdbm-dev \
libtokyocabinet-dev \
libsnmp-dev \
snmp \
snmpd \
snmp-mibs-downloader \
libexpat1-dev \
libacl1-dev \
libapparmor-dev \
libselinux1-dev \
libsystemd-dev \
libldap2-dev \
libsasl2-dev \
libpq-dev \
libmm-dev \
zlib1g-dev \
libdmalloc-dev \
dovecot-core \
dovecot-pop3d \
dovecot-imapd \
sendmail;

- name: Install CMake
uses: lukka/get-cmake@latest

- name: Install vcpkg
run: |
sudo apt update
sudo apt install -y curl zip git
curl --output vcpkg.tar.gz https://github.com/microsoft/vcpkg/archive/master.tar.gz
sudo mkdir -p /opt/vcpkg
sudo tar xf vcpkg.tar.gz --strip-components=1 -C /opt/vcpkg
sudo /opt/vcpkg/bootstrap-vcpkg.sh
sudo ln -s /opt/vcpkg/vcpkg /usr/local/bin/vcpkg
sudo chmod a+x /usr/local/bin/vcpkg

- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 2

- name: Build and install
run: |
cmake --preset all-enabled
cmake --build --preset all-enabled -j

windows:
runs-on: windows-latest
name: Windows
Expand Down
1 change: 1 addition & 0 deletions cmake/CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"include": [
"cmake/presets/all-disabled.json",
"cmake/presets/all-enabled.json",
"cmake/presets/conan.json",
"cmake/presets/windows.json"
],
"configurePresets": [
Expand Down
20 changes: 0 additions & 20 deletions cmake/cmake/Configuration.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -199,15 +199,9 @@ endblock()
# Minimum required version for the OpenSSL dependency.
set(PHP_OPENSSL_MIN_VERSION 1.0.2)

# Minimum required version for the SQLite dependency.
set(PHP_SQLITE_MIN_VERSION 3.7.7)

# Minimum required version for the PostgreSQL dependency.
set(PHP_POSTGRESQL_MIN_VERSION 9.1)

# Minimum required version for the zlib dependency.
set(PHP_ZLIB_MIN_VERSION 1.2.0.4)

# Additional metadata for external packages to avoid duplication.
set_package_properties(
BZip2
Expand Down Expand Up @@ -244,20 +238,6 @@ set_package_properties(
DESCRIPTION "PostgreSQL database library"
)

set_package_properties(
SQLite3
PROPERTIES
URL "https://www.sqlite.org/"
DESCRIPTION "SQL database engine library"
)

set_package_properties(
ZLIB
PROPERTIES
URL "https://zlib.net/"
DESCRIPTION "Compression library"
)

# Set base directory for ExternalProject CMake module.
set_directory_properties(
PROPERTIES EP_BASE ${PHP_BINARY_DIR}/CMakeFiles/PHP/ExternalProject
Expand Down
20 changes: 0 additions & 20 deletions cmake/cmake/modules/FindLibXslt.cmake

This file was deleted.

Loading
Loading