buildsystem: include directories vs target sources
BurningEnlightenment opened this issue · comments
The vcpkg port moves all headers into a status-code
subdirectory:
file(RENAME "${CURRENT_PACKAGES_DIR}/include2" "${CURRENT_PACKAGES_DIR}/include/status-code")
https://github.com/microsoft/vcpkg/blob/eddbb406cff0ff7828592d5a92e64abb59808534/ports/status-code/portfile.cmake#L25-L26
This, however, is incompatible with the install interface target sources which expect the headers to directly reside in the include directory:
Lines 109 to 111 in 42d3afa
Additionally I find install interface target sources to be annoying, because e.g. the cmake VS solution generator adds them to all (transitively) depending targets. What was the rationale for referencing all headers from the installed target? Can we do without?
Am I being dumb here or isn't the right fix just to fix how cmake does the install so it's right, and then the vcpkg port doesn't need to rename anything?
Note that we can't update Outcome to match this until after the pending Boost release.