我有一個CMakeLists.txt,它可以構建多個目標。調用一個foo
和一個bar
請解釋此CMake語法,用於將編譯器選項添加到目標
目前foo
兩者份額bar
一些設置給ccmake
配置
CMAKE_CXX_FLAGS = -W -Wall
CMAKE_CXX_FLAGS_DEBUG = -g -pg
等
我需要添加-fPIC
到foo
但不bar
。據this answer我想用TARGET_COMPILE_OTIONS
target_compile_options(foo PUBLIC "$<$<CONFIG:DEBUG>:${MY_DEBUG_OPTIONS}>")
target_compile_options(foo PUBLIC "$<$<CONFIG:RELEASE>:${MY_RELEASE_OPTIONS}>")
注意target_compile_options 添加[原文]選項
這聽起來就像是我所需要的,這是什麼語法是什麼意思?
"$<$<CONFIG:DEBUG>:${MY_DEBUG_OPTIONS}>"
爲了澄清,我想補充-fPIC
作爲額外標誌編譯foo
但不編譯bar
時請說明$<$<
業務和告訴我的時候,具體如何-fPIC
將被添加foo
的標誌。
用-fPIC或PIC替換'$ {MY_ * DEBUG_OPTIONS}',不確定。 – usr1234567