mirror of
https://github.com/transmission/transmission.git
synced 2026-02-14 23:19:34 +00:00
build: add USE_SYSTEM_DEFAULT option (#8176)
* build: add `USE_SYSTEM_DEFAULT` option * ci: use `USE_SYSTEM_DEFAULT`
This commit is contained in:
18
.github/actions/install-deps/action.yml
vendored
18
.github/actions/install-deps/action.yml
vendored
@@ -51,6 +51,7 @@ runs:
|
||||
dnf install -y \
|
||||
fmt-devel \
|
||||
google-crc32c-devel \
|
||||
libb64-devel \
|
||||
libcurl-devel \
|
||||
libdeflate-devel \
|
||||
libevent-devel \
|
||||
@@ -96,6 +97,7 @@ runs:
|
||||
ca-certificates
|
||||
cmake
|
||||
gettext
|
||||
libb64-dev
|
||||
libcurl4-openssl-dev
|
||||
libdeflate-dev
|
||||
libevent-dev
|
||||
@@ -195,12 +197,16 @@ runs:
|
||||
# Base packages for macOS
|
||||
BASE_PACKAGES=(cmake gettext ninja node pkgconf)
|
||||
|
||||
# Additional packages for some builds
|
||||
if [[ "${{ inputs.enable-gtk }}" == "true" || "${{ inputs.enable-qt }}" != "false" ]]; then
|
||||
BASE_PACKAGES+=(libdeflate libevent libpsl miniupnpc crc32c)
|
||||
else
|
||||
BASE_PACKAGES+=(libdeflate libevent libpsl miniupnpc)
|
||||
fi
|
||||
# Transmission-specific libraries
|
||||
BASE_PACKAGES+=(
|
||||
crc32c
|
||||
libb64
|
||||
libdeflate
|
||||
libevent
|
||||
libnatpmp
|
||||
libpsl
|
||||
miniupnpc
|
||||
)
|
||||
|
||||
brew install --formulae "${BASE_PACKAGES[@]}"
|
||||
|
||||
|
||||
68
.github/workflows/actions.yml
vendored
68
.github/workflows/actions.yml
vendored
@@ -162,7 +162,11 @@ jobs:
|
||||
-DENABLE_TESTS=ON \
|
||||
-DENABLE_UTILS=ON \
|
||||
-DREBUILD_WEB=OFF \
|
||||
-DRUN_CLANG_TIDY=OFF
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Ubuntu`
|
||||
- name: Make
|
||||
run: cmake --build obj --config Debug --target libtransmission-test transmission-show
|
||||
- name: Test with sanitizers
|
||||
@@ -208,7 +212,10 @@ jobs:
|
||||
-DENABLE_TESTS=ON \
|
||||
-DENABLE_UTILS=ON \
|
||||
-DREBUILD_WEB=OFF \
|
||||
-DRUN_CLANG_TIDY=OFF
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Homebrew` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Homebrew`
|
||||
- name: Make
|
||||
run: cmake --build obj --config Debug --target libtransmission-test transmission-show
|
||||
- name: Test with sanitizers
|
||||
@@ -249,7 +256,11 @@ jobs:
|
||||
-DCMAKE_C_COMPILER='clang' \
|
||||
-DCMAKE_INSTALL_PREFIX=pfx \
|
||||
-DENABLE_TESTS=${{ (needs.what-to-make.outputs.make-tests == 'true') && 'ON' || 'OFF' }} \
|
||||
-DRUN_CLANG_TIDY=ON
|
||||
-DRUN_CLANG_TIDY=ON \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Ubuntu`
|
||||
- name: Make (Core)
|
||||
run: cmake --build obj --config Debug --target transmission 2>&1 | tee makelog
|
||||
- name: Make (Tests)
|
||||
@@ -288,7 +299,8 @@ jobs:
|
||||
-DCMAKE_BUILD_TYPE=Debug `
|
||||
-DCMAKE_PREFIX_PATH="${Env:DEPS_PREFIX}" `
|
||||
-DENABLE_TESTS=${{ (needs.what-to-make.outputs.make-tests == 'true') && 'ON' || 'OFF' }} `
|
||||
-DRUN_CLANG_TIDY=ON
|
||||
-DRUN_CLANG_TIDY=ON `
|
||||
-DUSE_SYSTEM_DEFAULT=OFF
|
||||
- name: Make (Core)
|
||||
run: |
|
||||
Import-VisualStudioVars -VisualStudioVersion 2022 -Architecture x64
|
||||
@@ -386,7 +398,9 @@ jobs:
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_Crc32c=ON
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Homebrew` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Homebrew`
|
||||
- name: Make
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
@@ -430,8 +444,11 @@ jobs:
|
||||
fmt-dev \
|
||||
gettext-dev \
|
||||
git \
|
||||
libdeflate-dev \
|
||||
libdeflate-static \
|
||||
libevent-dev \
|
||||
libpsl \
|
||||
libnatpmp-dev \
|
||||
libpsl-dev \
|
||||
linux-headers \
|
||||
miniupnpc-dev \
|
||||
ninja \
|
||||
@@ -468,7 +485,10 @@ jobs:
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_CRC32C=ON
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_B64=OFF `# Not packaged in Alpine` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Alpine` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Alpine`
|
||||
- name: Make
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
@@ -533,7 +553,8 @@ jobs:
|
||||
-DENABLE_UTILS=ON `
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} `
|
||||
-DENABLE_WERROR=ON `
|
||||
-DRUN_CLANG_TIDY=OFF
|
||||
-DRUN_CLANG_TIDY=OFF `
|
||||
-DUSE_SYSTEM_DEFAULT=OFF
|
||||
- name: Make
|
||||
run: |
|
||||
Import-VisualStudioVars -VisualStudioVersion 2022 -Architecture ${{ matrix.arch }}
|
||||
@@ -666,14 +687,7 @@ jobs:
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_EVENT2=OFF \
|
||||
-DUSE_SYSTEM_DEFLATE=OFF \
|
||||
-DUSE_SYSTEM_DHT=OFF \
|
||||
-DUSE_SYSTEM_MINIUPNPC=OFF \
|
||||
-DUSE_SYSTEM_NATPMP=OFF \
|
||||
-DUSE_SYSTEM_UTP=OFF \
|
||||
-DUSE_SYSTEM_B64=OFF \
|
||||
-DUSE_SYSTEM_PSL=OFF
|
||||
-DUSE_SYSTEM_DEFAULT=OFF
|
||||
- name: Make
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
@@ -744,7 +758,11 @@ jobs:
|
||||
-DENABLE_UTILS=${{ (needs.what-to-make.outputs.make-utils == 'true') && 'ON' || 'OFF' }} \
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Debian 11` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Debian 11` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Debian 11`
|
||||
- name: Build
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
@@ -819,7 +837,9 @@ jobs:
|
||||
-DENABLE_DEPRECATED=ON \
|
||||
-DENABLE_WERROR=OFF \
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_Crc32c=ON
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Fedora` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Fedora`
|
||||
- name: Build
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
@@ -888,7 +908,11 @@ jobs:
|
||||
-DENABLE_UTILS=${{ (needs.what-to-make.outputs.make-utils == 'true') && 'ON' || 'OFF' }} \
|
||||
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Ubuntu`
|
||||
- name: Make
|
||||
run: cmake --build obj --config RelWithDebInfo
|
||||
- name: Test
|
||||
@@ -997,6 +1021,10 @@ jobs:
|
||||
-DENABLE_UTILS=${{ (needs.what-to-make.outputs.make-utils == 'true') && 'ON' || 'OFF' }} \
|
||||
-DREBUILD_WEB=OFF \
|
||||
-DENABLE_WERROR=ON \
|
||||
-DRUN_CLANG_TIDY=OFF
|
||||
-DRUN_CLANG_TIDY=OFF \
|
||||
-DUSE_SYSTEM_DEFAULT=ON \
|
||||
-DUSE_SYSTEM_CRC32C=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_DHT=OFF `# Not packaged in Ubuntu` \
|
||||
-DUSE_SYSTEM_UTP=OFF `# Not packaged in Ubuntu`
|
||||
- name: Make
|
||||
run: cmake --build obj --config RelWithDebInfo -- "-k 0"
|
||||
|
||||
@@ -70,16 +70,17 @@ option(ENABLE_NLS "Enable native language support" ON)
|
||||
option(INSTALL_DOC "Build/install documentation" ON)
|
||||
option(INSTALL_LIB "Install the library" OFF)
|
||||
tr_auto_option(ENABLE_DEPRECATED "Allow deprecated API use of upstream packages, e.g. GTK" AUTO)
|
||||
tr_auto_option(RUN_CLANG_TIDY "Run clang-tidy on the code" AUTO)
|
||||
tr_auto_option(USE_SYSTEM_EVENT2 "Use system event2 library" AUTO)
|
||||
tr_auto_option(USE_SYSTEM_DEFLATE "Use system deflate library" AUTO)
|
||||
tr_auto_option(USE_SYSTEM_DHT "Use system dht library" AUTO)
|
||||
tr_auto_option(USE_SYSTEM_MINIUPNPC "Use system miniupnpc library" AUTO)
|
||||
tr_auto_option(USE_SYSTEM_NATPMP "Use system natpmp library" AUTO)
|
||||
tr_auto_option(USE_SYSTEM_UTP "Use system utp library" AUTO)
|
||||
tr_auto_option(USE_SYSTEM_B64 "Use system b64 library" AUTO)
|
||||
tr_auto_option(USE_SYSTEM_PSL "Use system psl library" AUTO)
|
||||
tr_auto_option(USE_SYSTEM_CRC32C "Use system crc32c library" AUTO)
|
||||
tr_auto_option(USE_SYSTEM_DEFAULT "Default value for USE_SYSTEM_* options" AUTO)
|
||||
tr_auto_option(RUN_CLANG_TIDY "Run clang-tidy on the code" ${USE_SYSTEM_DEFAULT})
|
||||
tr_auto_option(USE_SYSTEM_EVENT2 "Use system event2 library" ${USE_SYSTEM_DEFAULT})
|
||||
tr_auto_option(USE_SYSTEM_DEFLATE "Use system deflate library" ${USE_SYSTEM_DEFAULT})
|
||||
tr_auto_option(USE_SYSTEM_DHT "Use system dht library" ${USE_SYSTEM_DEFAULT})
|
||||
tr_auto_option(USE_SYSTEM_MINIUPNPC "Use system miniupnpc library" ${USE_SYSTEM_DEFAULT})
|
||||
tr_auto_option(USE_SYSTEM_NATPMP "Use system natpmp library" ${USE_SYSTEM_DEFAULT})
|
||||
tr_auto_option(USE_SYSTEM_UTP "Use system utp library" ${USE_SYSTEM_DEFAULT})
|
||||
tr_auto_option(USE_SYSTEM_B64 "Use system b64 library" ${USE_SYSTEM_DEFAULT})
|
||||
tr_auto_option(USE_SYSTEM_PSL "Use system psl library" ${USE_SYSTEM_DEFAULT})
|
||||
tr_auto_option(USE_SYSTEM_CRC32C "Use system crc32c library" ${USE_SYSTEM_DEFAULT})
|
||||
tr_list_option(USE_GTK_VERSION "Use specific GTK version" AUTO 3 4)
|
||||
tr_list_option(USE_QT_VERSION "Use specific Qt version" AUTO 5 6)
|
||||
tr_list_option(WITH_CRYPTO "Use specified crypto library" AUTO ccrypto mbedtls openssl wolfssl)
|
||||
|
||||
Reference in New Issue
Block a user