Skip to content

CI/cirrus: add shared and static Windows release builds#6991

Closed
mback2k wants to merge 1 commit intocurl:masterfrom
mback2k:cirrus-windows-ci
Closed

CI/cirrus: add shared and static Windows release builds#6991
mback2k wants to merge 1 commit intocurl:masterfrom
mback2k:cirrus-windows-ci

Conversation

@mback2k
Copy link
Member

@mback2k mback2k commented May 2, 2021

Azure Pipelines is currently being used for debug builds, let's try to also run some non-debug (release) builds and make use of underutilized Cirrus CI for that.

@mback2k mback2k added the CI Continuous Integration label May 2, 2021
@mback2k mback2k self-assigned this May 2, 2021
@mback2k mback2k force-pushed the cirrus-windows-ci branch 6 times, most recently from e9c4ae1 to 32b0a9f Compare May 8, 2021 19:37
@mback2k
Copy link
Member Author

mback2k commented May 10, 2021

@jay @MarcelRaad I would appreciate your help if I got the flags for the static build variants correctly. It worked for me in the past.

@MarcelRaad
Copy link
Member

Is this manual setting of -DCURL_STATICLIB and -static really necessary? I don't think I've ever had to set that for curl itself. At least CURL_STATICLIB should be defined here:

CPPFLAG_CURL_STATICLIB='-DCURL_STATICLIB'

Other than that, looks good to me.

@mback2k
Copy link
Member Author

mback2k commented May 11, 2021

I don't think I've ever had to set that for curl itself. At least CURL_STATICLIB should be defined here:

I was following the guidance given here: https://curl.se/docs/install.html

Important static libcurl usage note
When building an application that uses the static libcurl library on Windows, you must add -DCURL_STATICLIB to your CFLAGS. Otherwise the linker will look for dynamic import symbols.

Would CPPFLAG be used by a plain c build (not using c++)?

@MarcelRaad
Copy link
Member

When building an application that uses the static libcurl library on Windows, you must add -DCURL_STATICLIB to your CFLAGS. Otherwise the linker will look for dynamic import symbols.

That applies to external applications using libcurl. I don't think it applies to curl itself as the build system should take care of that.

Would CPPFLAG be used by a plain c build (not using c++)?

For both, yes. CPPFLAGS is for the preprocessor, CFLAGS for the C compiler, and CXXFLAGS for the C++ compiler.

@mback2k mback2k force-pushed the cirrus-windows-ci branch from 32b0a9f to 0b981d9 Compare May 14, 2021 18:07
@mback2k mback2k changed the title CI/cirrus: WIP: try to run Windows release builds on Cirrus CI CI/cirrus: try to run Windows release builds on Cirrus CI May 14, 2021
@mback2k mback2k changed the title CI/cirrus: try to run Windows release builds on Cirrus CI CI/cirrus: add shared and static Windows release builds May 14, 2021
@mback2k mback2k force-pushed the cirrus-windows-ci branch from 0b981d9 to d765f20 Compare May 14, 2021 19:45
@mback2k mback2k force-pushed the cirrus-windows-ci branch from d765f20 to 00e6a13 Compare May 14, 2021 19:46
Azure Pipelines is currently being used for debug builds,
let's also run some non-debug (release) Windows builds and
make use of previously underutilized Cirrus CI for that.

Reviewed-by: Marcel Raad

Closes curl#6991
@mback2k mback2k force-pushed the cirrus-windows-ci branch from 00e6a13 to 441ca70 Compare May 15, 2021 18:55
@mback2k mback2k marked this pull request as ready for review May 15, 2021 18:57
@mback2k
Copy link
Member Author

mback2k commented May 16, 2021

Relevant CI builds passed, merging.

@mback2k mback2k closed this in af97a8f May 16, 2021
mback2k added a commit to curl/stats that referenced this pull request May 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Continuous Integration

Development

Successfully merging this pull request may close these issues.

2 participants