Merge release and debug CMake targets and configs to support multiconfig generators.
Additionally corrects common issues with targets, such as absolute paths and incorrectly placed binaries.
vcpkg_fixup_cmake_targets([CONFIG_PATH <share/${PORT}>] [TARGET_PATH <share/${PORT}>] [DO_NOT_DELETE_PARENT_CONFIG_PATH])
Subpath currently containing *.cmake
files subdirectory (like lib/cmake/${PORT}
). Should be relative to ${CURRENT_PACKAGES_DIR}
.
Defaults to share/${PORT}
.
Subpath to which the above *.cmake
files should be moved. Should be relative to ${CURRENT_PACKAGES_DIR}
.
This needs to be specified if the port name differs from the find_package()
name.
Defaults to share/${PORT}
.
By default the parent directory of CONFIG_PATH is removed if it is named "cmake". Passing this option disable such behavior, as it is convenient for ports that install more than one CMake package configuration file.
Transform all /debug/<CONFIG_PATH>/*targets-debug.cmake
files and move them to /<TARGET_PATH>
.
Removes all /debug/<CONFIG_PATH>/*targets.cmake
and /debug/<CONFIG_PATH>/*config.cmake
.
Transform all references matching /bin/*.exe
to /tools/<port>/*.exe
on Windows.
Transform all references matching /bin/*
to /tools/<port>/*
on other platforms.
Fix ${_IMPORT_PREFIX}
in auto generated targets to be one folder deeper.
Replace ${CURRENT_INSTALLED_DIR}
with ${_IMPORT_PREFIX}
in configs and targets.