在我的CMakeList.txt中,我可以做以下事情:
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -new -flags -here")
是否可以通过命令行进行相同的操作?喜欢:
cmake.exe -DCMAKE_CXXFLAGS+= -new -flags
答案 0 :(得分:17)
我不确定您是否可以直接从命令行添加选项,但您可以使用其他变量来存储它们并在最后合并它。如下所示:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_FLAGS}")
然后按如下方式调用cmake:
cmake -DMY_FLAGS="-new -flags"
答案 1 :(得分:1)
首先,请不要靠近,
!使用target_compile_options
:
"{:,}".format(value).replace(',', ' ')
要展开其他列表,请使用list
:
CMAKE_CXX_FLAGS
答案 2 :(得分:0)
如果您不喜欢@Svalorzen指定的命令行语法,您可以编写一个脚本,以您喜欢的方式解释其命令行参数,并将它们转换为可以放在cmake.exe上的内容。命令行。如果需要考虑可移植性,可以使用Perl等语言编写脚本(通常可在类Unix平台上使用,并可安装在Windows上)。
如果所有这些都可以买到,那么你就可以解决你所描述的问题,但我建议你只使用@Svalorzen的答案。