Kan*_*bin 4 cmake build-system
例如,在编译.c文件时,我希望cmake只是打印
CC xxx.c
Run Code Online (Sandbox Code Playgroud)
到stdout,就像linux kbuild一样.
可以通过抑制CMake生成的标准消息并在启动器脚本中输出自定义消息来自定义CMake输出.将以下代码添加到最外层CMakeLists.txt
:
set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CMAKE_SOURCE_DIR}/custom_output.sh")
Run Code Online (Sandbox Code Playgroud)
将全局RULE_MESSAGES属性设置为OFF
将禁止标准消息.全局RULE_LAUNCH_COMPILE属性设置为名为的自定义启动脚本custom_output.sh
,需要将其添加到CMake源树的根目录:
#!/bin/sh
# shell script invoked with the following arguments
# $(CXX) $(CXX_DEFINES) $(CXX_FLAGS) -o OBJECT_FILE -c SOURCE_FILE
# extract parameters
SOURCE_FILE="${@: -1:1}"
OBJECT_FILE="${@: -3:1}"
echo "CC `basename \"$SOURCE_FILE\"`"
# invoke compiler
exec "$@"
Run Code Online (Sandbox Code Playgroud)
需要设置脚本的可执行位.
通过设置RULE_LAUNCH_LINK脚本,可以以相同的方式自定义链接器输出.
归档时间: |
|
查看次数: |
2318 次 |
最近记录: |