Skip to content

cmake: add more build options in line with automake#10834

Merged
dgarske merged 1 commit into
wolfSSL:masterfrom
SparkiDev:cmake_update_1
Jul 8, 2026
Merged

cmake: add more build options in line with automake#10834
dgarske merged 1 commit into
wolfSSL:masterfrom
SparkiDev:cmake_update_1

Conversation

@SparkiDev

Copy link
Copy Markdown
Contributor

Description

Updates

  • ~100 individual options added (ciphers, TLS features, debug/test, caches, kernel-module, key-size numerics, asm) + fixed WOLFSSL_32BIT's missing define.
  • 37 app-integration bundles (openssh, nginx, haproxy, openvpn, wpas, apachehttpd, jni, wolfclu, wolfsentry, ...) - each force-enables its sub-options and emits its defines; all build clean and match ./configure --enable-X exactly (miss=0/extra=0).
  • Each option wired in 3 places: add_option + define in CMakeLists.txt, #cmakedefine in options.h.in, source selection where needed. Verified by real libwolfssl.so builds.

Testing

None

@SparkiDev SparkiDev self-assigned this Jul 2, 2026

@wolfSSL-Fenrir-bot wolfSSL-Fenrir-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fenrir Automated Review — PR #10834

No scan targets match the changed files in this PR. Review skipped.

@SparkiDev

Copy link
Copy Markdown
Contributor Author

Jenkins: retest this please

@SparkiDev SparkiDev assigned wolfSSL-Bot and unassigned SparkiDev Jul 2, 2026

@Frauschi Frauschi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐺 Skoll Code Review

Overall recommendation: APPROVE
Findings: 4 total — 3 posted, 1 skipped

Posted findings

  • [Medium] App-bundle sub-option forcing runs before options are defined, degrading cache entriesCMakeLists.txt:250-534
  • [Medium] Inconsistent WOLFSSL_LINUX_KM gating silently no-ops some kernel optionsCMakeLists.txt:2940-2960
  • [Low] Repeated empty placeholder comment blocks in options.h.incmake/options.h.in:811-817
Skipped findings
  • [Medium] New build options ship with no test/CI coverage

Review generated by Skoll via Claude/Codex

Comment thread CMakeLists.txt
Comment thread CMakeLists.txt
Comment thread cmake/options.h.in Outdated

@Frauschi Frauschi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skoll review (follow-up). Thanks for the earlier fixes — I confirmed all three of my previous comments are addressed (force_option via GLOBAL property preserves cache type/help; LINUXKM_PIE/BENCHMARKS now warn when WOLFSSL_LINUX_KM is off; the empty options.h.in parity headers are gone).

One blocking issue remains, plus a few suggestions/nits below.

Comment thread CMakeLists.txt
Comment thread CMakeLists.txt Outdated
Comment thread CMakeLists.txt
Comment thread CMakeLists.txt
Comment thread CMakeLists.txt
@SparkiDev SparkiDev force-pushed the cmake_update_1 branch 2 times, most recently from 0394385 to da5c186 Compare July 4, 2026 00:29
@SparkiDev

Copy link
Copy Markdown
Contributor Author

Jenkins: retest this please

@Frauschi Frauschi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐺 Skoll Code Review

Overall recommendation: REQUEST_CHANGES
Findings: 3 total — 1 posted, 2 skipped

Posted findings

  • [High] New RC2/ASCON/SM2/SM3/SM4 options define feature macros but never compile their source filesCMakeLists.txt:2967
Skipped findings
  • [Medium] force_option silently overrides an explicit user setting with no diagnostic
  • [Low] A force_option for an option never declared via add_option silently has no effect

Review generated by Skoll via Claude/Codex

Comment thread CMakeLists.txt
@SparkiDev

Copy link
Copy Markdown
Contributor Author

Jenkins: retest this please

@SparkiDev SparkiDev assigned Frauschi and unassigned SparkiDev Jul 7, 2026
Frauschi
Frauschi previously approved these changes Jul 7, 2026
@Frauschi Frauschi assigned wolfSSL-Bot and unassigned Frauschi Jul 7, 2026

@dgarske dgarske left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skoll Multi-Scan Review

Modes: review + review-securityOverall recommendation: COMMENT
Findings: 5 total — 5 posted, 0 skipped
5 finding(s) posted as inline comments (see file-level comments below)

Posted findings

  • [Medium] [review+review-security] WC_32BIT_CPU emitted on compile line but missing #cmakedefine in options.h.inCMakeLists.txt:555-557 (and missing entry in cmake/options.h.in near line 242)
  • [Low] [review-security] SM2/SM3/SM4 sources selected under FIPS v2, deviating from automake !BUILD_FIPS_V2_PLUS guardcmake/functions.cmake:924-964
  • [Low] [review] Non-numeric WOLFSSL_MAX_RSA_BITS / WOLFSSL_MAX_ECC_BITS bypass range validationCMakeLists.txt:3705-3730 (Maximum key size options block)
  • [Info] [review] set_wolfssl_definitions PARENT_SCOPE change adds compile-line defines for PQC builds (confirm intent)cmake/functions.cmake:1325-1329
  • [Info] [review-security] force_option applied only via add_option; forced non-add_option options would be silently ignoredcmake/functions.cmake:18-41

Review generated by Skoll

Comment thread cmake/functions.cmake
Comment thread CMakeLists.txt
Comment thread cmake/functions.cmake
Comment thread cmake/functions.cmake
Comment thread CMakeLists.txt

@dgarske dgarske left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work. Skoll found a few useful things
#10834 (review)

Updates
  - ~100 individual options added (ciphers, TLS features, debug/test, caches,
  kernel-module, key-size numerics, asm) + fixed WOLFSSL_32BIT's missing define.
  - 37 app-integration bundles (openssh, nginx, haproxy, openvpn, wpas,
  apachehttpd, jni, wolfclu, wolfsentry, ...) - each force-enables its
  sub-options and emits its defines; all build clean and match ./configure
  --enable-X exactly (miss=0/extra=0).
  - Each option wired in 3 places: add_option + define in CMakeLists.txt,
  #cmakedefine in options.h.in, source selection where needed. Verified by real
  libwolfssl.so builds.
@SparkiDev

Copy link
Copy Markdown
Contributor Author

Jenkins: retest this please

@SparkiDev SparkiDev assigned dgarske and unassigned SparkiDev Jul 8, 2026
@dgarske dgarske merged commit a8d223b into wolfSSL:master Jul 8, 2026
298 of 299 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants