小编Szy*_*ski的帖子

当使用cmake + ninja构建并自动执行时,GTest的输出没有颜色

我正在尝试将CMake和ninja配置为我的项目的构建系统.除了应用程序本身,我有一个额外的可执行文件,用于由gtest驱动的单元测试.我认为让它们在构建时自动执行会很好.这是我如何做到的:

??? build
??? source
    ??? CMakeLists.txt
    ??? main.cc
    ??? ut
        ??? CMakeLists.txt
        ??? gtest
        ?   ??? ...
        ??? ut.cc
Run Code Online (Sandbox Code Playgroud)

源/的CMakeLists.txt ...

cmake_minimum_required (VERSION 2.6)
project (trial)
add_subdirectory(ut)
add_executable(trial main.cc)
Run Code Online (Sandbox Code Playgroud)

...和source/ut/CMakeLists.txt:

add_subdirectory(gtest)
include_directories ("gtest/include")

add_executable(ut ut.cc)
target_link_libraries(ut LINK_PUBLIC gtest_main)

add_custom_target(run_uts
                  COMMAND ut
                  DEPENDS ut
                  WORKING_DIRECTORY ${CMAKE_PROJECT_DIR}
                 )
Run Code Online (Sandbox Code Playgroud)

现在当我构建它时,即:

cd build
cmake -GNinja ../source
ninja run_uts
Run Code Online (Sandbox Code Playgroud)

它的工作正常,但输出是无色的.当我手动运行ut二进制文件时,即build/ut/ut我得到漂亮的绿色和红色.当我使用Unix Makefiles作为CMake的生成器时,颜色也存在.

因为我只是在学习CMake,有没有我错过的或者是Ninja的问题?

cmake googletest ninja

6
推荐指数
1
解决办法
4138
查看次数

标签 统计

cmake ×1

googletest ×1

ninja ×1