如何自定义cmake输出
例如,在编译.c文件时,我希望cmake只打印如何自定义cmake输出,cmake,build-system,Cmake,Build System,例如,在编译.c文件时,我希望cmake只打印 CC xxx.c 对于标准输出,如linux kbuild。在当前版本的CMake中,如果不亲自编辑源代码,这是不可能的。当然,sed和awk将对您有所帮助。CMake输出可以通过抑制CMake生成的标准消息并在启动程序脚本中输出自定义消息来定制。将以下代码添加到最外层的CMakeLists.txt: set_property(GLOBAL PROPERTY RULE_MESSAGES OFF) set_property(GLOBAL PR
CC xxx.c
对于标准输出,如linux kbuild。在当前版本的
CMake
中,如果不亲自编辑源代码,这是不可能的。当然,sed
和awk
将对您有所帮助。CMake输出可以通过抑制CMake生成的标准消息并在启动程序脚本中输出自定义消息来定制。将以下代码添加到最外层的CMakeLists.txt
:
set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CMAKE_SOURCE_DIR}/custom_output.sh")
将全局属性设置为OFF
将抑制标准消息。
全局属性设置为名为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 "$@"
需要设置脚本的可执行位
链接器输出也可以通过设置脚本以同样的方式进行自定义