1. 设置属性
在CMakeLists.txt
中添加:
set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CMAKE_SOURCE_DIR}/custom_output.sh")
2. 自定义脚本
#!/bin/bash
# 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}"
# invoke compiler
TIME_BEFORE=`date +%s%N | cut -b1-13`
"$@"
TIME_AFTER=`date +%s%N | cut -b1-13`
TIME=$(($TIME_AFTER-$TIME_BEFORE))
echo " *** Built object `basename \"$OBJECT_FILE\"` from $SOURCE_FILE in $TIME ms."