msquic icon indicating copy to clipboard operation
msquic copied to clipboard

libmsquic.a is not generated with three Disable... build options

Open ami-GS opened this issue 3 years ago • 3 comments

Describe the bug

Tested on Ubuntu 20.04 pwsh ./scripts/build.ps1 -Static -DisableTest -DisableTools -DisablePerf Doesn't generate libmsquic.a

pwsh ./scripts/build.ps1 -DisableTest -DisableTools -DisablePerf can generate libmsquic.so

Affected OS

  • [ ] Windows
  • [X] Linux
  • [ ] macOS
  • [ ] Other (specify below)

Additional OS information

Ubuntu20.04 on WSL (and docker on WSL)

MsQuic version

main

Steps taken to reproduce bug

# need cmake version 3.2X
pwsh ./scripts/build.ps1 -Static -DisableTest -DisableTools -DisablePerf

Expected behavior

artifacts/bin/linux/x64_Debug_openssl/libmsquic.a is not generated

Actual outcome

artifacts/bin/linux/x64_Debug_openssl/libmsquic.a need to be generated

Additional details

No response

ami-GS avatar Oct 05 '22 01:10 ami-GS

@ami-GS is this still repo'ing or did you figure it out?

nibanks avatar Oct 12 '22 15:10 nibanks

Still reproing. I did not touch yet

ami-GS avatar Oct 12 '22 16:10 ami-GS

It seems like the library is generated but not copied to the artifact dirs.

pwsh scripts/build.ps1 -Static -DisableTest -DisableTools -DisablePerf
furt@ubu20:~/github/wfurt-msquic$ find . -name *.a
./build/linux/x64_openssl/obj/Debug/libcore.a
./build/linux/x64_openssl/obj/Debug/libplatform.a
./build/linux/x64_openssl/obj/Debug/liblogging.a
./build/linux/x64_openssl/obj/Debug/libmsquic_static.a
./build/linux/x64_openssl/_deps/opensslquic-build/openssl/lib/libcrypto.a
./build/linux/x64_openssl/_deps/opensslquic-build/openssl/lib/libssl.a
./build/linux/x64_openssl/_deps/opensslquic-build/submodules/openssl/libcrypto.a
./build/linux/x64_openssl/_deps/opensslquic-build/submodules/openssl/apps/libapps.a
./build/linux/x64_openssl/_deps/opensslquic-build/submodules/openssl/libssl.a

However, the workaround is to build any executable binary like

pwsh scripts/build.ps1 -Static -DisableTest -DisablePerf
furt@ubu20:~/github/wfurt-msquic$ find . -name *.a
./build/linux/x64_openssl/obj/Debug/libcore.a
./build/linux/x64_openssl/obj/Debug/libplatform.a
./build/linux/x64_openssl/obj/Debug/liblogging.a
./build/linux/x64_openssl/obj/Debug/libmsquic_static.a
./build/linux/x64_openssl/_deps/opensslquic-build/openssl/lib/libcrypto.a
./build/linux/x64_openssl/_deps/opensslquic-build/openssl/lib/libssl.a
./build/linux/x64_openssl/_deps/opensslquic-build/submodules/openssl/libcrypto.a
./build/linux/x64_openssl/_deps/opensslquic-build/submodules/openssl/apps/libapps.a
./build/linux/x64_openssl/_deps/opensslquic-build/submodules/openssl/libssl.a
./artifacts/bin/linux/x64_Debug_openssl/libmsquic.a

(or tests)

It seems like when not used for linking cmake simply does not invoke target to copy that over.

wfurt avatar May 09 '23 21:05 wfurt