2016-10-27 69 views
-1

是否可以指定僅用於cmake編譯器測試的某些編譯器/鏈接器標誌(即實際項目將使用不同的標誌集)? 例如,我需要使用-mcpu = native選項編譯主項目,而不使用此選項作爲測試程序。 或者,有沒有辦法檢查cmake是否正在編譯測試程序,然後根據這個條件定義編譯標誌? 感謝僅用於編譯器測試的cmake標誌

+0

難道我們談論['try_compile()'](https://cmake.org/cmake/help/latest/ command/try_compile.html)(這也用於第一次編譯器檢查)?那麼是的,你可以檢查全局屬性['IN_TRY_COMPILE'](https://cmake.org/cmake/help/latest/prop_gbl/IN_TRY_COMPILE.html)。我在我的工具鏈文件中使用它來查看CMake是否正在運行一些編譯器檢查。或者您可以通過['CMAKE_TRY_COMPILE_CONFIGURATION'](https://cmake.org/cmake/help/latest/variable/CMAKE_TRY_COMPILE_CONFIGURATION.html)使用您自己的嘗試編譯配置。 – Florian

回答

0

編譯器/連接器選項可以爲每個目標使用target_compile_options設置:

add_executable(main_project ...) 
target_compile_options(main_project PUBLIC -mcpu=native)