Skip to content

Commit 0bb74d7

Browse files
committed
Build system improvements.
1 parent 97f3eb8 commit 0bb74d7

1 file changed

Lines changed: 40 additions & 4 deletions

File tree

CMakeLists.txt

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# Released under the terms of the GNU Lesser General Public License v3.
99

1010
cmake_minimum_required(
11-
# 3.14: install(TARGETS ARCHIVE [DESTINATION])
11+
# 3.14: install(TARGETS ARCHIVE [DESTINATION <dir>])
1212
VERSION 3.14...${CMAKE_VERSION})
1313

1414
if( CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR AND
@@ -28,9 +28,45 @@ project(Z80
2828

2929
unset(_)
3030

31-
execute_process(
32-
COMMAND ${CMAKE_COMMAND} -E echo
33-
"${PROJECT_NAME} v${PROJECT_VERSION}")
31+
if( # 3.21: find_program([NO_CACHE])
32+
NOT "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_LESS 3.21
33+
AND CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR
34+
AND CMAKE_COLOR_MAKEFILE
35+
AND UNIX
36+
AND (DEFINED ENV{TERM} AND NOT "$ENV{TERM}" MATCHES "dumb")
37+
AND (NOT DEFINED ENV{NO_COLOR} OR "$ENV{NO_COLOR}" STREQUAL "" )
38+
AND (NOT DEFINED ENV{CLICOLOR} OR NOT "$ENV{CLICOLOR}" STREQUAL "0")
39+
)
40+
find_program(_lolcat lolcat NO_CACHE)
41+
42+
if(_lolcat)
43+
execute_process(
44+
COMMAND echo
45+
"\n"
46+
"███████┐ █████┐ █████┐\n"
47+
"└───███│ ██┌──██┐ ███┌─██┐\n"
48+
" ███┌─┘ └█████┌┘ ██┌┘ ██│\n"
49+
"███┌─┘ ██┌──██┐ ██│ ██│\n"
50+
"███████┐ └█████┌┘ └█████┌┘\n"
51+
"└──────┘ └────┘ └────┘"
52+
COMMAND ${_lolcat} -f
53+
OUTPUT_VARIABLE _lolcat)
54+
55+
string(REGEX REPLACE "\n$" "" _lolcat "${_lolcat}")
56+
57+
execute_process(
58+
COMMAND ${CMAKE_COMMAND} -E echo
59+
"${_lolcat} v${PROJECT_VERSION}")
60+
endif()
61+
endif()
62+
63+
if(_lolcat)
64+
unset(_lolcat)
65+
else()
66+
execute_process(
67+
COMMAND ${CMAKE_COMMAND} -E echo
68+
"${PROJECT_NAME} v${PROJECT_VERSION}")
69+
endif()
3470

3571
include(GNUInstallDirs)
3672

0 commit comments

Comments
 (0)