Skip to content

cmake: add CURL_BUILD_EVERYTHING option#20429

Closed
vszakats wants to merge 7 commits intocurl:masterfrom
vszakats:cmall
Closed

cmake: add CURL_BUILD_EVERYTHING option#20429
vszakats wants to merge 7 commits intocurl:masterfrom
vszakats:cmall

Conversation

@vszakats
Copy link
Member

@vszakats vszakats commented Jan 25, 2026

To build all targets in a single go, meaning curl and libcurl as normal,
and tests and examples in addition. To build-test everything without
running multiple cmake commands.

Enable with:

  • -DCURL_BUILD_EVERYTHING=ON
    Special values: QUICK to build examples quickly for build test,
    NOEXAMPLES to not build examples.

A well-equipped build takes 2.8s of configure time, and 1.7s to build
everything (shared, unity, ninja, prefill), 1.4s with QUICK. Without
this option it takes <1s to build curl/libcurl.

Also: streamline CURL_LINT internal logic.


  • use the fast examples target or the normal one? maybe both with an option? (reduces build time: 1.7 → 1.4s)

@vszakats
Copy link
Member Author

A fairly-well packed build takes 2.8s of configure time, and 1.7s
to build everything (shared, unity, ninja, prefill). Compared to <1s for
building just curl/libcurl.

It reduces to 1.4s by building the build-test-specific examples target.

For local tests, building everything is a practical option!

@vszakats vszakats closed this in 3aa4fbf Jan 26, 2026
@vszakats vszakats deleted the cmall branch January 26, 2026 01:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

1 participant