Skip to content

EXCLUDE_FROM_ALL option inconsistent with upstream CMake #693

@vyasr

Description

@vyasr

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions