Skip to content

Don't assign anything but the top-level include directory to target include directories #116

@mortbopet

Description

@mortbopet

This project already has fairly well defined include namespacing, so i'm surprised to see non-top-level-include directories being added as include directories (e.g. here:

$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../../include/substrait/common>
).

The above pattern will pollute the global include path, which may cause include conflicts.

Specifically, this example causes a conflict on windows, where io.h is a windows header... which then conflicts with io.h in this repository.

In general, having access to header files from paths not anchored by the include namespacing of a project (#include "substrait/.../...) will make a project prone to errors when being used as a library.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions