Skip to content

cmake: tweaks around debug mode and hidden symbols - #15414

Closed
vszakats wants to merge 18 commits into
curl:masterfrom
vszakats:msvc-deb-1
Closed

cmake: tweaks around debug mode and hidden symbols#15414
vszakats wants to merge 18 commits into
curl:masterfrom
vszakats:msvc-deb-1

Conversation

@vszakats

@vszakats vszakats commented Oct 25, 2024

Copy link
Copy Markdown
Member

@vszakats
vszakats marked this pull request as draft October 25, 2024 08:47
@github-actions github-actions Bot added Windows Windows-specific CI Continuous Integration script labels Oct 25, 2024
@vszakats
vszakats force-pushed the msvc-deb-1 branch 2 times, most recently from dd16d24 to b49863d Compare October 25, 2024 15:43
@vszakats vszakats changed the title try dumping DLL export with MSVC 1 build: tweaks around debug mode and hidden symbols Oct 25, 2024
@vszakats
vszakats marked this pull request as ready for review October 25, 2024 15:49
@vszakats vszakats changed the title build: tweaks around debug mode and hidden symbols cmake: tweaks around debug mode and hidden symbols Oct 27, 2024
@vszakats vszakats added cmake and removed build CI Continuous Integration script labels Oct 27, 2024
@vszakats vszakats closed this in 1db9af2 Oct 27, 2024
vszakats added a commit that referenced this pull request Oct 27, 2024
- add 'Shared' to job names where missing.
- dedupe setting the default `HTTP_ONLY` env.
- fix typo in job name.

Cherry-picked from #15414
Closes #15422
@vszakats
vszakats deleted the msvc-deb-1 branch October 27, 2024 13:27
pps83 pushed a commit to pps83/curl that referenced this pull request Apr 26, 2025
- emit warning for `ENABLE_DEBUG` builds.

- add words to clarify that `ENABLE_DEBUG` is meant for developing curl
  itself.

- add comment saying `CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON`
  CMake option may export extra, non-curl symbols.
  Ref: microsoft/vcpkg#41761
  Unexplained exports seen also in curl CI:
  ```
  [ 742] _tcschr
  [ 743] _tcsncmp
  [ 744] _tcsncpy
  [ 745] _tcspbrk
  ```
  https://ci.appveyor.com/project/curlorg/curl/builds/50864041/job/lolledrg4h7hu6e4?fullLog=true#L2160
  CMake extracts these symbols from `.obj` files:
  https://gitlab.kitware.com/cmake/cmake/-/issues/22092#note_943718
  I have not found any new MSVC option that helps fixing this without
  decorating all functions in-source or maintaining a manual list of
  internal function names used for tests:
  https://learn.microsoft.com/cpp/build/reference/wholearchive-include-all-library-object-files

Closes curl#15414
pps83 pushed a commit to pps83/curl that referenced this pull request Apr 26, 2025
- add 'Shared' to job names where missing.
- dedupe setting the default `HTTP_ONLY` env.
- fix typo in job name.

Cherry-picked from curl#15414
Closes curl#15422
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

1 participant