Как cmake может устанавливать разные флаги gcc для каждого модуля? - PullRequest
0 голосов
/ 22 февраля 2019

Я хочу создать проект c ++ (gcc) с подмодулями - статическими библиотеками.Базовая библиотека всегда должна быть оптимизирована для сборки и без отладочной информации, основной модуль может быть не оптимизирован и с отладочной информацией.Первое решение для флага - CMAKE_CXX_FLAGS:

project(example)
set(CMAKE_CXX_FLAGS "-O3 -std=c++14")
add_executable(example main.cpp example.cpp log.h example.h)
add_library(log log.cpp log.h)
target_link_libraries(example log)

Но это решение является глобальным.Лучше add_compile_options:

project(example)
add_compile_options(-std=c++14)
add_executable(example main.cpp example.cpp log.h example.h)
add_compile_options(-O3)
add_library(log log.cpp log.h)
target_link_libraries(example log)

, но опять же - вторые модули должны быть расстроены флагами первого модуля, я могу только добавлять опции, но не изменять.

1 Ответ

0 голосов
/ 22 февраля 2019

Вы ищете target_compile_options вместо add_compile_options.

...