In CPM.CMake EXCLUDE_FROM_ALL is a single-valued parameter e.g. CPMFindPackage(... EXCLUDE_FROM_ALL ON). On the other hand, the CMake interfaces that support this parameter all have it as a boolean option, such as FetchContent, add_subdirectory, and install. This introduces some cognitive dissonance when mixing commands from CPM with those upstream CMake commands.
I searched through CPM's issue history and found this discussion indicating that the choice was intentional. Do we still think that makes sense today? If maintaining that difference is still desirable, would it make sense to use a different name than what CMake upstream uses? I realize that could be a confusing break for existing CPM.cmake users, but I wanted to raise this issue anyway so that if nothing else it serves as documentation for future users.
In CPM.CMake
EXCLUDE_FROM_ALLis a single-valued parameter e.g.CPMFindPackage(... EXCLUDE_FROM_ALL ON). On the other hand, the CMake interfaces that support this parameter all have it as a boolean option, such as FetchContent, add_subdirectory, and install. This introduces some cognitive dissonance when mixing commands from CPM with those upstream CMake commands.I searched through CPM's issue history and found this discussion indicating that the choice was intentional. Do we still think that makes sense today? If maintaining that difference is still desirable, would it make sense to use a different name than what CMake upstream uses? I realize that could be a confusing break for existing CPM.cmake users, but I wanted to raise this issue anyway so that if nothing else it serves as documentation for future users.