ALib C++ Library
Library Version: 2402 R1
Documentation generated by doxygen
Loading...
Searching...
No Matches
ALibSources.cmake
1# ##################################################################################################
2# ALibSources.cmake - CMake file for projects using ALib
3#
4# Copyright 2015-2024 A-Worx GmbH, Germany
5# Published under 'Boost Software License' (a free software license, see LICENSE.txt)
6#
7# Notes:
8# Selects source and header files in lists ALIB_SOURCE_FILES and ALIB_INCLUDE_FILES, depending
9# on the selected modules listed in ALIB_DISTRIBUTION.
10#
11# If variable ALIB_SOURCE_COPY_TARGET_DIR is defined, then the sources are copied to the
12# directory specified.
13#
14# This CMake file is included by "ALib.cmake" automatically and is not intended for manual
15# inclusion. Its contents was separated into a separated cmake file solely for clarity.
16# ##################################################################################################
17if( NOT DEFINED ALIB_SOURCE_DIR )
18 set ( ALIB_SOURCE_DIR ${ALIB_BASE_DIR}/src )
19endif()
20
21SET( ALIB_SOURCE_FILES "" )
22SET( ALIB_INCLUDE_FILES "" )
23
24# ---------- general files, always included -------
25
26# alib
27list( APPEND ALIB_INCLUDE_FILES alib/alib.hpp )
28list( APPEND ALIB_INCLUDE_FILES alib/alib_precompile.hpp )
29list( APPEND ALIB_INCLUDE_FILES alib/alox.hpp )
30list( APPEND ALIB_SOURCE_FILES alib/alib.cpp )
31
32# alib::lang
33list( APPEND ALIB_INCLUDE_FILES alib/lang/bidilist.hpp )
34list( APPEND ALIB_INCLUDE_FILES alib/lang/bits.hpp )
35list( APPEND ALIB_INCLUDE_FILES alib/lang/bitset.hpp )
36list( APPEND ALIB_INCLUDE_FILES alib/lang/commonenumdefs.hpp )
37list( APPEND ALIB_INCLUDE_FILES alib/lang/commonenums.hpp )
38list( APPEND ALIB_INCLUDE_FILES alib/lang/dbgtypedemangler.hpp )
39list( APPEND ALIB_INCLUDE_FILES alib/lang/integers.hpp )
40list( APPEND ALIB_INCLUDE_FILES alib/lang/owner.hpp )
41list( APPEND ALIB_INCLUDE_FILES alib/lang/platformincludes.hpp )
42list( APPEND ALIB_INCLUDE_FILES alib/lang/plugins.hpp )
43list( APPEND ALIB_INCLUDE_FILES alib/lang/sidilist.hpp )
44list( APPEND ALIB_INCLUDE_FILES alib/lang/tmp.hpp )
45
46
47#--------- compatibility headers ---------
48if( "CHARACTERS" IN_LIST ALIB_DISTRIBUTION )
49 list( APPEND ALIB_INCLUDE_FILES alib/compatibility/std_characters.hpp )
50 list( APPEND ALIB_INCLUDE_FILES alib/compatibility/qt_characters.hpp )
51endif()
52
53if( "BOXING" IN_LIST ALIB_DISTRIBUTION )
54 list( APPEND ALIB_INCLUDE_FILES alib/compatibility/std_boxing.hpp )
55 list( APPEND ALIB_INCLUDE_FILES alib/compatibility/std_boxing_functional.hpp )
56 list( APPEND ALIB_INCLUDE_FILES alib/compatibility/qt_boxing.hpp )
57endif()
58
59if( "BOXING" IN_LIST ALIB_DISTRIBUTION
60 OR "SINGLETONS" IN_LIST ALIB_DISTRIBUTION )
61 list( APPEND ALIB_INCLUDE_FILES alib/compatibility/std_typeinfo.hpp )
62endif()
63
64
65if( "STRINGS" IN_LIST ALIB_DISTRIBUTION )
66 list( APPEND ALIB_INCLUDE_FILES alib/compatibility/std_strings_functional.hpp)
67 list( APPEND ALIB_INCLUDE_FILES alib/compatibility/std_strings_iostream.hpp )
68 list( APPEND ALIB_SOURCE_FILES alib/compatibility/std_strings_iostream.cpp )
69 list( APPEND ALIB_INCLUDE_FILES alib/compatibility/qt_strings.hpp )
70endif()
71
72################################# Normal Modules #############################
73
74if( "BITBUFFER" IN_LIST ALIB_DISTRIBUTION )
75 list( APPEND ALIB_INCLUDE_FILES alib/bitbuffer/arraycompressor.hpp )
76 list( APPEND ALIB_INCLUDE_FILES alib/bitbuffer/bitbuffer.hpp )
77 list( APPEND ALIB_INCLUDE_FILES alib/bitbuffer/ac_v1/acalgos.inl )
78 list( APPEND ALIB_INCLUDE_FILES alib/bitbuffer/ac_v1/ac.hpp )
79 list( APPEND ALIB_INCLUDE_FILES alib/bitbuffer/ac_v1/huffman.hpp )
80
81 list( APPEND ALIB_SOURCE_FILES alib/bitbuffer/bitbuffer.cpp )
82 list( APPEND ALIB_SOURCE_FILES alib/bitbuffer/ac_v1/ac.cpp )
83 list( APPEND ALIB_SOURCE_FILES alib/bitbuffer/ac_v1/huffman.cpp )
84endif()
85
86if( "BOXING" IN_LIST ALIB_DISTRIBUTION )
87 list( APPEND ALIB_INCLUDE_FILES alib/boxing/box.inl )
88 list( APPEND ALIB_INCLUDE_FILES alib/boxing/boxes.inl )
89 list( APPEND ALIB_INCLUDE_FILES alib/boxing/boxing.hpp )
90 list( APPEND ALIB_INCLUDE_FILES alib/boxing/customizations.inl )
91 list( APPEND ALIB_INCLUDE_FILES alib/boxing/dbgboxing.hpp )
92 list( APPEND ALIB_INCLUDE_FILES alib/boxing/enum.hpp )
93 list( APPEND ALIB_INCLUDE_FILES alib/boxing/fwds.hpp )
94 list( APPEND ALIB_INCLUDE_FILES alib/boxing/functions.inl )
95 list( APPEND ALIB_INCLUDE_FILES alib/boxing/functiondefs.inl )
96 list( APPEND ALIB_INCLUDE_FILES alib/boxing/placeholder.inl )
97 list( APPEND ALIB_INCLUDE_FILES alib/boxing/typetraits.inl )
98 list( APPEND ALIB_INCLUDE_FILES alib/boxing/detail/vtable.inl )
99
100 list( APPEND ALIB_SOURCE_FILES alib/boxing/boxes.cpp )
101 list( APPEND ALIB_SOURCE_FILES alib/boxing/boxing.cpp )
102 list( APPEND ALIB_SOURCE_FILES alib/boxing/dbgboxing.cpp )
103 list( APPEND ALIB_SOURCE_FILES alib/boxing/detail/vtable.cpp )
104
105endif()
106
107if( "CHARACTERS" IN_LIST ALIB_DISTRIBUTION )
108 list( APPEND ALIB_INCLUDE_FILES alib/characters/characters.hpp )
109 list( APPEND ALIB_INCLUDE_FILES alib/characters/chararray.hpp )
110 list( APPEND ALIB_SOURCE_FILES alib/characters/chararray.cpp )
111endif()
112
113if( "ENUMS" IN_LIST ALIB_DISTRIBUTION )
114 list( APPEND ALIB_INCLUDE_FILES alib/enums/arithmetical.hpp )
115 list( APPEND ALIB_INCLUDE_FILES alib/enums/bitwise.hpp )
116 list( APPEND ALIB_INCLUDE_FILES alib/enums/bitwise_iterable_conversion.hpp )
117 list( APPEND ALIB_INCLUDE_FILES alib/enums/iterable.hpp )
118 list( APPEND ALIB_INCLUDE_FILES alib/enums/records.hpp )
119 list( APPEND ALIB_INCLUDE_FILES alib/enums/recordbootstrap.hpp )
120 list( APPEND ALIB_INCLUDE_FILES alib/enums/underlyingintegral.hpp )
121 list( APPEND ALIB_INCLUDE_FILES alib/enums/detail/enumrecords.inl )
122
123 list( APPEND ALIB_SOURCE_FILES alib/enums/records.cpp )
124
125 if( "STRINGS" IN_LIST ALIB_DISTRIBUTION )
126 list( APPEND ALIB_INCLUDE_FILES alib/enums/recordparser.hpp )
127 list( APPEND ALIB_INCLUDE_FILES alib/enums/serialization.hpp )
128 endif()
129endif()
130
131if( "MONOMEM" IN_LIST ALIB_DISTRIBUTION )
132 list( APPEND ALIB_INCLUDE_FILES alib/monomem/detail/hashtablebase.inl )
133 list( APPEND ALIB_INCLUDE_FILES alib/monomem/detail/recycler.inl )
134 list( APPEND ALIB_INCLUDE_FILES alib/monomem/fwds.hpp )
135 list( APPEND ALIB_INCLUDE_FILES alib/monomem/hashmap.hpp )
136 list( APPEND ALIB_INCLUDE_FILES alib/monomem/hashset.hpp )
137 list( APPEND ALIB_INCLUDE_FILES alib/monomem/hashtable.hpp )
138 list( APPEND ALIB_INCLUDE_FILES alib/monomem/list.hpp )
139 list( APPEND ALIB_INCLUDE_FILES alib/monomem/mastring.hpp )
140 list( APPEND ALIB_INCLUDE_FILES alib/monomem/monomem.hpp )
141 list( APPEND ALIB_INCLUDE_FILES alib/monomem/monoallocator.hpp )
142 list( APPEND ALIB_INCLUDE_FILES alib/monomem/selfcontained.hpp )
143 list( APPEND ALIB_INCLUDE_FILES alib/monomem/stdcontainerma.hpp )
144 list( APPEND ALIB_INCLUDE_FILES alib/monomem/util/fixedcapacityvector.hpp)
145 list( APPEND ALIB_INCLUDE_FILES alib/monomem/util/rttrallocator.hpp )
146
147 list( APPEND ALIB_SOURCE_FILES alib/monomem/detail/hashtablebase.cpp )
148 list( APPEND ALIB_SOURCE_FILES alib/monomem/monoallocator.cpp )
149
150 if( "STRINGS" IN_LIST ALIB_DISTRIBUTION )
151 list( APPEND ALIB_INCLUDE_FILES alib/monomem/stringtree.hpp )
152 list( APPEND ALIB_INCLUDE_FILES alib/monomem/detail/stringtreebase.inl )
153 endif()
154endif()
155
156if( "SINGLETONS" IN_LIST ALIB_DISTRIBUTION )
157 list( APPEND ALIB_INCLUDE_FILES alib/singletons/dbgsingletons.hpp )
158 list( APPEND ALIB_INCLUDE_FILES alib/singletons/singleton.hpp )
159 list( APPEND ALIB_SOURCE_FILES alib/singletons/singleton.cpp )
160endif()
161
162if( "STRINGS" IN_LIST ALIB_DISTRIBUTION )
163 list( APPEND ALIB_INCLUDE_FILES alib/strings/appendables.inl )
164 list( APPEND ALIB_INCLUDE_FILES alib/strings/astring.hpp )
165 list( APPEND ALIB_INCLUDE_FILES alib/strings/chararraytraits.inl )
166 list( APPEND ALIB_INCLUDE_FILES alib/strings/cstring.hpp )
167 list( APPEND ALIB_INCLUDE_FILES alib/strings/format.hpp )
168 list( APPEND ALIB_INCLUDE_FILES alib/strings/fwds.hpp )
169 list( APPEND ALIB_INCLUDE_FILES alib/strings/numberformat.hpp )
170 list( APPEND ALIB_INCLUDE_FILES alib/strings/localstring.hpp )
171 list( APPEND ALIB_INCLUDE_FILES alib/strings/string.hpp )
172 list( APPEND ALIB_INCLUDE_FILES alib/strings/stringnzt.hpp )
173 list( APPEND ALIB_INCLUDE_FILES alib/strings/substring.hpp )
174
175
176 list( APPEND ALIB_SOURCE_FILES alib/strings/appendables.cpp )
177 list( APPEND ALIB_SOURCE_FILES alib/strings/astring.cpp )
178 list( APPEND ALIB_SOURCE_FILES alib/strings/numberformat.cpp )
179 list( APPEND ALIB_SOURCE_FILES alib/strings/string.cpp )
180 list( APPEND ALIB_SOURCE_FILES alib/strings/substring.cpp )
181
182 list( APPEND ALIB_INCLUDE_FILES alib/strings/detail/numberconversion.hpp )
183 list( APPEND ALIB_SOURCE_FILES alib/strings/detail/numberconversion.cpp )
184
185
186 list( APPEND ALIB_INCLUDE_FILES alib/strings/util/autosizes.hpp )
187 list( APPEND ALIB_INCLUDE_FILES alib/strings/util/regexmatcher.hpp )
188 list( APPEND ALIB_INCLUDE_FILES alib/strings/util/spaces.hpp )
189 list( APPEND ALIB_INCLUDE_FILES alib/strings/util/subsearch.hpp )
190 list( APPEND ALIB_INCLUDE_FILES alib/strings/util/token.hpp )
191 list( APPEND ALIB_INCLUDE_FILES alib/strings/util/tokenizer.hpp )
192 list( APPEND ALIB_INCLUDE_FILES alib/strings/util/wildcardmatcher.hpp )
193
194 list( APPEND ALIB_SOURCE_FILES alib/strings/util/autosizes.cpp )
195 list( APPEND ALIB_SOURCE_FILES alib/strings/util/regexmatcher.cpp )
196 list( APPEND ALIB_SOURCE_FILES alib/strings/util/spaces.cpp )
197 list( APPEND ALIB_SOURCE_FILES alib/strings/util/subsearch.cpp )
198 list( APPEND ALIB_SOURCE_FILES alib/strings/util/token.cpp )
199 list( APPEND ALIB_SOURCE_FILES alib/strings/util/tokenizer.cpp )
200 list( APPEND ALIB_SOURCE_FILES alib/strings/util/wildcardmatcher.cpp )
201
202endif()
203
204if( "THREADS" IN_LIST ALIB_DISTRIBUTION )
205 list( APPEND ALIB_INCLUDE_FILES alib/threads/detail/threadmap.hpp )
206 list( APPEND ALIB_INCLUDE_FILES alib/threads/smartlock.hpp )
207 list( APPEND ALIB_INCLUDE_FILES alib/threads/thread.hpp )
208 list( APPEND ALIB_INCLUDE_FILES alib/threads/threadlock.hpp )
209 list( APPEND ALIB_INCLUDE_FILES alib/threads/threadlocknr.hpp )
210 list( APPEND ALIB_INCLUDE_FILES alib/threads/sleeper.hpp )
211
212 list( APPEND ALIB_SOURCE_FILES alib/threads/smartlock.cpp )
213 list( APPEND ALIB_SOURCE_FILES alib/threads/thread.cpp )
214 list( APPEND ALIB_SOURCE_FILES alib/threads/threadlock.cpp )
215
216 list( APPEND ALIB_INCLUDE_FILES alib/threads/model/triggered.hpp )
217 list( APPEND ALIB_INCLUDE_FILES alib/threads/model/mthread.hpp )
218 list( APPEND ALIB_INCLUDE_FILES alib/threads/model/mthreadtriggered.hpp )
219 list( APPEND ALIB_INCLUDE_FILES alib/threads/model/threadmanager.hpp )
220 list( APPEND ALIB_INCLUDE_FILES alib/threads/model/trequest.hpp )
221
222 list( APPEND ALIB_SOURCE_FILES alib/threads/model/mthread.cpp )
223 list( APPEND ALIB_SOURCE_FILES alib/threads/model/threadmanager.cpp )
224 list( APPEND ALIB_SOURCE_FILES alib/threads/model/trequest.cpp )
225endif()
226
227if( "TIME" IN_LIST ALIB_DISTRIBUTION )
228 list( APPEND ALIB_INCLUDE_FILES alib/time/datetime.hpp )
229 list( APPEND ALIB_INCLUDE_FILES alib/time/stopwatch.hpp )
230 list( APPEND ALIB_INCLUDE_FILES alib/time/tickconverter.hpp )
231 list( APPEND ALIB_INCLUDE_FILES alib/time/ticks.hpp )
232 list( APPEND ALIB_INCLUDE_FILES alib/time/time.hpp )
233 list( APPEND ALIB_INCLUDE_FILES alib/time/timepointbase.hpp )
234
235 list( APPEND ALIB_SOURCE_FILES alib/time/time.cpp )
236endif()
237
238
239######################################### Camp Modules #########################################
240
241################################## BASE ##################################
242if( "CAMP" IN_LIST ALIB_DISTRIBUTION )
243
244 #### BASE ###
245 list( APPEND ALIB_INCLUDE_FILES alib/lang/basecamp/basecamp.hpp )
246 list( APPEND ALIB_INCLUDE_FILES alib/lang/basecamp/camp.hpp )
247 list( APPEND ALIB_INCLUDE_FILES alib/lang/basecamp/camp_inlines.hpp )
248 list( APPEND ALIB_INCLUDE_FILES alib/lang/basecamp/bootstrap.hpp )
249
250 list( APPEND ALIB_SOURCE_FILES alib/lang/basecamp/basecamp.cpp )
251 list( APPEND ALIB_SOURCE_FILES alib/lang/basecamp/bootstrap.cpp )
252
253 #### BASE/system ###
254 list( APPEND ALIB_INCLUDE_FILES alib/lang/system/calendar.hpp )
255 list( APPEND ALIB_INCLUDE_FILES alib/lang/system/console.hpp )
256 list( APPEND ALIB_INCLUDE_FILES alib/lang/system/directory.hpp )
257 list( APPEND ALIB_INCLUDE_FILES alib/lang/system/environment.hpp )
258 list( APPEND ALIB_INCLUDE_FILES alib/lang/system/processinfo.hpp )
259 list( APPEND ALIB_INCLUDE_FILES alib/lang/system/systemerrors.hpp )
260
261 list( APPEND ALIB_SOURCE_FILES alib/lang/system/calendar.cpp )
262 list( APPEND ALIB_SOURCE_FILES alib/lang/system/console.cpp )
263 list( APPEND ALIB_SOURCE_FILES alib/lang/system/directory.cpp )
264 list( APPEND ALIB_SOURCE_FILES alib/lang/system/environment.cpp )
265 list( APPEND ALIB_SOURCE_FILES alib/lang/system/processinfo.cpp )
266 if ( ${APPLE} )
267 list( APPEND ALIB_SOURCE_FILES alib/lang/system/directory.mm )
268 endif()
269
270
271
272 #### BASE/resources ###
273 list( APPEND ALIB_INCLUDE_FILES alib/lang/resources/localresourcepool.hpp )
274 list( APPEND ALIB_INCLUDE_FILES alib/lang/resources/resources.hpp )
275 list( APPEND ALIB_INCLUDE_FILES alib/lang/resources/detail/resourcemap.hpp )
276
277 list( APPEND ALIB_SOURCE_FILES alib/lang/resources/localresourcepool.cpp )
278
279
280 if( "CONFIGURATION" IN_LIST ALIB_DISTRIBUTION )
281 list( APPEND ALIB_INCLUDE_FILES alib/lang/resources/configresourcepool.hpp )
282 list( APPEND ALIB_SOURCE_FILES alib/lang/resources/configresourcepool.cpp )
283 endif()
284
285 #### BASE/message ###
286 list( APPEND ALIB_INCLUDE_FILES alib/lang/message/exception.hpp )
287 list( APPEND ALIB_INCLUDE_FILES alib/lang/message/message.hpp )
288 list( APPEND ALIB_INCLUDE_FILES alib/lang/message/report.hpp )
289
290 list( APPEND ALIB_SOURCE_FILES alib/lang/message/exception.cpp )
291 list( APPEND ALIB_SOURCE_FILES alib/lang/message/report.cpp )
292
293 #### BASE/Format ###
294 list( APPEND ALIB_INCLUDE_FILES alib/lang/format/bytesize.hpp )
295 list( APPEND ALIB_INCLUDE_FILES alib/lang/format/fmtexceptions.hpp )
296 list( APPEND ALIB_INCLUDE_FILES alib/lang/format/formatter.hpp )
297 list( APPEND ALIB_INCLUDE_FILES alib/lang/format/formatterjavastyle.hpp )
298 list( APPEND ALIB_INCLUDE_FILES alib/lang/format/formatterpythonstyle.hpp )
299 list( APPEND ALIB_INCLUDE_FILES alib/lang/format/formatterstdimpl.hpp )
300 list( APPEND ALIB_INCLUDE_FILES alib/lang/format/fwds.hpp )
301 list( APPEND ALIB_INCLUDE_FILES alib/lang/format/propertyformatter.hpp )
302 list( APPEND ALIB_INCLUDE_FILES alib/lang/format/propertyformatters.hpp )
303 list( APPEND ALIB_INCLUDE_FILES alib/lang/format/paragraphs.hpp )
304
305 list( APPEND ALIB_SOURCE_FILES alib/lang/format/formatter.cpp )
306 list( APPEND ALIB_SOURCE_FILES alib/lang/format/formatterjavastyle.cpp )
307 list( APPEND ALIB_SOURCE_FILES alib/lang/format/formatterpythonstyle.cpp )
308 list( APPEND ALIB_SOURCE_FILES alib/lang/format/formatterstdimpl.cpp )
309 list( APPEND ALIB_SOURCE_FILES alib/lang/format/propertyformatter.cpp )
310 list( APPEND ALIB_SOURCE_FILES alib/lang/format/paragraphs.cpp )
311endif()
312
313if( "ALOX" IN_LIST ALIB_DISTRIBUTION )
314 list( APPEND ALIB_INCLUDE_FILES alib/alox/alox.hpp )
315 list( APPEND ALIB_INCLUDE_FILES alib/alox/aloxmodule.hpp )
316 list( APPEND ALIB_INCLUDE_FILES alib/alox/log.inl )
317 list( APPEND ALIB_INCLUDE_FILES alib/alox/logtools.hpp )
318 list( APPEND ALIB_INCLUDE_FILES alib/alox/lox.inl )
319 list( APPEND ALIB_INCLUDE_FILES alib/alox/macros.inl )
320 list( APPEND ALIB_INCLUDE_FILES alib/alox/reportwriter.hpp )
321
322 list( APPEND ALIB_SOURCE_FILES alib/alox/aloxmodule.cpp )
323 list( APPEND ALIB_SOURCE_FILES alib/alox/log.cpp )
324 list( APPEND ALIB_SOURCE_FILES alib/alox/logtools.cpp )
325 list( APPEND ALIB_SOURCE_FILES alib/alox/reportwriter.cpp )
326
327 list( APPEND ALIB_INCLUDE_FILES alib/alox/detail/domain.inl )
328 list( APPEND ALIB_INCLUDE_FILES alib/alox/detail/logger.hpp )
329 list( APPEND ALIB_INCLUDE_FILES alib/alox/detail/loxpimpl.inl )
330 list( APPEND ALIB_INCLUDE_FILES alib/alox/detail/scopedump.inl )
331 list( APPEND ALIB_INCLUDE_FILES alib/alox/detail/scopeinfo.inl )
332 list( APPEND ALIB_INCLUDE_FILES alib/alox/detail/scopestore.inl )
333
334 list( APPEND ALIB_SOURCE_FILES alib/alox/detail/domain.cpp )
335 list( APPEND ALIB_SOURCE_FILES alib/alox/detail/loxpimpl.cpp )
336 list( APPEND ALIB_SOURCE_FILES alib/alox/detail/scopedump.cpp )
337 list( APPEND ALIB_SOURCE_FILES alib/alox/detail/scopeinfo.cpp )
338 list( APPEND ALIB_SOURCE_FILES alib/alox/detail/scopestore.cpp )
339
340 list( APPEND ALIB_INCLUDE_FILES alib/alox/detail/textlogger/plaintextlogger.hpp )
341 list( APPEND ALIB_INCLUDE_FILES alib/alox/detail/textlogger/textlogger.hpp )
342 list( APPEND ALIB_SOURCE_FILES alib/alox/detail/textlogger/plaintextlogger.cpp )
343 list( APPEND ALIB_SOURCE_FILES alib/alox/detail/textlogger/textlogger.cpp )
344
345 list( APPEND ALIB_INCLUDE_FILES alib/alox/loggers/ansilogger.hpp )
346 list( APPEND ALIB_INCLUDE_FILES alib/alox/loggers/consolelogger.hpp )
347 list( APPEND ALIB_INCLUDE_FILES alib/alox/loggers/memorylogger.hpp )
348 list( APPEND ALIB_INCLUDE_FILES alib/alox/loggers/textfilelogger.hpp )
349 list( APPEND ALIB_INCLUDE_FILES alib/alox/loggers/vstudiologger.hpp )
350 list( APPEND ALIB_INCLUDE_FILES alib/alox/loggers/windowsconsolelogger.hpp )
351
352 list( APPEND ALIB_SOURCE_FILES alib/alox/loggers/ansilogger.cpp )
353 list( APPEND ALIB_SOURCE_FILES alib/alox/loggers/consolelogger.cpp )
354 list( APPEND ALIB_SOURCE_FILES alib/alox/loggers/textfilelogger.cpp )
355 list( APPEND ALIB_SOURCE_FILES alib/alox/loggers/vstudiologger.cpp )
356 list( APPEND ALIB_SOURCE_FILES alib/alox/loggers/windowsconsolelogger.cpp )
357
358endif()
359
360if( "CONFIGURATION" IN_LIST ALIB_DISTRIBUTION )
361 list( APPEND ALIB_INCLUDE_FILES alib/config/config.hpp )
362 list( APPEND ALIB_INCLUDE_FILES alib/config/configuration.hpp )
363 list( APPEND ALIB_INCLUDE_FILES alib/config/inifile.hpp )
364 list( APPEND ALIB_INCLUDE_FILES alib/config/inmemoryplugin.hpp )
365 list( APPEND ALIB_INCLUDE_FILES alib/config/plugins.hpp )
366 list( APPEND ALIB_INCLUDE_FILES alib/config/priorities.hpp )
367 list( APPEND ALIB_INCLUDE_FILES alib/config/variable.hpp )
368 list( APPEND ALIB_INCLUDE_FILES alib/config/variabledecl.hpp )
369
370 list( APPEND ALIB_SOURCE_FILES alib/config/config.cpp )
371 list( APPEND ALIB_SOURCE_FILES alib/config/configuration.cpp )
372 list( APPEND ALIB_SOURCE_FILES alib/config/inifile.cpp )
373 list( APPEND ALIB_SOURCE_FILES alib/config/inmemoryplugin.cpp )
374 list( APPEND ALIB_SOURCE_FILES alib/config/plugins.cpp )
375 list( APPEND ALIB_SOURCE_FILES alib/config/variable.cpp )
376endif()
377
378if( "CLI" IN_LIST ALIB_DISTRIBUTION )
379 list( APPEND ALIB_INCLUDE_FILES alib/cli/arguments.hpp )
380 list( APPEND ALIB_INCLUDE_FILES alib/cli/cli.hpp )
381 list( APPEND ALIB_INCLUDE_FILES alib/cli/cliutil.hpp )
382 list( APPEND ALIB_INCLUDE_FILES alib/cli/commandline.hpp )
383
384 list( APPEND ALIB_SOURCE_FILES alib/cli/arguments.cpp )
385 list( APPEND ALIB_SOURCE_FILES alib/cli/cli.cpp )
386 list( APPEND ALIB_SOURCE_FILES alib/cli/cliutil.cpp )
387 list( APPEND ALIB_SOURCE_FILES alib/cli/commandline.cpp )
388endif()
389
390if( "EXPRESSIONS" IN_LIST ALIB_DISTRIBUTION )
391 list( APPEND ALIB_INCLUDE_FILES alib/expressions/compiler.hpp )
392 list( APPEND ALIB_INCLUDE_FILES alib/expressions/compilerplugin.hpp )
393 list( APPEND ALIB_INCLUDE_FILES alib/expressions/expression.hpp )
394 list( APPEND ALIB_INCLUDE_FILES alib/expressions/expressions.hpp )
395 list( APPEND ALIB_INCLUDE_FILES alib/expressions/scope.hpp )
396
397 list( APPEND ALIB_SOURCE_FILES alib/expressions/compiler.cpp )
398 list( APPEND ALIB_SOURCE_FILES alib/expressions/expression.cpp )
399 list( APPEND ALIB_SOURCE_FILES alib/expressions/expressions.cpp )
400
401 list( APPEND ALIB_INCLUDE_FILES alib/expressions/detail/ast.hpp )
402 list( APPEND ALIB_INCLUDE_FILES alib/expressions/detail/parser.hpp )
403 list( APPEND ALIB_INCLUDE_FILES alib/expressions/detail/parser_impl.hpp )
404 list( APPEND ALIB_INCLUDE_FILES alib/expressions/detail/program.hpp )
405 list( APPEND ALIB_INCLUDE_FILES alib/expressions/detail/virtualmachine.hpp )
406
407 list( APPEND ALIB_SOURCE_FILES alib/expressions/detail/ast.cpp )
408 list( APPEND ALIB_SOURCE_FILES alib/expressions/detail/parser.cpp )
409 list( APPEND ALIB_SOURCE_FILES alib/expressions/detail/parser_impl.cpp )
410 list( APPEND ALIB_SOURCE_FILES alib/expressions/detail/program.cpp )
411 list( APPEND ALIB_SOURCE_FILES alib/expressions/detail/virtualmachine.cpp )
412
413 list( APPEND ALIB_INCLUDE_FILES alib/expressions/plugins/arithmetics.hpp )
414 list( APPEND ALIB_INCLUDE_FILES alib/expressions/plugins/autocast.hpp )
415 list( APPEND ALIB_INCLUDE_FILES alib/expressions/plugins/calculus.hpp )
416 list( APPEND ALIB_INCLUDE_FILES alib/expressions/plugins/elvisoperator.hpp )
417 list( APPEND ALIB_INCLUDE_FILES alib/expressions/plugins/math.hpp )
418 list( APPEND ALIB_INCLUDE_FILES alib/expressions/plugins/strings.hpp )
419
420 list( APPEND ALIB_SOURCE_FILES alib/expressions/plugins/arithmetics.cpp )
421 list( APPEND ALIB_SOURCE_FILES alib/expressions/plugins/autocast.cpp )
422 list( APPEND ALIB_SOURCE_FILES alib/expressions/plugins/calculus.cpp )
423 list( APPEND ALIB_SOURCE_FILES alib/expressions/plugins/elvisoperator.cpp )
424 list( APPEND ALIB_SOURCE_FILES alib/expressions/plugins/math.cpp )
425 list( APPEND ALIB_SOURCE_FILES alib/expressions/plugins/strings.cpp )
426
427 list( APPEND ALIB_INCLUDE_FILES alib/expressions/util/expressionformatter.hpp)
428 list( APPEND ALIB_SOURCE_FILES alib/expressions/util/expressionformatter.cpp)
429
430 if( "CAMP" IN_LIST ALIB_DISTRIBUTION )
431 list( APPEND ALIB_INCLUDE_FILES alib/expressions/plugins/dateandtime.hpp )
432 list( APPEND ALIB_SOURCE_FILES alib/expressions/plugins/dateandtime.cpp )
433 endif()
434 if( "CONFIGURATION" IN_LIST ALIB_DISTRIBUTION )
435 list( APPEND ALIB_INCLUDE_FILES alib/expressions/standardrepository.hpp )
436 list( APPEND ALIB_SOURCE_FILES alib/expressions/standardrepository.cpp )
437 endif()
438
439 endif()
440
441if( "FILES" IN_LIST ALIB_DISTRIBUTION )
442 list( APPEND ALIB_INCLUDE_FILES alib/files/ffilter.hpp )
443 list( APPEND ALIB_INCLUDE_FILES alib/files/filescamp.hpp )
444 list( APPEND ALIB_INCLUDE_FILES alib/files/finfo.hpp )
445 list( APPEND ALIB_INCLUDE_FILES alib/files/fscanner.hpp )
446 list( APPEND ALIB_INCLUDE_FILES alib/files/ftools.hpp )
447 list( APPEND ALIB_INCLUDE_FILES alib/files/ftree.hpp )
448 list( APPEND ALIB_INCLUDE_FILES alib/files/textfile.hpp )
449
450 list( APPEND ALIB_SOURCE_FILES alib/files/filescamp.cpp )
451 list( APPEND ALIB_SOURCE_FILES alib/files/finfo.cpp )
452 list( APPEND ALIB_SOURCE_FILES alib/files/fscanner.cpp )
453 list( APPEND ALIB_SOURCE_FILES alib/files/ftools.cpp )
454 list( APPEND ALIB_SOURCE_FILES alib/files/ftree.cpp )
455 list( APPEND ALIB_SOURCE_FILES alib/files/textfile.cpp )
456
457 if( "EXPRESSIONS" IN_LIST ALIB_DISTRIBUTION )
458 list( APPEND ALIB_INCLUDE_FILES alib/files/fileexpressions.hpp )
459 list( APPEND ALIB_SOURCE_FILES alib/files/fileexpressions.cpp )
460 endif()
461
462endif()
463
464
465
466
467# ##################################################################################################
468# Check for duplicates. This is a pure double-check to detect that this script needs changes.
469# ##################################################################################################
470
471CollectAndRemoveDuplicates( "ALIB_INCLUDE_FILES" "duplicates" )
472LIST( LENGTH duplicates qtyDuplicates )
473
474
475
476IF( ${qtyDuplicates} GREATER 0 )
477 message( WARNING "Internal script error ALIBSources.cmake: "
478 "DUPLICATE HEADER FILES FOUND.\nSee list below! "
479 "(Processing continues with de-duplicated list)" )
480 message( STATUS "LIST OF DUPLICATE HEADER FILES:" )
481 LIST(SORT duplicates)
482 FOREACH( entry IN LISTS duplicates )
483 message( STATUS " ${entry}" )
484 ENDFOREACH()
485 message( STATUS "(end of list)" )
486ENDIF()
487
488CollectAndRemoveDuplicates( "ALIB_SOURCE_FILES" "duplicates" )
489LIST( LENGTH duplicates qtyDuplicates )
490IF( ${qtyDuplicates} GREATER 0 )
491 message( WARNING "Internal script error ALIBSources.cmake: "
492 "DUPLICATE SOURCE FILES FOUND.\nSee list below! "
493 "(Processing continues with de-duplicated list)" )
494 message( STATUS "LIST OF DUPLICATE SOURCE FILES:" )
495 LIST(SORT duplicates)
496 FOREACH( entry IN LISTS duplicates )
497 message( STATUS " ${entry}" )
498 ENDFOREACH()
499 message( STATUS "(end of list)" )
500ENDIF()
501
502# ##################################################################################################
503# Check for ".hpp" in header files or ".cpp" in sources
504# ##################################################################################################
505FOREACH( entry IN LISTS ALIB_INCLUDE_FILES )
506 IF( NOT ${entry} MATCHES "([.]inl$)|([.]hpp$)" )
507 message( FATAL_ERROR "Non-header file (wrong extension) found in header file list: ${entry}" )
508 ENDIF()
509ENDFOREACH()
510
511FOREACH( entry IN LISTS ALIB_SOURCE_FILES )
512 IF( NOT ${entry} MATCHES "([.]mm$)|([.]cpp$)" )
513 message( FATAL_ERROR "File with wrong extension found in source file list: ${entry}" )
514 ENDIF()
515ENDFOREACH()
516
517# ##################################################################################################
518# Copy sources if requested
519# ##################################################################################################
520if( ALIB_SOURCE_COPY_TARGET_DIR )
521
522 if( ${ALIB_SOURCE_COPY_TARGET_DIR} EQUAL ${ALIB_SOURCE_DIR})
523 MESSAGE(FATAL_ERROR "Variable ALIB_SOURCE_COPY_TARGET_DIR=\"${ALIB_SOURCE_COPY_TARGET_DIR}\" "
524 "is set and equals ALIB_SOURCE_DIR. This would delete origninal sources!")
525 endif()
526
527 # Add the build type to the directory name. Otherwise, if CMake was executed for different
528 # configurations in parallel, a clash of file copy/delete operations may happen.
529 if( NOT IS_DIRECTORY ${ALIB_SOURCE_COPY_TARGET_DIR})
530 MESSAGE(FATAL_ERROR "Variable ALIB_SOURCE_COPY_TARGET_DIR=\"${ALIB_SOURCE_COPY_TARGET_DIR}\" "
531 "is set but is not a valid directory. Stopping here!" )
532 endif()
533
534 SET( ALIB_SOURCE_COPY_TARGET_DIR "${ALIB_SOURCE_COPY_TARGET_DIR}/${CMAKE_BUILD_TYPE}" )
535
536 MESSAGE( STATUS "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
537 MESSAGE( STATUS "!!! ATTENTION: Copying sources. !!!")
538 MESSAGE( STATUS "!!! Destination directory will be deleted, hence !!!")
539 MESSAGE( STATUS "!!! CHANGES WILL BE LOST with next CMake run! !!!")
540 MESSAGE( STATUS "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
541 MESSAGE( STATUS "Copying source files of selected ALib modules to: ’${ALIB_SOURCE_COPY_TARGET_DIR}’")
542
543 # delete destination directory
544 file( REMOVE_RECURSE ${ALIB_SOURCE_COPY_TARGET_DIR} )
545
546 #### copy compilation units ####
547 foreach( fileName IN LISTS ALIB_INCLUDE_FILES ALIB_SOURCE_FILES )
548 SET( destPath "${ALIB_SOURCE_COPY_TARGET_DIR}/${fileName}" )
549 get_filename_component(destPath ${destPath} DIRECTORY )
550
551
552 file( COPY "${ALIB_SOURCE_DIR}/${fileName}" DESTINATION "${destPath}" )
553 endforeach()
554
555 ### now also switch source base directories ###
556 set( ALIB_SOURCE_DIR ${ALIB_SOURCE_COPY_TARGET_DIR} )
557endif()
558
559# ##################################################################################################
560# Add base directory to files
561# ##################################################################################################
562SET( temp "" )
563foreach( fileName IN LISTS ALIB_INCLUDE_FILES )
564 LIST( APPEND temp "${ALIB_SOURCE_DIR}/${fileName}" )
565endforeach()
566SET( ALIB_INCLUDE_FILES ${temp} )
567
568SET( temp "" )
569foreach( fileName IN LISTS ALIB_SOURCE_FILES )
570 LIST( APPEND temp "${ALIB_SOURCE_DIR}/${fileName}" )
571endforeach()
572SET( ALIB_SOURCE_FILES ${temp} )