Skip to content

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

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