tebako 0.5.3 → 0.5.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CMakeLists.txt +9 -11
- data/common.env +1 -1
- data/exe/tebako-packager +5 -3
- data/lib/tebako/packager/pass2.rb +20 -26
- data/lib/tebako/packager/patch_helpers.rb +4 -0
- data/lib/tebako/packager/patch_literals.rb +22 -0
- data/lib/tebako/packager.rb +47 -16
- data/lib/tebako/version.rb +1 -1
- data/version.txt +1 -1
- metadata +2 -3
- data/cmake/def_tty_colours.cmake +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b93ceda3b8a6329b0a332f3ebfbf4c24ff030eda6c1727109623a98bbf868eae
|
4
|
+
data.tar.gz: 78e53009d65e1841a8c706b3be9fcbe17f7976864d23e5f70bf07357f3f2701f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c256ed82865bea01ac84c9c5bc33f7ef0c99df2d143eb78ac1f6b486492d42affb10fe14f590665a7a00b2c397ae57d9ba7cd3c52b6742b5740965340eeb1c77
|
7
|
+
data.tar.gz: 2d5dd78d7ccdf95f06b7453b4939ebc81e759242fbf37259edd95e598901adc6a5af6828cf1c57c081c7c7f487c6a4609e3f1c8d2b59e070a5be0869448781f1
|
data/CMakeLists.txt
CHANGED
@@ -73,8 +73,6 @@ include(${CMAKE_SOURCE_DIR}/tools/cmake-scripts/macos-environment.cmake)
|
|
73
73
|
include(${CMAKE_SOURCE_DIR}/tools/cmake-scripts/msys-environment.cmake)
|
74
74
|
include(${CMAKE_SOURCE_DIR}/tools/cmake-scripts/def-external-project.cmake)
|
75
75
|
|
76
|
-
include(${CMAKE_SOURCE_DIR}/cmake/def_tty_colours.cmake)
|
77
|
-
|
78
76
|
option(SETUP_MODE "Tebako setup" OFF)
|
79
77
|
if(NOT LOG_LEVEL)
|
80
78
|
set(LOG_LEVEL "error")
|
@@ -85,7 +83,7 @@ set(START_WITH_PACKAGED_FILESYSTEM OFF CACHE BOOL "Start workflow from 'packaged
|
|
85
83
|
if (NOT ${SETUP_MODE})
|
86
84
|
message("Running tebako press script")
|
87
85
|
if (${START_WITH_PACKAGED_FILESYSTEM})
|
88
|
-
message("
|
86
|
+
message("*** Starting workflow from 'packaged filesystem' target ***")
|
89
87
|
endif(${START_WITH_PACKAGED_FILESYSTEM})
|
90
88
|
|
91
89
|
if ("-${ROOT}" STREQUAL "-")
|
@@ -174,7 +172,12 @@ elseif("${OSTYPE_TXT}" MATCHES "^msys*")
|
|
174
172
|
set(RUBY_MAKEFILE "--file=GNUmakefile")
|
175
173
|
elseif("${OSTYPE_TXT}" MATCHES "^darwin.*")
|
176
174
|
set(IS_DARWIN ON)
|
177
|
-
|
175
|
+
if(${RUBY_VER} VERSION_LESS "3.2.0")
|
176
|
+
set(OPENSSL_VER "1.1")
|
177
|
+
else(${RUBY_VER} VERSION_LESS "3.2.0")
|
178
|
+
set(OPENSSL_VER "3")
|
179
|
+
endif(${RUBY_VER} VERSION_LESS "3.2.0")
|
180
|
+
set(BUILD_OPENSSL_ROOT_DIR "${BUILD_BREW_PREFIX}/opt/openssl@${OPENSSL_VER}")
|
178
181
|
endif()
|
179
182
|
|
180
183
|
# Various locations for external projects
|
@@ -217,7 +220,7 @@ if(IS_MSYS)
|
|
217
220
|
endif(IS_MSYS)
|
218
221
|
|
219
222
|
def_ext_prj_g(INCBIN "348e36b")
|
220
|
-
def_ext_prj_g(DWARFS_WR "v0.3.
|
223
|
+
def_ext_prj_g(DWARFS_WR "v0.3.5")
|
221
224
|
|
222
225
|
if (DEFINED ENV{BUNDLER_VER})
|
223
226
|
set(BUNDLER_VER $ENV{BUNDLER_VER})
|
@@ -411,11 +414,6 @@ endif()
|
|
411
414
|
set(C_FLAGS_DEST cppflags)
|
412
415
|
|
413
416
|
if(IS_DARWIN)
|
414
|
-
if(${RUBY_VER} VERSION_LESS "3.2.2")
|
415
|
-
set(OPENSSL_VER "1.1")
|
416
|
-
else(${RUBY_VER} VERSION_LESS "3.2.2")
|
417
|
-
set(OPENSSL_VER "3")
|
418
|
-
endif(${RUBY_VER} VERSION_LESS "3.2.2")
|
419
417
|
string(CONCAT RUBY_C_FLAGS ${RUBY_C_FLAGS} " -I${BUILD_BREW_PREFIX}/opt/openssl@${OPENSSL_VER}/include -I${BUILD_BREW_PREFIX}/opt/zlib/include -I${BUILD_BREW_PREFIX}/include")
|
420
418
|
string(CONCAT RUBY_L_FLAGS ${RUBY_L_FLAGS} " -L${BUILD_BREW_PREFIX}/opt/openssl@${OPENSSL_VER}/lib -L${BUILD_BREW_PREFIX}/opt/zlib/lib -L${BUILD_BREW_PREFIX}/lib")
|
421
419
|
set(OPENSSL_RUBY_OPTION "--with-openssl-dir=${BUILD_BREW_PREFIX}/opt/openssl@${OPENSSL_VER}")
|
@@ -488,7 +486,7 @@ else (${SETUP_MODE})
|
|
488
486
|
list(LENGTH GEMS GLENGTH)
|
489
487
|
|
490
488
|
add_custom_target(clean_filesystem
|
491
|
-
COMMAND ruby ${EXE}/tebako-packager deploy ${RUBY_STASH_DIR} ${DATA_SRC_DIR} ${DATA_PRE_DIR} ${DATA_BIN_DIR}
|
489
|
+
COMMAND ruby ${EXE}/tebako-packager deploy ${RUBY_STASH_DIR} ${DATA_SRC_DIR} ${DATA_PRE_DIR} ${DATA_BIN_DIR} ${TBD} ${TGD}
|
492
490
|
DEPENDS ${RUBY_PRJ}
|
493
491
|
)
|
494
492
|
if(GSLENGTH GREATER 0)
|
data/common.env
CHANGED
data/exe/tebako-packager
CHANGED
@@ -78,11 +78,13 @@ begin
|
|
78
78
|
# ARGV[2] -- DATA_SRC_DIR
|
79
79
|
# ARGV[3] -- DATA_PRE_DIR
|
80
80
|
# ARGV[4] -- DATA_BIN_DIR
|
81
|
-
|
81
|
+
# ARGV[5] -- TARGET_BIN_DIR (TBD)
|
82
|
+
# ARGV[6] -- TARGET_GEM_DIR (TGD)
|
83
|
+
unless ARGV.length == 7
|
82
84
|
raise Tebako::Error,
|
83
|
-
"tebako-packager deploy command expects
|
85
|
+
"tebako-packager deploy command expects 7 arguments, #{ARGV.length} has been provided."
|
84
86
|
end
|
85
|
-
Tebako::Packager.deploy(ARGV[1], ARGV[2], ARGV[3], ARGV[4])
|
87
|
+
Tebako::Packager.deploy(ARGV[1], ARGV[2], ARGV[3], ARGV[4], ARGV[5])
|
86
88
|
else
|
87
89
|
raise Tebako::Error, "tebako-packager cannot process #{ARGV[0]} command"
|
88
90
|
end
|
@@ -34,18 +34,8 @@ module Tebako
|
|
34
34
|
# Ruby patching definitions (pass2)
|
35
35
|
module Pass2
|
36
36
|
class << self
|
37
|
-
def get_dir_c_patch(ostype)
|
38
|
-
dir_c_patch = patch_c_file(ostype =~ /msys/ ? "/* define system APIs */" : "#ifdef HAVE_GETATTRLIST")
|
39
|
-
dir_c_patch.merge!(DIR_C_BASE_PATCH)
|
40
|
-
end
|
41
|
-
|
42
37
|
def get_patch_map(ostype, deps_lib_dir, ruby_ver)
|
43
|
-
patch_map =
|
44
|
-
"template/Makefile.in" => template_makefile_in_patch(ostype, deps_lib_dir, ruby_ver),
|
45
|
-
"main.c" => MAIN_C_PATCH,
|
46
|
-
"tool/mkconfig.rb" => TOOL_MKCONFIG_RB_PATCH,
|
47
|
-
"dir.c" => get_dir_c_patch(ostype)
|
48
|
-
}
|
38
|
+
patch_map = get_patch_map_base(ostype, deps_lib_dir, ruby_ver)
|
49
39
|
|
50
40
|
C_FILES_TO_PATCH.each { |patch| patch_map.store(patch[0], patch_c_file(patch[1])) }
|
51
41
|
patch_map.store("thread_pthread.c", LINUX_MUSL_THREAD_PTHREAD_PATCH) if ostype =~ /linux-musl/
|
@@ -58,6 +48,21 @@ module Tebako
|
|
58
48
|
|
59
49
|
include Tebako::Packager::PatchLiterals
|
60
50
|
|
51
|
+
def get_dir_c_patch(ostype)
|
52
|
+
dir_c_patch = patch_c_file(ostype =~ /msys/ ? "/* define system APIs */" : "#ifdef HAVE_GETATTRLIST")
|
53
|
+
dir_c_patch.merge!(DIR_C_BASE_PATCH)
|
54
|
+
end
|
55
|
+
|
56
|
+
def get_patch_map_base(ostype, deps_lib_dir, ruby_ver)
|
57
|
+
{
|
58
|
+
"template/Makefile.in" => template_makefile_in_patch(ostype, deps_lib_dir, ruby_ver),
|
59
|
+
"main.c" => MAIN_C_PATCH,
|
60
|
+
"tool/mkconfig.rb" => TOOL_MKCONFIG_RB_PATCH,
|
61
|
+
"gem_prelude.rb" => GEM_PRELUDE_RB_PATCH,
|
62
|
+
"dir.c" => get_dir_c_patch(ostype)
|
63
|
+
}
|
64
|
+
end
|
65
|
+
|
61
66
|
def process_brew_libs!(libs, brew_libs)
|
62
67
|
brew_libs.each { |lib| libs << "#{PatchHelpers.get_prefix(lib[0]).chop}/lib/lib#{lib[1]}.a " }
|
63
68
|
end
|
@@ -73,16 +78,12 @@ module Tebako
|
|
73
78
|
SUBST
|
74
79
|
end
|
75
80
|
|
76
|
-
def yaml_reference(ruby_ver)
|
77
|
-
PatchHelpers.ruby32?(ruby_ver) ? "-l:libyaml.a" : ""
|
78
|
-
end
|
79
|
-
|
80
81
|
def linux_gnu_libs(ruby_ver)
|
81
82
|
<<~SUBST
|
82
83
|
-l:libtebako-fs.a -l:libdwarfs-wr.a -l:libdwarfs.a -l:libfolly.a -l:libfsst.a -l:libmetadata_thrift.a -l:libthrift_light.a -l:libxxhash.a \
|
83
84
|
-l:libfmt.a -l:libdouble-conversion.a -l:libglog.a -l:libgflags.a -l:libevent.a -l:libiberty.a -l:libacl.a -l:libssl.a -l:libcrypto.a -l:liblz4.a -l:libz.a \
|
84
85
|
-l:libzstd.a -l:libgdbm.a -l:libreadline.a -l:libtinfo.a -l:libffi.a -l:libncurses.a -l:libjemalloc.a -l:libunwind.a -l:libcrypt.a -l:libanl.a -l:liblzma.a \
|
85
|
-
#{yaml_reference(ruby_ver)} -l:libboost_system.a -l:libstdc++.a -l:librt.a -ldl -lpthread
|
86
|
+
#{PatchHelpers.yaml_reference(ruby_ver)} -l:libboost_system.a -l:libstdc++.a -l:librt.a -ldl -lpthread
|
86
87
|
SUBST
|
87
88
|
end
|
88
89
|
|
@@ -91,7 +92,7 @@ module Tebako
|
|
91
92
|
-l:libtebako-fs.a -l:libdwarfs-wr.a -l:libdwarfs.a -l:libfolly.a -l:libfsst.a -l:libmetadata_thrift.a -l:libthrift_light.a -l:libxxhash.a \
|
92
93
|
-l:libfmt.a -l:libdouble-conversion.a -l:libglog.a -l:libgflags.a -l:libevent.a -l:libiberty.a -l:libacl.a -l:libssl.a -l:libcrypto.a -l:liblz4.a -l:libz.a \
|
93
94
|
-l:libzstd.a -l:libgdbm.a -l:libreadline.a -l:libffi.a -l:libncurses.a -l:libjemalloc.a -l:libunwind.a -l:libcrypt.a -l:liblzma.a \
|
94
|
-
#{yaml_reference(ruby_ver)} -l:libboost_system.a -l:libstdc++.a -l:librt.a -ldl -lpthread
|
95
|
+
#{PatchHelpers.yaml_reference(ruby_ver)} -l:libboost_system.a -l:libstdc++.a -l:librt.a -ldl -lpthread
|
95
96
|
SUBST
|
96
97
|
end
|
97
98
|
|
@@ -100,7 +101,7 @@ module Tebako
|
|
100
101
|
-l:libtebako-fs.a -l:libdwarfs-wr.a -l:libdwarfs.a -l:libfolly.a -l:libfsst.a -l:libmetadata_thrift.a -l:libthrift_light.a -l:libxxhash.a \
|
101
102
|
-l:libfmt.a -l:libdouble-conversion.a -l:libglog.a -l:libgflags.a -l:libevent.a -l:libssl.a -l:libcrypto.a -l:liblz4.a -l:libz.a \
|
102
103
|
-l:libzstd.a -l:libffi.a -l:libgdbm.a -l:libncurses.a -l:libjemalloc.a -l:libunwind.a -l:liblzma.a -l:libiberty.a \
|
103
|
-
#{yaml_reference(ruby_ver)} -l:libstdc++.a -l:libdl.a -lole32 -loleaut32 -luuid
|
104
|
+
#{PatchHelpers.yaml_reference(ruby_ver)} -l:libstdc++.a -l:libdl.a -lole32 -loleaut32 -luuid
|
104
105
|
SUBST
|
105
106
|
end
|
106
107
|
|
@@ -138,14 +139,7 @@ module Tebako
|
|
138
139
|
end
|
139
140
|
|
140
141
|
def template_makefile_in_patch(ostype, deps_lib_dir, ruby_ver)
|
141
|
-
base_patch =
|
142
|
-
"LIBS = @LIBS@ $(EXTLIBS)" => <<~SUBST
|
143
|
-
# -- Start of tebako patch --
|
144
|
-
LIBS = $(MAINLIBS) @LIBS@
|
145
|
-
# -- End of tebako patch --
|
146
|
-
SUBST
|
147
|
-
}
|
148
|
-
base_patch.merge!(mlibs_subst(ostype, deps_lib_dir, ruby_ver))
|
142
|
+
base_patch = TEMPLATE_MAKEFILE_IN_BASE_PATCH_ONE.merge(mlibs_subst(ostype, deps_lib_dir, ruby_ver))
|
149
143
|
base_patch.merge!(template_makefile_in_patch_two(ruby_ver))
|
150
144
|
end
|
151
145
|
|
@@ -168,6 +168,14 @@ module Tebako
|
|
168
168
|
["dln.c", "static const char funcname_prefix[sizeof(FUNCNAME_PREFIX) - 1] = FUNCNAME_PREFIX;"]
|
169
169
|
].freeze
|
170
170
|
|
171
|
+
TEMPLATE_MAKEFILE_IN_BASE_PATCH_ONE = {
|
172
|
+
"LIBS = @LIBS@ $(EXTLIBS)" => <<~SUBST
|
173
|
+
# -- Start of tebako patch --
|
174
|
+
LIBS = $(MAINLIBS) @LIBS@
|
175
|
+
# -- End of tebako patch --
|
176
|
+
SUBST
|
177
|
+
}.freeze
|
178
|
+
|
171
179
|
TEMPLATE_MAKEFILE_IN_BASE_PATTERN_TWO_PRE_3_1 =
|
172
180
|
"\t\t$(Q) $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) " \
|
173
181
|
"$(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) $(LIBS) $(EXTLIBS) $(OUTFLAG)$@"
|
@@ -199,6 +207,20 @@ module Tebako
|
|
199
207
|
/* -- End of tebako patch -- */
|
200
208
|
SUBST
|
201
209
|
|
210
|
+
GEM_PRELUDE_RB_PATCH = {
|
211
|
+
"if defined?(DidYouMean)" => <<~SUBST
|
212
|
+
if defined?(DidYouMean)
|
213
|
+
|
214
|
+
# -- Start of tebako patch --
|
215
|
+
begin
|
216
|
+
require 'tebako-runtime'
|
217
|
+
rescue LoadError
|
218
|
+
warn "'tebako-runtime' was not loaded."
|
219
|
+
end
|
220
|
+
# -- End of tebako patch --
|
221
|
+
SUBST
|
222
|
+
}.freeze
|
223
|
+
|
202
224
|
MSYS_PATCHES = {
|
203
225
|
"ruby.c" => {
|
204
226
|
"#define RUBY_RELATIVE(path, len) rb_str_buf_cat(BASEPATH(), (path), (len))" =>
|
data/lib/tebako/packager.rb
CHANGED
@@ -42,6 +42,7 @@ module Tebako
|
|
42
42
|
file.c
|
43
43
|
io.c
|
44
44
|
tool/mkconfig.rb
|
45
|
+
gem_prelude.rb
|
45
46
|
].freeze
|
46
47
|
|
47
48
|
FILES_TO_RESTORE_MSYS = %w[
|
@@ -55,6 +56,12 @@ module Tebako
|
|
55
56
|
thread_pthread.c
|
56
57
|
].freeze
|
57
58
|
|
59
|
+
DEPLOY_ENV = {
|
60
|
+
"GEM_HOME" => nil,
|
61
|
+
"GEM_PATH" => nil,
|
62
|
+
"TEBAKO_PASS_THROUGH" => "1"
|
63
|
+
}.freeze
|
64
|
+
|
58
65
|
class << self
|
59
66
|
# Pass1
|
60
67
|
# Executed before Ruby build, patching ensures that Ruby itself is linked statically
|
@@ -83,7 +90,7 @@ module Tebako
|
|
83
90
|
# Saves pristine Ruby environment that is used to deploy applications for packaging
|
84
91
|
def stash(src_dir, stash_dir)
|
85
92
|
puts "-- Running stash script"
|
86
|
-
# .... this code snippet is executed '
|
93
|
+
# .... this code snippet is executed 'outside' of Ruby scripts
|
87
94
|
# shall be reconsidered
|
88
95
|
# FileUtils.cd ruby_source_dir do
|
89
96
|
# puts " ... creating pristine ruby environment at #{src_dir} [patience, it will take some time]"
|
@@ -98,18 +105,40 @@ module Tebako
|
|
98
105
|
end
|
99
106
|
|
100
107
|
# Deploy
|
101
|
-
|
102
|
-
# Now it just recreates Ruby prostine environment from stash
|
103
|
-
def deploy(stash_dir, src_dir, pre_dir, bin_dir)
|
108
|
+
def deploy(stash_dir, src_dir, pre_dir, bin_dir, tbd)
|
104
109
|
puts "-- Running deploy script"
|
105
110
|
|
106
111
|
puts " ... creating packaging environment at #{src_dir}"
|
107
112
|
recreate([src_dir, pre_dir, bin_dir])
|
108
113
|
FileUtils.cp_r "#{stash_dir}/.", src_dir
|
114
|
+
|
115
|
+
install_gem tbd, "tebako-runtime"
|
109
116
|
end
|
110
117
|
|
111
118
|
private
|
112
119
|
|
120
|
+
def install_gem(tbd, name)
|
121
|
+
puts " ... installing #{name} gem"
|
122
|
+
with_env(DEPLOY_ENV) do
|
123
|
+
out, st = Open3.capture2e("#{tbd}/gem", "install", name.to_s, "--no-doc")
|
124
|
+
raise Tebako::Error, "Failed to install #{name} (#{st}):\n #{out}" unless st.exitstatus.zero?
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
def do_patch(patch_map, root)
|
129
|
+
patch_map.each { |fname, mapping| patch_file("#{root}/#{fname}", mapping) }
|
130
|
+
end
|
131
|
+
|
132
|
+
def patch_file(fname, mapping)
|
133
|
+
raise Tebako::Error, "Could not patch #{fname} because it does not exist." unless File.exist?(fname)
|
134
|
+
|
135
|
+
puts " ... patching #{fname}"
|
136
|
+
restore_and_save(fname)
|
137
|
+
contents = File.read(fname)
|
138
|
+
mapping.each { |pattern, subst| contents.sub!(pattern, subst) }
|
139
|
+
File.open(fname, "w") { |file| file << contents }
|
140
|
+
end
|
141
|
+
|
113
142
|
def recreate(dirname)
|
114
143
|
FileUtils.rm_rf(dirname, noop: nil, verbose: nil, secure: true)
|
115
144
|
FileUtils.mkdir(dirname)
|
@@ -132,18 +161,20 @@ module Tebako
|
|
132
161
|
end
|
133
162
|
end
|
134
163
|
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
164
|
+
# Sets up temporary environment variables and yields to the
|
165
|
+
# block. When the block exits, the environment variables are set
|
166
|
+
# back to their original values.
|
167
|
+
def with_env(hash)
|
168
|
+
old = {}
|
169
|
+
hash.each do |k, v|
|
170
|
+
old[k] = ENV.fetch(k, nil)
|
171
|
+
ENV[k] = v
|
172
|
+
end
|
173
|
+
begin
|
174
|
+
yield
|
175
|
+
ensure
|
176
|
+
hash.each { |k, _v| ENV[k] = old[k] }
|
177
|
+
end
|
147
178
|
end
|
148
179
|
end
|
149
180
|
end
|
data/lib/tebako/version.rb
CHANGED
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.4
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tebako
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -57,7 +57,6 @@ files:
|
|
57
57
|
- bin/console
|
58
58
|
- bin/setup
|
59
59
|
- cmake/copy_dir.cmake
|
60
|
-
- cmake/def_tty_colours.cmake
|
61
60
|
- common.env
|
62
61
|
- exe/tebako
|
63
62
|
- exe/tebako-packager
|
data/cmake/def_tty_colours.cmake
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
if(NOT WIN32)
|
2
|
-
string(ASCII 27 Escape)
|
3
|
-
set(ColourReset "${Escape}[m")
|
4
|
-
set(ColourBold "${Escape}[1m")
|
5
|
-
set(ColourRed "${Escape}[31m")
|
6
|
-
set(ColourGreen "${Escape}[32m")
|
7
|
-
set(ColourYellow "${Escape}[33m")
|
8
|
-
set(ColourBlue "${Escape}[34m")
|
9
|
-
set(ColourMagenta "${Escape}[35m")
|
10
|
-
set(ColourCyan "${Escape}[36m")
|
11
|
-
set(ColourWhite "${Escape}[37m")
|
12
|
-
set(ColourBoldRed "${Escape}[1;31m")
|
13
|
-
set(ColourBoldGreen "${Escape}[1;32m")
|
14
|
-
set(ColourBoldYellow "${Escape}[1;33m")
|
15
|
-
set(ColourBoldBlue "${Escape}[1;34m")
|
16
|
-
set(ColourBoldMagenta "${Escape}[1;35m")
|
17
|
-
set(ColourBoldCyan "${Escape}[1;36m")
|
18
|
-
set(ColourBoldWhite "${Escape}[1;37m")
|
19
|
-
endif()
|