]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/docs/maintainers/vcpkg_fixup_cmake_targets.md
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / docs / maintainers / vcpkg_fixup_cmake_targets.md
1 # vcpkg_fixup_cmake_targets
2
3 **This function has been deprecated in favor of [`vcpkg_cmake_config_fixup`](ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md) from the vcpkg-cmake-config port.**
4
5 The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_fixup_cmake_targets.md).
6
7 Merge release and debug CMake targets and configs to support multiconfig generators.
8
9 Additionally corrects common issues with targets, such as absolute paths and incorrectly placed binaries.
10
11 ## Usage
12 ```cmake
13 vcpkg_fixup_cmake_targets([CONFIG_PATH <share/${PORT}>]
14 [TARGET_PATH <share/${PORT}>]
15 [TOOLS_PATH <tools/${PORT}>]
16 [DO_NOT_DELETE_PARENT_CONFIG_PATH])
17 ```
18
19 ## Parameters
20
21 ### CONFIG_PATH
22 Subpath currently containing `*.cmake` files subdirectory (like `lib/cmake/${PORT}`). Should be relative to `${CURRENT_PACKAGES_DIR}`.
23
24 Defaults to `share/${PORT}`.
25
26 ### TARGET_PATH
27 Subpath to which the above `*.cmake` files should be moved. Should be relative to `${CURRENT_PACKAGES_DIR}`.
28 This needs to be specified if the port name differs from the `find_package()` name.
29
30 Defaults to `share/${PORT}`.
31
32 ### DO_NOT_DELETE_PARENT_CONFIG_PATH
33 By default the parent directory of CONFIG_PATH is removed if it is named "cmake".
34 Passing this option disable such behavior, as it is convenient for ports that install
35 more than one CMake package configuration file.
36
37 ### NO_PREFIX_CORRECTION
38 Disables the correction of_IMPORT_PREFIX done by vcpkg due to moving the targets.
39 Currently the correction does not take into account how the files are moved and applies
40 I rather simply correction which in some cases will yield the wrong results.
41
42 ### TOOLS_PATH
43 Define the base path to tools. Default: `tools/<PORT>`
44
45 ## Notes
46 Transform all `/debug/<CONFIG_PATH>/*targets-debug.cmake` files and move them to `/<TARGET_PATH>`.
47 Removes all `/debug/<CONFIG_PATH>/*targets.cmake` and `/debug/<CONFIG_PATH>/*config.cmake`.
48
49 Transform all references matching `/bin/*.exe` to `/${TOOLS_PATH}/*.exe` on Windows.
50 Transform all references matching `/bin/*` to `/${TOOLS_PATH}/*` on other platforms.
51
52 Fix `${_IMPORT_PREFIX}` in auto generated targets to be one folder deeper.
53 Replace `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs and targets.
54
55 ## Examples
56
57 * [concurrentqueue](https://github.com/Microsoft/vcpkg/blob/master/ports/concurrentqueue/portfile.cmake)
58 * [curl](https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake)
59 * [nlohmann-json](https://github.com/Microsoft/vcpkg/blob/master/ports/nlohmann-json/portfile.cmake)
60
61 ## Source
62 [scripts/cmake/vcpkg\_fixup\_cmake\_targets.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_fixup_cmake_targets.cmake)