CMake INTERPROCEDURAL_OPTIMIZATION для целей отладки только - PullRequest
0 голосов
/ 24 декабря 2018

У меня есть проект, который я создаю как Debug, Release и RelWithDebInfo.Начиная с CMake 3.9.6 (я думаю?), Было введено свойство INTERPROCEDURAL_OPTIMIZATION, которое включает в себя -flto для проекта.Однако я не хочу включать -flto при компиляции для Debug, так как это замедляет время компиляции (и отладчик менее стабилен в моем опыте, когда эта функция включена).

В настоящее время то, что яЧтобы включить -flto в CMake, необходимо выполнить следующее:

include(CheckIPOSupported)
check_ipo_supported(RESULT ipo_result OUTPUT ipo_err)
if (ipo_result)
    message(STATUS "IPO is supported")
    set_property(GLOBAL PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
endif ()

Интересно, есть ли возможность включить эту функцию только при включенной версии.Более того, я использую генератор Xcode в своем проекте, поэтому мне интересно, можно ли применить это правило (-flto только для конфигурации Debug) к сгенерированному .xcodeproj?

1 Ответ

0 голосов
/ 24 декабря 2018

Используйте INTERPROCEDURAL_OPTIMIZATION_<CONFIG> вместо.Обратите внимание, что это свойства каталога и назначения, а не глобальные.Поэтому вам придется включить его для конфигураций, которые его используют, или вы можете установить значение false, чтобы отключить его, если он включен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...