-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
111 lines (95 loc) · 4.98 KB
/
Copy pathCMakeLists.txt
File metadata and controls
111 lines (95 loc) · 4.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# ----------------------------------------------------------------------------------------
# Core module source files
# This list contains all implementation files for the core module.
# The variable will be exported to the parent CMakeLists via PARENT_SCOPE.
# ----------------------------------------------------------------------------------------
set(CORE_SOURCES
# Basic C++ language features
${CMAKE_CURRENT_SOURCE_DIR}/basics/InitializeVariable.cpp
${CMAKE_CURRENT_SOURCE_DIR}/basics/Operations.cpp
${CMAKE_CURRENT_SOURCE_DIR}/basics/TypeQualifier.cpp
${CMAKE_CURRENT_SOURCE_DIR}/basics/ControlFlow.cpp
# Linkage (internal / external / shared symbols)
${CMAKE_CURRENT_SOURCE_DIR}/linkage/Internal.cpp
${CMAKE_CURRENT_SOURCE_DIR}/linkage/Linkage.cpp
${CMAKE_CURRENT_SOURCE_DIR}/linkage/External.cpp
${CMAKE_CURRENT_SOURCE_DIR}/linkage/sharing/Sharing.cpp
${CMAKE_CURRENT_SOURCE_DIR}/linkage/sharing/external/constants.cpp
# Fundamental data types
${CMAKE_CURRENT_SOURCE_DIR}/datatype/Fundamental.cpp
${CMAKE_CURRENT_SOURCE_DIR}/datatype/Array.cpp
${CMAKE_CURRENT_SOURCE_DIR}/datatype/Reference.cpp
${CMAKE_CURRENT_SOURCE_DIR}/datatype/Pointer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/datatype/Enum.cpp
${CMAKE_CURRENT_SOURCE_DIR}/datatype/Struct.cpp
${CMAKE_CURRENT_SOURCE_DIR}/datatype/Union.cpp
${CMAKE_CURRENT_SOURCE_DIR}/datatype/TypeConVersions.cpp
# Classes and object lifecycle
${CMAKE_CURRENT_SOURCE_DIR}/class/Friend.cpp
${CMAKE_CURRENT_SOURCE_DIR}/class/Constructor.cpp
${CMAKE_CURRENT_SOURCE_DIR}/class/Destructor.cpp
${CMAKE_CURRENT_SOURCE_DIR}/class/SallowDeepCopying.cpp
${CMAKE_CURRENT_SOURCE_DIR}/class/RoleOfThreeFiveZero.cpp
${CMAKE_CURRENT_SOURCE_DIR}/class/Relationship.cpp
${CMAKE_CURRENT_SOURCE_DIR}/class/VirtualBase.cpp
${CMAKE_CURRENT_SOURCE_DIR}/class/Binding.cpp
${CMAKE_CURRENT_SOURCE_DIR}/class/Encapsulation.cpp
# String handling
${CMAKE_CURRENT_SOURCE_DIR}/string/StringFormatting.cpp
${CMAKE_CURRENT_SOURCE_DIR}/string/CString.cpp
${CMAKE_CURRENT_SOURCE_DIR}/string/StdString.cpp
# Exception handling
${CMAKE_CURRENT_SOURCE_DIR}/exception/BasicHandle.cpp
${CMAKE_CURRENT_SOURCE_DIR}/exception/ThrowNoexcept.cpp
# Streams and file handling
${CMAKE_CURRENT_SOURCE_DIR}/filehandle/IOStream.cpp
${CMAKE_CURRENT_SOURCE_DIR}/filehandle/StringStream.cpp
${CMAKE_CURRENT_SOURCE_DIR}/filehandle/FileIO.cpp
${CMAKE_CURRENT_SOURCE_DIR}/filehandle/Directory.cpp
${CMAKE_CURRENT_SOURCE_DIR}/filehandle/OutputFormatting.cpp
${CMAKE_CURRENT_SOURCE_DIR}/filehandle/BinaryFileHandling.cpp
${CMAKE_CURRENT_SOURCE_DIR}/filehandle/TerminalColor.cpp
# STL containers and expressions
${CMAKE_CURRENT_SOURCE_DIR}/container/sequence/Array.cpp
${CMAKE_CURRENT_SOURCE_DIR}/container/sequence/Vector.cpp
${CMAKE_CURRENT_SOURCE_DIR}/container/unordered/UnorderedMap.cpp
${CMAKE_CURRENT_SOURCE_DIR}/container/adapter/Queue.cpp
${CMAKE_CURRENT_SOURCE_DIR}/container/adapter/Stack.cpp
${CMAKE_CURRENT_SOURCE_DIR}/container/sequence/Deque.cpp
${CMAKE_CURRENT_SOURCE_DIR}/container/associative/Set.cpp
${CMAKE_CURRENT_SOURCE_DIR}/expression/Lambda.cpp
${CMAKE_CURRENT_SOURCE_DIR}/expression/FunctionPointer.cpp
# Smart pointers
${CMAKE_CURRENT_SOURCE_DIR}/smart_pointer/Unique.cpp
${CMAKE_CURRENT_SOURCE_DIR}/smart_pointer/Shared.cpp
${CMAKE_CURRENT_SOURCE_DIR}/smart_pointer/Weak.cpp
# Operator overloading
${CMAKE_CURRENT_SOURCE_DIR}/overloading/ArithmeticOperator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/overloading/IOOperator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/overloading/UnaryOperator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/overloading/ComparisonOperator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/overloading/InDecOperator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/overloading/SubscriptOperator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/overloading/ParenthesisOperator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/overloading/TypeCast.cpp
${CMAKE_CURRENT_SOURCE_DIR}/overloading/AssignmentOperator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/overloading/ClassMemberAccessOperator.cpp
${CMAKE_CURRENT_SOURCE_DIR}/overloading/AllocationOperator.cpp
# Date and time
${CMAKE_CURRENT_SOURCE_DIR}/datetime/Time.cpp
# Concurrency
${CMAKE_CURRENT_SOURCE_DIR}/concurrency/ThreadManagement.cpp
${CMAKE_CURRENT_SOURCE_DIR}/concurrency/SharingData.cpp
${CMAKE_CURRENT_SOURCE_DIR}/concurrency/RaceCondition.cpp
${CMAKE_CURRENT_SOURCE_DIR}/concurrency/ConditionVariable.cpp
${CMAKE_CURRENT_SOURCE_DIR}/concurrency/FuturePromise.cpp
# Utils
${CMAKE_CURRENT_SOURCE_DIR}/utils/Algorithm.cpp
${CMAKE_CURRENT_SOURCE_DIR}/utils/TypeTrait.cpp
${CMAKE_CURRENT_SOURCE_DIR}/utils/Optional.cpp
${CMAKE_CURRENT_SOURCE_DIR}/utils/Variadic.cpp
${CMAKE_CURRENT_SOURCE_DIR}/utils/Regex.cpp
)
# Export CORE_SOURCES to the parent CMakeLists.txt
# so the main application target can use these sources
set(CORE_SOURCES ${CORE_SOURCES} PARENT_SCOPE)