У меня есть проект C/C++, составленный с помощью gcc
и использующий cmake 2.8+
. Я знаю, cmake
поддерживает теги OPTION(XXX "Description..." ON/OFF)
. Я хотел бы, чтобы эти параметры сборки каким-то образом возникали в -DXXX
аргументах времени компиляции, переданных в gcc
. Как сделать это наиболее элегантно?Параметры CMAKE для аргументов компилятора -DXXX
2
A
ответ
5
Если вы заботитесь только о добавлении -D флаги компилятора, то команда, которую вы хотите,
Вы можете обернуть, что в случае() блок должен быть включен с соответствующей опцией():
option(MY_FUNCTIONALITY "Cool functionality" ON)
if(MY_FUNCTIONALITY)
add_definitions(-DENABLE_MY_FUNCTIONALITY)
endif()
Смежные вопросы
- 1. Передать параметры компилятора с использованием cmake
- 2. Как применить различные параметры компилятора для разных компиляторов в cmake?
- 3. Параметры компилятора java. -J?
- 4. Команда компилятора извлечения от cmake
- 5. Идентификация компилятора CMake C
- 6. cmake проверить наличие компилятора
- 7. Документация для CMake -std параметры
- 8. Параметры компиляции CMake для libpng
- 9. CMake дополнительные параметры отладки
- 10. Параметры компилятора для проекта C#
- 11. Параметры компилятора для проектов C#
- 12. Параметры компилятора Delphi для отладки
- 13. cmake: флаг компилятора для всех типов сборки
- 14. cmake flags только для теста компилятора
- 15. Получение компилятора для создания созданного Cmake файла
- 16. Как установить параметры компилятора в KDevelop?
- 17. CMAKE набор флагов компилятора rc?
- 18. CMake переопределять собственные флаги компилятора
- 19. CMake: установка значений по умолчанию для аргументов
- 20. CMake: Установка правильных параметров компилятора только для одной платформы
- 21. Параметры строки CMAKE
- 22. Оптимизация компилятора C++ для переданных аргументов
- 23. Сделать параметры компилятора
- 24. AndroidStudio C++ Параметры компилятора
- 25. Параметры компилятора erlIDE
- 26. Параметры оптимизации компилятора GCC
- 27. Как установить параметры компилятора?
- 28. Visual C# - Параметры компилятора
- 29. Ошибки Cmake: идентификатор компилятора CXX неизвестен, идентификатор компилятора C неизвестен
- 30. параметры компилятора для повышения эффективности оптимизации кода
Не должно быть 'endif (MY_FUNCTIONALITY)'? –
Это был требуемый синтаксис, однако теперь это необязательная вещь. Стилистически я не уверен, что предпочтительнее. – alanxz
Оставляя закрытие команд пустым (как и ответ), безусловно, является предпочтительным стилем в современном CMake. СУХОЙ и все такое. – Angew