add_public_header(<file> [DESTINATION <destdir> ...)
Suggestion 1.
add_public_headers(
[FILES <file> [<file> ...] [RELATIVE <dir>]]
[GLOB|GLOB_RECURSE] <glob-expr> [RELATIVE dir]]
[TAGGED RELATIVE dir]
If you omit RELATIVE then it defaults to the top-level dir of the corresponding file set.
Relative file paths will be interpreted relative to current source dir.
By default the files tagged as //#acme public header
are interpreted relative to the current source dir, so for example a file ${CMAKE_CURRENT_SOURCE_DIR}/foo.h will be installed into include//foo.h.
With the TAGGED form you can override the RELATIVE property (base dir) of the tagged files.
The hierarchy will be kept below the RELATIVE dirs (base dirs)
The base dirs will be added to the include_directories.