set 변수를 사용해 Shell에 출력되는 문자들의 색상을 지정할 수 있다.

if(NOT WIN32)
    string(ASCII 27 Esc)
    set(ColourReset "${Esc}[m")
    set(ColourBold "${Esc}[1m")
    set(Red "${Esc}[31m")
    set(Green "${Esc}[32m")
    set(Yellow "${Esc}]33m")
    set(Blue "${Esc}]34")
    set(Magenta "${Esc}]35m")
    set(Cyan "${Esc}]36m")
    set(White "${Esc}[37m")
    set(BoldRed "${Esc}[1;31m")
    set(BoldGreen "${Esc}[1;32m")
    set(BoldYellow "${Esc}[1;33m")
    set(BoldBlue "${Esc}[1;34m")
    set(BoldMagenta "${Esc}[1;35m")
    set(BoldCyan "${Esc}[1;36m")
    set(BoldWhite "${Esc}[1;37m")
endif()

위의 내용을 .cmkae파일로 만들어 include하거나 CmakeLists.txt 의 상단에 삽입한다.

Example

message(" ")
message( "${BoldGreen}\t\t\t[ BUILD SUMMARY ]     ${White}" )
message( "${BoldWhite}------------------------------------------------------------------------${ColourReset}"