File tree Expand file tree Collapse file tree 9 files changed +56
-7
lines changed
Expand file tree Collapse file tree 9 files changed +56
-7
lines changed Original file line number Diff line number Diff line change 22# @file compiler-configs-cuda.cmake
33# @brief Compiler configurations for cuda.
44#
5- # @note Several parameters SHOULD be set BEFORE including this file:
5+ # @note Values SHOULD be set BEFORE including this file:
66# - `ENV{NVCC_CCBIN}`: CUDA Compiler bindir. Default: auto-detected.
77# - `CMAKE_CUDA_STANDARD`: CUDA Standard. Default: 20.
88# ==================================================================================================
Original file line number Diff line number Diff line change 22# @file compiler-configs-cpp.cmake
33# @brief Compiler configurations for the host.
44#
5- # @note Several parameters SHOULD be set BEFORE including this file:
5+ # @note Values MUST be set BEFORE including this file:
6+ # - `STDOUT_IS_TERMINAL`: Whether stdout is a terminal.
7+ # Values SHOULD be set BEFORE including this file:
68# - `ENV{CXX}`: C++ Compiler. Default: auto-detected.
79# - `CMAKE_CXX_STANDARD`: C++ Standard. Default: 20.
810# - `CMAKE_CXX_SCAN_FOR_MODULES`: Whether to use modules. Default: OFF.
@@ -58,3 +60,11 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
5860else ()
5961 log_fatal("Unsupported compiler" )
6062endif ()
63+
64+ if (STDOUT_IS_TERMINAL)
65+ add_compile_options (
66+ $<$<CXX_COMPILER_ID:GNU>:-fdiagnostics-color=always>
67+ $<$<CXX_COMPILER_ID:Clang>:-fcolor-diagnostics>
68+ $<$<CXX_COMPILER_ID:MSVC >:/FC>
69+ )
70+ endif ()
Original file line number Diff line number Diff line change 22# @brief Enable CUDA support.
33# @see "https://cliutils.gitlab.io/modern-cmake/chapters/packages/CUDA.html"
44#
5- # @note Several parameters should be set before including this file:
5+ # @note Values should be set before including this file:
66# - CUDA_HOME/CUDA_DIR/ENV{CUDA_HOME}/ENV{CUDA_DIR}:
77# Path to spdlog libaray installation path.
88# ==================================================================================================
Original file line number Diff line number Diff line change 1- # [SEE] https://cmake.org/cmake/help/latest/module/FindPython.html
1+ # [SEE] " https://cmake.org/cmake/help/latest/module/FindPython.html"
22find_package (
33 Python
44 REQUIRED
Original file line number Diff line number Diff line change 33# @brief Compiler configurations for cuda.
44#
55# @note This file shoule NEVER include any other file (to avoid circular dependencies).
6+ #
7+ # @note Values MUST be set BEFORE including this file:
8+ # - `STDOUT_IS_TERMINAL`: Whether stdout is a terminal.
69# ==================================================================================================
710
811string (ASCII 27 Esc)
912
10- if (CMAKE_COLOR_DIAGNOSTICS )
13+ if (STDOUT_IS_TERMINAL )
1114 set (LOG_RED "${Esc} [0;31m" )
1215 set (LOG_GREEN "${Esc} [0;32m" )
1316 set (LOG_YELLOW "${Esc} [0;33m" )
@@ -28,11 +31,11 @@ else()
2831endif ()
2932
3033if (NOT DEFINED LOG_PREFIX)
31- set (LOG_PREFIX "${LOG_PURPLE} _template_project_name_${LOG_RESET} " )
34+ set (LOG_PREFIX "_template_project_name_" )
3235endif ()
3336
3437function (log_info msg)
35- message (STATUS "[${LOG_PREFIX} |${LOG_GREEN} INFO${LOG_RESET} ] >>> ${msg} " )
38+ message (STATUS "[${LOG_PURPLE}${ LOG_PREFIX}${LOG_RESET } |${LOG_GREEN} INFO${LOG_RESET} ] >>> ${msg} " )
3639endfunction ()
3740
3841function (log_warning msg)
Original file line number Diff line number Diff line change @@ -8,6 +8,14 @@ BUILD_TYPE=Release
88CXX_STANDARD=20
99CUDA_STANDARD=20
1010
11+ if [ -t 1 ]; then
12+ STDOUT_IS_TERMINAL=ON
13+ export GTEST_COLOR=yes
14+ else
15+ STDOUT_IS_TERMINAL=OFF
16+ export GTEST_COLOR=no
17+ fi
18+
1119while [[ $# -gt 0 ]]; do
1220 case $1 in
1321 -S|--source-dir)
@@ -33,6 +41,7 @@ while [[ $# -gt 0 ]]; do
3341done
3442
3543cmake -G Ninja -S $SOURCE_DIR -B $BUILD_DIR \
44+ -DSTDOUT_IS_TERMINAL=$STDOUT_IS_TERMINAL \
3645 -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
3746 -DCMAKE_CXX_STANDARD=$CXX_STANDARD \
3847 -DCMAKE_CUDA_STANDARD=$CUDA_STANDARD
Original file line number Diff line number Diff line change @@ -9,6 +9,14 @@ CXX_STANDARD=20
99CUDA_STANDARD=20
1010BUILD_SHARED_LIBS=OFF
1111
12+ if [ -t 1 ]; then
13+ STDOUT_IS_TERMINAL=ON
14+ export GTEST_COLOR=yes
15+ else
16+ STDOUT_IS_TERMINAL=OFF
17+ export GTEST_COLOR=no
18+ fi
19+
1220while [[ $# -gt 0 ]]; do
1321 case $1 in
1422 -S|--source-dir)
@@ -36,6 +44,7 @@ while [[ $# -gt 0 ]]; do
3644done
3745
3846cmake -G Ninja -S $SOURCE_DIR -B $BUILD_DIR \
47+ -DSTDOUT_IS_TERMINAL=$STDOUT_IS_TERMINAL \
3948 -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
4049 -DCMAKE_CXX_STANDARD=$CXX_STANDARD \
4150 -DCMAKE_CUDA_STANDARD=$CUDA_STANDARD \
Original file line number Diff line number Diff line change @@ -7,6 +7,14 @@ BUILD_DIR=./build
77BUILD_TYPE=Release
88CXX_STANDARD=20
99
10+ if [ -t 1 ]; then
11+ STDOUT_IS_TERMINAL=ON
12+ export GTEST_COLOR=yes
13+ else
14+ STDOUT_IS_TERMINAL=OFF
15+ export GTEST_COLOR=no
16+ fi
17+
1018while [[ $# -gt 0 ]]; do
1119 case $1 in
1220 -S|--source-dir)
@@ -30,6 +38,7 @@ while [[ $# -gt 0 ]]; do
3038done
3139
3240cmake -G Ninja -S $SOURCE_DIR -B $BUILD_DIR \
41+ -DSTDOUT_IS_TERMINAL=$STDOUT_IS_TERMINAL \
3342 -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
3443 -DCMAKE_CXX_STANDARD=$CXX_STANDARD
3544
Original file line number Diff line number Diff line change @@ -8,6 +8,14 @@ BUILD_TYPE=Release
88CXX_STANDARD=20
99BUILD_SHARED_LIBS=OFF
1010
11+ if [ -t 1 ]; then
12+ STDOUT_IS_TERMINAL=ON
13+ export GTEST_COLOR=yes
14+ else
15+ STDOUT_IS_TERMINAL=OFF
16+ export GTEST_COLOR=no
17+ fi
18+
1119while [[ $# -gt 0 ]]; do
1220 case $1 in
1321 -S|--source-dir)
@@ -33,6 +41,7 @@ while [[ $# -gt 0 ]]; do
3341done
3442
3543cmake -G Ninja -S $SOURCE_DIR -B $BUILD_DIR \
44+ -DSTDOUT_IS_TERMINAL=$STDOUT_IS_TERMINAL \
3645 -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
3746 -DCMAKE_CXX_STANDARD=$CXX_STANDARD \
3847 -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS
You can’t perform that action at this time.
0 commit comments