Skip to content

Support header sets #3

@natezb

Description

@natezb

Just as it's useful to support multiple possible lib binaries (where the first one found is used), it would be useful to support multiple sets of headers. This is particularly useful when one vendor repackages another's software and renames the headers/libs, as in mabuchilab/Instrumental#26.

I think the most natural way to do this right now is to allow a tuple of "header dicts" under each platform, rather than only a single header dict. This would be less confusing than using nested tuples of header names within a single header dict, since there's less ordering ambiguity. This roughly mirrors how specifying multiple libs works, too. It also maps well onto the problem described above, where you will want to look within a separate list of directories, depending which vendor's software you have installed: i.e. you should only look for Thorlabs headers within its directories, and IDS headers within its directories.

Here's an example to demonstrate:

header_info = {
    'win*': (
        {
            'path': ['vendor/one/path'],
            'header': 'header_one.h'
        },
        {
            'path': ['vendor/two/path'],
            'header': 'header_two.h'
        }
    )
}

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