vcpkg/docs/maintainers/ports/vcpkg-cmake-get-vars/vcpkg_cmake_get_vars.md
Alexander Neumann bae8f8c7d8
[world rebuild] Move vcpkg-cmake-get-vars to its own port (#24636)
* move vcpkg-cmake-get-vars to its own helper port

* manifest format

* version stuff

* doc and version stuff

* add missing include

* version bump

* remove coypright copying.

* version stuff

Co-authored-by: Alexander Neumann <you@example.com>
2022-05-11 16:51:06 -07:00

1.3 KiB

vcpkg_cmake_get_vars

The latest version of this document lives in the vcpkg repo.

Runs a cmake configure with a dummy project to extract certain cmake variables

Usage

vcpkg_cmake_get_vars(<out-var>)

vcpkg_cmake_get_vars(<out-var>) sets <out-var> to a path to a generated CMake file, with the detected CMAKE_* variables re-exported as VCPKG_DETECTED_CMAKE_*.

Additionally sets, for RELEASE and DEBUG:

  • VCPKG_COMBINED_CXX_FLAGS_
  • VCPKG_COMBINED_C_FLAGS_
  • VCPKG_COMBINED_SHARED_LINKER_FLAGS_
  • VCPKG_COMBINED_STATIC_LINKER_FLAGS_
  • VCPKG_COMBINED_EXE_LINKER_FLAGS_

Most users should use these pre-combined flags instead of attempting to read the VCPKG_DETECTED_* flags directly.

Notes

Avoid usage in portfiles.

All calls to vcpkg_cmake_get_vars will result in the same output file; the output file is not generated multiple times.

Basic Usage

vcpkg_cmake_get_vars(cmake_vars_file)
include("${cmake_vars_file}")
message(STATUS "detected CXX flags: ${VCPKG_DETECTED_CMAKE_CXX_FLAGS}")

Source

ports/vcpkg-cmake-get-vars/vcpkg_cmake_get_vars.cmake