Fix include directories in WiseEnumConfig.cmake#42
Open
aharrison24 wants to merge 1 commit intoquicknir:masterfrom
Open
Fix include directories in WiseEnumConfig.cmake#42aharrison24 wants to merge 1 commit intoquicknir:masterfrom
aharrison24 wants to merge 1 commit intoquicknir:masterfrom
Conversation
When the project is 'installed' via CMake, the headers are copied into
the directory: `${CMAKE_INSTALL_INCLUDE_DIR}/include/wise_enum`, so that
users get a 'stuttered' include path:
```
#include <wise_enum/wise_enum.h>
```
Currently (without the patch proposed here), the `WiseEnumTargets.cmake`
file generated by the `configure_package_config_file` command contains
the lines:
```
set_target_properties(WiseEnum::wise_enum PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include/wise_enum"
)
```
I believe the second of those paths is probably incorrect, as it allows
users to include wise_enum with either of:
```
// Correct. Allowed by ${_IMPORT_PREFIX}/include
#include <wise_enum/wise_enum.h>
// Incorrect. Allowed by ${_IMPORT_PREFIX}/include/wise_enum
#include <wise_enum.h>
```
This negates the benefits of the stuttering scheme, as `wise_enum.h` is
injected in to the global include path. The proposed patch removes the
`${_IMPORT_PREFIX}/include/wise_enum` path entry and ensures that
callers cannot use the `#include <wise_enum.h>` variant.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When the project is 'installed' via CMake, the headers are copied into
the directory:
${CMAKE_INSTALL_INCLUDE_DIR}/include/wise_enum, so thatusers get a 'stuttered' include path:
Currently (without the patch proposed here), the
WiseEnumTargets.cmakefile generated by the
configure_package_config_filecommand containsthe lines:
I believe the second of those paths is probably incorrect, as it allows
users to include wise_enum with either of:
This negates the benefits of the stuttering scheme, as
wise_enum.hisinjected in to the global include path. The proposed patch removes the
${_IMPORT_PREFIX}/include/wise_enumpath entry and ensures thatcallers cannot use the
#include <wise_enum.h>variant.