переопределение флагов компилятора CMAKE C ++ по умолчанию - PullRequest
1 голос
/ 08 июля 2019

Я пытаюсь установить (удалить) флаги компиляторов c ++ по умолчанию, используя следующие команды в моем CMakeLists.txt:

set(CMAKE_CXX_FLAGS, "")

set(CMAKE_CXX_FLAGS_DEBUG, "")

set(CMAKE_CXX_FLAGS_RELEASE, "")

, но когда я собираюсь построить свой проект с cmake --build <builddir>,Я вижу, что мой компилятор все еще передает флаги (Visual Studio 2017).Я хочу удалить все флаги компилятора по умолчанию и выбрать, какие флаги для компилятора использовать.Как мне это сделать?

Я попытался с помощью команды set установить CMAKE_CXX_FLAGS * для очистки строк и попытался использовать cmake -H. -Bbuild -DCMAKE_CXX_FLAGS="", но в выводе командной строки я все еще вижу следующее:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\CL.exe /c /no
logo /W1 /WX- /diagnostics:classic /O2 /Oy- /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t
 /Zc:forScope /Zc:inline /Fo"hello.dir\Debug\\" /Fd"hello.dir\Debug\vc141.pdb" /Gd /TP /analyze- /FC /errorReport:queue main.cpp

Вот мой CMakeLists.txt:

cmake_minimum_required(VERSION 3.4)

project(TestProject)

set(CMAKE_CXX_FLAGS "")
set(CMAKE_CXX_FLAGS_DEBUG "")

add_executable(hello main.cpp)

и вот команда, которую я использовал:

cmake -H. -Bbuild && cmake --build build

Я ожидал увидеть в командной строке:

cl.exe main.cpp

и в моем файле CMakeCache.txt нет значений, присвоенных переменным CMAKE_CXX_FLAGS *, но CMAKE_CXX_FLAGS * продолжает иметь значения, назначенные им в моем файле CMakeCache.txt.

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