COMP: Stop setting deprecated EXECUTABLE_OUTPUT_PATH/LIBRARY_OUTPUT_PATH for GDCM#6557
Merged
hjmjohnson merged 1 commit intoJul 7, 2026
Conversation
Add GDCM support for modern CMAKE_*_OUTPUT_DIRECTORY variables. Removes setting legacy CMake cache variables. Internlly GDCM still uses the legacy names. Backport to release-5.4: only the src/CMakeLists.txt wrapper hunk is applied. The src/gdcm/CMakeLists.txt portion of the original commit already landed on release-5.4 via the GDCM upstream update (PR InsightSoftwareConsortium#6059), so its compatibility shim was emitting deprecation warnings because the wrapper kept setting EXECUTABLE_OUTPUT_PATH / LIBRARY_OUTPUT_PATH. Removing those set() calls fixes the CMake deprecation warnings reported in issue InsightSoftwareConsortium#6551. (cherry picked from commit d5cf8de) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
| Filename | Overview |
|---|---|
| Modules/ThirdParty/GDCM/src/CMakeLists.txt | Removes legacy GDCM wrapper assignments for EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH; no functional issues found. |
Reviews (1): Last reviewed commit: "ENH: Conform GDCM to use CMAKE_*OUTPUT_D..." | Re-trigger Greptile
hjmjohnson
approved these changes
Jul 6, 2026
0411db4
into
InsightSoftwareConsortium:release-5.4
19 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the CMake configure-time deprecation warnings reported in #6551, which appear on
release-5.4(RTK nightly builds, Linux and Windows) but not onmain:Root cause
The warnings are emitted by the vendored
Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt, whose newer compatibility shim warns whenever the legacyEXECUTABLE_OUTPUT_PATH/LIBRARY_OUTPUT_PATHvariables are set:They are triggered by ITK's own wrapper one level up,
Modules/ThirdParty/GDCM/src/CMakeLists.txt, which set both deprecated variables in the parent scope immediately beforeadd_subdirectory(gdcm):The
src/gdcm/subtree portion of the shim landed onrelease-5.4via the GDCM upstream update in #6059, but the corresponding wrapper cleanup was never backported — so onrelease-5.4the shim sees the variables set and warns, whilemain(which already dropped theseset()calls) is silent.Fix
Backport of commit d5cf8de ("ENH: Conform GDCM to use CMAKE_*OUTPUT_DIRECTORY"), applying only the
src/CMakeLists.txtwrapper hunk — removing the twoset()calls. Thesrc/gdcm/CMakeLists.txtportion of that commit is already present onrelease-5.4(verified byte-identical), so it is intentionally omitted to avoid disturbing the vendored update.With the wrapper no longer setting the legacy variables, the vendored shim's
if()guards are false and the twomessage(WARNING ...)calls no longer fire. The vendored GDCM CMake still derivesEXECUTABLE_OUTPUT_PATH/LIBRARY_OUTPUT_PATHinternally fromCMAKE_RUNTIME_OUTPUT_DIRECTORY/CMAKE_LIBRARY_OUTPUT_DIRECTORY/CMAKE_ARCHIVE_OUTPUT_DIRECTORYfor its own use, so build output locations are unchanged.This is a configuration-only change; no C++ is affected.
Fixes #6551.
🤖 Generated with Claude Code