Как эффективно использовать флаги CXX, предоставляемые llvm-config?
У меня есть проект, который построен на основе LLVM. Сейчас я пытаюсь создать файл CMakeLists, который будет работать как минимум на платформах Mac OS, Ubuntu и CentOS. Для этого я использую /opt/llvm-3.9/bin/llvm-config --libnames x86 ...
связать мой проект с библиотеками, которые ему нужны, а также я планирую использовать llvm-config --cxxflags
:
--cxxflags флаги компилятора C++ для файлов, содержащих заголовки LLVM.
Проблема, однако, в том, что llvm-config --cxxflags
дает больше флагов, которые нужны моей библиотеке, в частности добавляет -O3
что я определенно не хочу быть там в сборках Debug моего проекта:
/opt/llvm-3.9/bin/llvm-config --cxxflags
-I / opt / llvm-3.9 / include -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-неиспользуемый параметр -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Werror= дата-время -std= C++11 -O3 -DNDEBUG -fno-exceptions -fno-rtti -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
Это выглядит как --cxxflags
дает флаги, с которыми был создан сам LLVM, а не флаги, которые он рекомендует мне использовать для моих файлов.cpp.
У этой темы [LLVMdev] Идеи для того, чтобы сделать llvm-config --cxxflags более полезной, есть мой вопрос в начале, но в итоге он ни к чему.
Как правильно выбрать флаги LLVM, которые могут понадобиться моему проекту для файлов, которые связаны с LLVM?