Skip to main content

kmpkg_cmake_get_vars

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

Usage

kmpkg_cmake_get_vars(<out-var>)

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

Additionally sets, for RELEASE and DEBUG:

  • KMPKG_COMBINED_CXX_FLAGS_<config>
  • KMPKG_COMBINED_C_FLAGS_<config>
  • KMPKG_COMBINED_SHARED_LINKER_FLAGS_<config>
  • KMPKG_COMBINED_STATIC_LINKER_FLAGS_<config>
  • KMPKG_COMBINED_EXE_LINKER_FLAGS_<config>

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

Notes

Avoid usage in portfiles.

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

Basic Usage

kmpkg_cmake_get_vars(cmake_vars_file)
include("${cmake_vars_file}")
message(STATUS "detected CXX flags: ${KMPKG_DETECTED_CMAKE_CXX_FLAGS}")

Source

ports/kmpkg-cmake-get-vars/kmpkg_cmake_get_vars.cmake