如何自定义cmake的输出
答
这在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")
设置全局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 "[email protected]"
脚本的执行位,需要设置。
链接器输出可以通过设置RULE_LAUNCH_LINK脚本以相同的方式定制。