我想要你的帮助,因为我是一名新手,谈到CMake . 假设我有一个可执行目标T,它取决于源文件A.c,B.cpp和c.cpp . 我想用特定的标志编译A.c并创建目标文件A.o.为简单起见,我们假设B和C将使用g编译,并使用相同的标志集,并且相应的目标文件应创建为B.o C.o.然后我可以链接这些目标文件并使用gcc生成T.我知道我可以使用常规makefile在几个步骤中完成它 . 基本上,我无法使用特定标志编译A.c,其余文件使用相同的标志 . 我不知道用CMake应该怎么做?
add_executable(T A.c B.cpp C.cpp)
我知道CMake提供 target_compile_options()
但是我不知道怎么用它来做我的情况?我想它可以设置为目标的全局标志,但不是我追求的!
1 回答
如果要为各个源文件设置特定标志,则需要使用源文件属性 . 您可以使用set_property(SOURCE...)或set_source_files_properties()来执行此操作 . 您可能感兴趣的源属性是COMPILE_DEFINITIONS和COMPILE_FLAGS . 例如: