[CMake] Detecting compilation option and flags

Lars Christensen larsch at belunktum.dk
Sun May 20 07:07:09 EDT 2018


I rely on these to detect options and flags:

$<TARGET_PROPERTY:${_target},COMPILE_FLAGS>
$<TARGET_PROPERTY:${_target},COMPILE_OPTIONS>

But not all options are picked up. These are missing:

1. Debug flag (when CMAKE_BUILD_TYPE=Debug)
2. -std=xx (CMAKE_CXX_STANDARD)

How can I reliably detect ALL compilation flags for a target?

Picking up these two flags is required for my pre-compiled header cmake
hack[1]. It used to work OK. I guess Debug can be detected and picked up
from _FLAGS_DEBUG, but I don't see a way to pick up -std=.

Lars

1) https://github.com/larsch/cmake-precompiled-header/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20180520/68d69b6b/attachment.html>


More information about the CMake mailing list