Remove MAPL_SUPPORT_MAPL3 build option#4634
Merged
Merged
Conversation
Removes the MAPL_SUPPORT_MAPL3 CMake option and all associated MAPL_TARGET_PREFIX variable logic (GH-4633). The dual-mount MAPL2+MAPL3 approach has been abandoned due to vtable mismatches and symbol ambiguity from 23+ shared source files with identical Fortran module names and C symbols. The strategy is superseded by a single-mount MAPL3-only approach. Changes: - Remove option() declaration and if/else blocks in top-level CMakeLists.txt; all previously gated subdirectories (Apps, generic, gridcomps, docs, benchmarks, Python, Tests) are now unconditionally added - Replace ${MAPL_TARGET_PREFIX} with literal 'MAPL' across all component CMakeLists.txt files - Remove MAPL_SUPPORT_MAPL3 guards from MAPL/CMakeLists.txt and base/tests/CMakeLists.txt - Remove #ifdef MAPL_SUPPORT_MAPL3 preprocessor guards from MAPL/MAPL.F90; module is now unconditionally 'module MAPL' - Update CHANGELOG.md
mathomp4
reviewed
Apr 9, 2026
mathomp4
approved these changes
Apr 9, 2026
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.
Types of change(s)
Checklist
make testsorctest)Description
Removes the
MAPL_SUPPORT_MAPL3CMake build option and all associatedMAPL_TARGET_PREFIXvariable logic.The dual-mount MAPL2+MAPL3 approach has been abandoned. MAPL2 and MAPL3 share 23+ files with identical Fortran module names and C symbols, making it impossible to build both as independent CMake targets without vtable mismatches and symbol ambiguity errors. This approach is superseded by a single-mount MAPL3-only strategy.
What was removed:
MAPL_SUPPORT_MAPL3CMakeoption()declaration and allif (MAPL_SUPPORT_MAPL3)/if (NOT MAPL_SUPPORT_MAPL3)guards in the top-levelCMakeLists.txt— all previously gated subdirectories (Apps,generic,gridcomps,docs,benchmarks,Python,Tests) are now unconditionally includedMAPL_TARGET_PREFIXvariable replaced with the literalMAPLacross all componentCMakeLists.txtfiles#ifdef MAPL_SUPPORT_MAPL3preprocessor guards removed fromMAPL/MAPL.F90; module is now unconditionallymodule MAPL/module MAPL_Modadd_compile_definitions(MAPL_SUPPORT_MAPL3)call removedRelated Issue
Closes #4633