target_compile_options(<target> [BEFORE] <INTERFACE|PUBLIC|PRIVATE> [items1...] [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
作用:
在编译给定目标文件时,指定要用到的编译选项。target目标文件必须已经存在(由命令add_executable()或add_library()创建)且不能被IMPORTED修饰。
参数:
1.若指定BEFORE修饰,则内容会被前缀到属性。
2.该命令可用来添加任何选项,但是也存在其他可选的命令来添加到预处理(target_compile_definitions()和add_definitions())或包含目录(target_include_directories()和include_directories())。
3.关键字INTERFACE,PUBLIC和PRIVATE指定后续参数作用域。PRIVATE和PUBLIC项会填充到target目标文件的COMPILE_OPTIONS属性。PUBLIC和INTERFACE项会被填充到target目标文件INTERFACE_COMPILE_OPTIONS属性。后续参数指定编译选项。对同一个target文件的重复调用按调用顺序进行。