Merge bitcoin-core/secp256k1#1367: build: Improvements to symbol visibility logic on Windows (attempt 3)
c6cd2b15a0ci: Add task for static library on Windows + CMake (Hennadii Stepanov)020bf69a44build: Add extensive docs on visibility issues (Tim Ruffing)0196e8ade1build: Introduce `SECP256k1_DLL_EXPORT` macro (Hennadii Stepanov)9f1b1904a3refactor: Replace `SECP256K1_API_VAR` with `SECP256K1_API` (Hennadii Stepanov)ae9db95ceabuild: Introduce `SECP256K1_STATIC` macro for Windows users (Hennadii Stepanov) Pull request description: Previous attempts: - https://github.com/bitcoin-core/secp256k1/pull/1346 - https://github.com/bitcoin-core/secp256k1/pull/1362 The result is as follows: 1. Simple, concise and extensively documented code. 2. Explicitly documented use cases with no ambiguities. 3. No workarounds for linker warnings. 4. Solves one item in https://github.com/bitcoin-core/secp256k1/issues/1235. ACKs for top commit: real-or-random: utACKc6cd2b15a0Tree-SHA512: d58694452d630aefbd047916033249891bc726b7475433aaaa7c3ea2a07ded8f185a598385b67c2ee3440ec5904ff9d9452c97b0961d84dcb2eb2cf46caa171e
This commit is contained in:
@@ -384,12 +384,17 @@ task:
|
||||
# Ignore MSBuild warning MSB8029.
|
||||
# See: https://learn.microsoft.com/en-us/visualstudio/msbuild/errors/msb8029?view=vs-2022
|
||||
IgnoreWarnIntDirInTempDetected: 'true'
|
||||
matrix:
|
||||
- env:
|
||||
BUILD_SHARED_LIBS: ON
|
||||
- env:
|
||||
BUILD_SHARED_LIBS: OFF
|
||||
git_show_script:
|
||||
# Print commit to allow reproducing the job outside of CI.
|
||||
- git show --no-patch
|
||||
configure_script:
|
||||
- '%x64_NATIVE_TOOLS%'
|
||||
- cmake -E env CFLAGS="/WX" cmake -G "Visual Studio 17 2022" -A x64 -S . -B build -DSECP256K1_ENABLE_MODULE_RECOVERY=ON -DSECP256K1_BUILD_EXAMPLES=ON
|
||||
- cmake -E env CFLAGS="/WX" cmake -A x64 -B build -DSECP256K1_ENABLE_MODULE_RECOVERY=ON -DSECP256K1_BUILD_EXAMPLES=ON -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS%
|
||||
build_script:
|
||||
- '%x64_NATIVE_TOOLS%'
|
||||
- cmake --build build --config RelWithDebInfo -- -property:UseMultiToolTask=true;CL_MPcount=5
|
||||
|
||||
Reference in New Issue
Block a user