CMake is very permissive about the scope of its macros and functions—once defined while processing part of a CMake project, they can be used anywhere in the rest of the project, even if the appropriate files have not been included. This can cause problems when building packages with spack mpd build, which creates a monolithic CMake project, and then switching to spack install, which builds one package at a time.
MPD should gain the feature that a project's developed packages can be built one package at a time.
CMake is very permissive about the scope of its macros and functions—once defined while processing part of a CMake project, they can be used anywhere in the rest of the project, even if the appropriate files have not been included. This can cause problems when building packages with
spack mpd build, which creates a monolithic CMake project, and then switching tospack install, which builds one package at a time.MPD should gain the feature that a project's developed packages can be built one package at a time.