Mercurial > code
annotate CMakeLists.txt @ 344:5c74a623888c
Merge
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 31 Mar 2015 08:49:59 +0200 |
parents | b32a0d29d97a |
children | 47a206e724f2 |
rev | line source |
---|---|
219 | 1 # |
2 # CMakeLists.txt -- code building for common code | |
3 # | |
236 | 4 # Copyright (c) 2013, 2014 David Demelier <markand@malikania.fr> |
219 | 5 # |
6 # Permission to use, copy, modify, and/or distribute this software for any | |
7 # purpose with or without fee is hereby granted, provided that the above | |
8 # copyright notice and this permission notice appear in all copies. | |
9 # | |
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 # | |
18 | |
19 # | |
20 # This CMakeLists build system is primarily used for testing all | |
21 # modules. | |
22 # | |
23 cmake_minimum_required(VERSION 2.8.11) | |
24 project(code) | |
25 | |
26 set(CMAKE_MODULE_PATH ${code_SOURCE_DIR}/cmake) | |
27 | |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
28 include(CMakeParseArguments) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
29 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
30 add_subdirectory(extern) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
31 add_subdirectory(tools) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
32 |
219 | 33 enable_testing() |
34 | |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
35 macro(define_module) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
36 set(oneValueArgs TARGET NAME DIRECTORY) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
37 set(multiValueArgs SOURCES RESOURCES DOCS LIBRARIES INCLUDES) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
38 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
39 cmake_parse_arguments(MOD "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
40 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
41 if (NOT MOD_TARGET) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
42 message(FATAL_ERROR "Argument TARGET not set") |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
43 elseif (NOT MOD_NAME) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
44 message(FATAL_ERROR "Argument NAME not set") |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
45 elseif (NOT MOD_DIRECTORY) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
46 message(FATAL_ERROR "Argument DIRECTORY not set") |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
47 endif () |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
48 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
49 string(TOUPPER ${MOD_NAME} optionname) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
50 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
51 # Create the option for enabling the test |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
52 option(WITH_${optionname} "Enable ${MOD_NAME}" On) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
53 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
54 if (WITH_${optionname}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
55 # Add the test executable |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
56 set(MAIN ${code_SOURCE_DIR}/C++/tests/${MOD_DIRECTORY}/main.cpp) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
57 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
58 if (NOT EXISTS ${MAIN}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
59 message(FATAL_ERROR "${MAIN} file does not exists") |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
60 endif () |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
61 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
62 add_executable(${MOD_TARGET} ${MOD_SOURCES} ${MOD_RESOURCES} ${MOD_DOCS} ${MAIN}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
63 add_test(${MOD_TARGET}-test ${MOD_TARGET}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
64 target_include_directories( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
65 ${MOD_TARGET} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
66 PRIVATE |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
67 ${code_SOURCE_DIR}/C++ |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
68 ${code_SOURCE_DIR}/C++/modules/${MOD_DIRECTORY} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
69 ${MOD_INCLUDES} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
70 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
71 target_link_libraries(${MOD_TARGET} gtest ${MOD_LIBRARIES}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
72 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
73 # Copy optional resources |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
74 if (MOD_RESOURCES) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
75 foreach (res ${MOD_RESOURCES}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
76 get_filename_component(inputname ${res} NAME) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
77 set(output ${CMAKE_BINARY_DIR}/${MOD_DIRECTORY}/${inputname}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
78 list(APPEND outputlist ${output}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
79 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
80 add_custom_command( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
81 OUTPUT ${output} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
82 COMMENT "Copying ${inputname}" |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
83 DEPENDS ${res} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
84 COMMAND ${CMAKE_COMMAND} -E copy ${res} ${output} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
85 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
86 endforeach() |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
87 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
88 add_custom_target(${MOD_TARGET}-resources DEPENDS ${outputlist}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
89 add_dependencies(${MOD_TARGET} ${MOD_TARGET}-resources) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
90 endif () |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
91 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
92 # Generate documentation locally |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
93 if (MOD_DOCS) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
94 foreach (doc ${MOD_DOCS}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
95 file(RELATIVE_PATH inputbase ${code_SOURCE_DIR}/C++/doc/${MOD_DIRECTORY} ${doc}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
96 string(REGEX REPLACE "^(.*)\\.md" "\\1.html" outputname ${inputbase}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
97 set(output ${CMAKE_BINARY_DIR}/doc/${MOD_DIRECTORY}/${outputname}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
98 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
99 pandoc( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
100 SOURCES ${doc} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
101 OUTPUT ${output} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
102 FROM markdown TO html5 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
103 MAKE_DIRECTORY STANDALONE |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
104 FILTER $<TARGET_FILE:mdtohtml> |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
105 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
106 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
107 list(APPEND docoutputlist ${output}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
108 endforeach () |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
109 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
110 add_custom_target(${MOD_TARGET}-doc DEPENDS ${docoutputlist}) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
111 add_dependencies(${MOD_TARGET} ${MOD_TARGET}-doc) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
112 endif () |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
113 endif () |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
114 endmacro() |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
115 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
116 find_package(Pandoc REQUIRED) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
117 find_package(OpenSSL REQUIRED) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
118 find_package(Jansson REQUIRED) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
119 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
120 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
121 # Base64 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
122 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
123 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
124 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
125 TARGET base64 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
126 NAME Base64 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
127 DIRECTORY Base64 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
128 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
129 ${code_SOURCE_DIR}/C++/modules/Base64/Base64.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
130 ${code_SOURCE_DIR}/C++/modules/Base64/Base64.h |
342
b32a0d29d97a
Base64: new documentation
David Demelier <markand@malikania.fr>
parents:
338
diff
changeset
|
131 DOCS |
b32a0d29d97a
Base64: new documentation
David Demelier <markand@malikania.fr>
parents:
338
diff
changeset
|
132 ${code_SOURCE_DIR}/C++/doc/Base64/Home.md |
b32a0d29d97a
Base64: new documentation
David Demelier <markand@malikania.fr>
parents:
338
diff
changeset
|
133 ${code_SOURCE_DIR}/C++/doc/Base64/class/Base64.md |
b32a0d29d97a
Base64: new documentation
David Demelier <markand@malikania.fr>
parents:
338
diff
changeset
|
134 ${code_SOURCE_DIR}/C++/doc/Base64/class/Base64/decode.md |
b32a0d29d97a
Base64: new documentation
David Demelier <markand@malikania.fr>
parents:
338
diff
changeset
|
135 ${code_SOURCE_DIR}/C++/doc/Base64/class/Base64/encode.md |
b32a0d29d97a
Base64: new documentation
David Demelier <markand@malikania.fr>
parents:
338
diff
changeset
|
136 ${code_SOURCE_DIR}/C++/doc/Base64/class/Base64/lookup.md |
b32a0d29d97a
Base64: new documentation
David Demelier <markand@malikania.fr>
parents:
338
diff
changeset
|
137 ${code_SOURCE_DIR}/C++/doc/Base64/class/Base64/rlookup.md |
219 | 138 ) |
139 | |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
140 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
141 # Converter |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
142 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
143 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
144 # No tests yet |
236 | 145 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
146 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
147 # Directory |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
148 # --------------------------------------------------------- |
219 | 149 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
150 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
151 TARGET directory |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
152 NAME Directory |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
153 DIRECTORY Directory |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
154 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
155 ${code_SOURCE_DIR}/C++/modules/Directory/Directory.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
156 ${code_SOURCE_DIR}/C++/modules/Directory/Directory.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
157 ) |
219 | 158 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
159 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
160 # Driver |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
161 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
162 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
163 # No tests yet |
249
3b4ae8feca1c
Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents:
242
diff
changeset
|
164 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
165 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
166 # Dynlib |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
167 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
168 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
169 if (WIN32) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
170 set(EXTENSION ".dll") |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
171 elseif (UNIX) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
172 set(EXTENSION ".so") |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
173 elseif (APPLE) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
174 set(EXTENSION ".dylib") |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
175 else () |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
176 message(FATAL_ERROR "Unsupported platform") |
249
3b4ae8feca1c
Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents:
242
diff
changeset
|
177 endif () |
219 | 178 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
179 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
180 TARGET dynlib |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
181 NAME Dynlib |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
182 DIRECTORY Dynlib |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
183 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
184 ${code_SOURCE_DIR}/C++/modules/Dynlib/Dynlib.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
185 ${code_SOURCE_DIR}/C++/modules/Dynlib/Dynlib.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
186 DOCS |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
187 ${code_SOURCE_DIR}/C++/doc/Dynlib/Home.md |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
188 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib.md |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
189 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/Constructor.md |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
190 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/Destructor.md |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
191 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/Policy.md |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
192 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/sym.md |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
193 ${code_SOURCE_DIR}/C++/doc/Dynlib/macro/DYNLIB_EXPORT.md |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
194 ) |
242 | 195 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
196 if (CMAKE_SYSTEM_NAME MATCHES "Linux") |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
197 target_link_libraries(dynlib dl) |
222
5a99711d52f9
Directory: add unit tests
David Demelier <markand@malikania.fr>
parents:
221
diff
changeset
|
198 endif () |
5a99711d52f9
Directory: add unit tests
David Demelier <markand@malikania.fr>
parents:
221
diff
changeset
|
199 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
200 target_compile_definitions(dynlib PRIVATE EXTENSION=\"${EXTENSION}\") |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
201 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
202 add_library(dynlib-plugin MODULE ${code_SOURCE_DIR}/C++/tests/Dynlib/Plugin.cpp) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
203 set_target_properties(dynlib-plugin PROPERTIES PREFIX "") |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
204 target_include_directories(dynlib-plugin PRIVATE ${code_SOURCE_DIR}/C++/modules/Dynlib) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
205 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
206 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
207 # Flags |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
208 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
209 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
210 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
211 TARGET flags |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
212 NAME Flags |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
213 DIRECTORY Flags |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
214 SOURCES ${code_SOURCE_DIR}/C++/modules/Flags/Flags.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
215 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
216 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
217 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
218 # Hash |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
219 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
220 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
221 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
222 TARGET hash |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
223 NAME Hash |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
224 DIRECTORY Hash |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
225 LIBRARIES ${OPENSSL_LIBRARIES} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
226 INCLUDES ${OPENSSL_INCLUDE_DIR} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
227 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
228 ${code_SOURCE_DIR}/C++/modules/Hash/Hash.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
229 ${code_SOURCE_DIR}/C++/modules/Hash/Hash.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
230 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
231 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
232 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
233 # Ini |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
234 # --------------------------------------------------------- |
219 | 235 |
337
24c9388c34b7
Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents:
335
diff
changeset
|
236 if (WIN32) |
24c9388c34b7
Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents:
335
diff
changeset
|
237 set(INI_LIBRARIES Shlwapi) |
24c9388c34b7
Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents:
335
diff
changeset
|
238 endif () |
24c9388c34b7
Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents:
335
diff
changeset
|
239 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
240 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
241 TARGET ini |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
242 NAME Ini |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
243 DIRECTORY Ini |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
244 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
245 ${code_SOURCE_DIR}/C++/modules/Ini/Ini.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
246 ${code_SOURCE_DIR}/C++/modules/Ini/Ini.h |
337
24c9388c34b7
Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents:
335
diff
changeset
|
247 LIBRARIES |
24c9388c34b7
Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents:
335
diff
changeset
|
248 ${INI_LIBRARIES} |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
249 RESOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
250 ${code_SOURCE_DIR}/C++/tests/Ini/configs/compact.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
251 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-badcomment.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
252 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-badsection.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
253 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-lineassigment.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
254 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-nosection.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
255 ${code_SOURCE_DIR}/C++/tests/Ini/configs/includes.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
256 ${code_SOURCE_DIR}/C++/tests/Ini/configs/multi.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
257 ${code_SOURCE_DIR}/C++/tests/Ini/configs/novalue.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
258 ${code_SOURCE_DIR}/C++/tests/Ini/configs/simple.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
259 ${code_SOURCE_DIR}/C++/tests/Ini/configs/tokens.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
260 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
261 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
262 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
263 # Json |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
264 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
265 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
266 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
267 TARGET json |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
268 NAME Json |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
269 DIRECTORY Json |
338
54dda199b2ef
Json: fix bad include directories variable
David Demelier <markand@malikania.fr>
parents:
337
diff
changeset
|
270 INCLUDES ${Jansson_INCLUDE_DIRS} |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
271 LIBRARIES ${Jansson_LIBRARIES} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
272 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
273 ${code_SOURCE_DIR}/C++/modules/Json/Json.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
274 ${code_SOURCE_DIR}/C++/modules/Json/Json.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
275 RESOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
276 ${code_SOURCE_DIR}/C++/tests/Json/data/array-all.json |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
277 ${code_SOURCE_DIR}/C++/tests/Json/data/array.json |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
278 ${code_SOURCE_DIR}/C++/tests/Json/data/object-all.json |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
279 ${code_SOURCE_DIR}/C++/tests/Json/data/object.json |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
280 ${code_SOURCE_DIR}/C++/tests/Json/data/simple.json |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
281 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
282 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
283 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
284 # OptionParser |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
285 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
286 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
287 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
288 TARGET optionparser |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
289 NAME OptionParser |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
290 DIRECTORY OptionParser |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
291 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
292 ${code_SOURCE_DIR}/C++/modules/OptionParser/OptionParser.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
293 ${code_SOURCE_DIR}/C++/modules/OptionParser/OptionParser.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
294 ) |
261
0c7bc55e0d36
Add Flags, a small wrapper for creating enum flags
David Demelier <markand@malikania.fr>
parents:
258
diff
changeset
|
295 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
296 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
297 # Pack |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
298 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
299 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
300 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
301 TARGET pack |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
302 NAME Pack |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
303 DIRECTORY Pack |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
304 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
305 ${code_SOURCE_DIR}/C++/modules/Pack/Pack.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
306 ${code_SOURCE_DIR}/C++/modules/Pack/Pack.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
307 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
308 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
309 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
310 # Parser (DEPRECATED) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
311 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
312 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
313 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
314 TARGET parser |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
315 NAME Parser |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
316 DIRECTORY Parser |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
317 RESOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
318 ${code_SOURCE_DIR}/C++/tests/Parser/configs/simple.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
319 ${code_SOURCE_DIR}/C++/tests/Parser/configs/multi.conf |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
320 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
321 ${code_SOURCE_DIR}/C++/modules/Parser/Parser.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
322 ${code_SOURCE_DIR}/C++/modules/Parser/Parser.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
323 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
324 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
325 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
326 # Sockets |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
327 # --------------------------------------------------------- |
223 | 328 |
335
486767e1d165
Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents:
334
diff
changeset
|
329 if (WIN32) |
486767e1d165
Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents:
334
diff
changeset
|
330 set(SOCKET_LIBRARIES ws2_32) |
486767e1d165
Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents:
334
diff
changeset
|
331 endif () |
486767e1d165
Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents:
334
diff
changeset
|
332 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
333 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
334 TARGET socket |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
335 NAME Socket |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
336 DIRECTORY Socket |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
337 INCLUDES ${OPENSSL_INCLUDE_DIR} |
335
486767e1d165
Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents:
334
diff
changeset
|
338 LIBRARIES |
486767e1d165
Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents:
334
diff
changeset
|
339 ${SOCKET_LIBRARIES} |
486767e1d165
Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents:
334
diff
changeset
|
340 ${OPENSSL_LIBRARIES} |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
341 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
342 ${code_SOURCE_DIR}/C++/modules/Socket/SocketAddress.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
343 ${code_SOURCE_DIR}/C++/modules/Socket/SocketAddress.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
344 ${code_SOURCE_DIR}/C++/modules/Socket/Socket.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
345 ${code_SOURCE_DIR}/C++/modules/Socket/Socket.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
346 ${code_SOURCE_DIR}/C++/modules/Socket/SocketListener.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
347 ${code_SOURCE_DIR}/C++/modules/Socket/SocketListener.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
348 ${code_SOURCE_DIR}/C++/modules/Socket/SocketSsl.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
349 ${code_SOURCE_DIR}/C++/modules/Socket/SocketSsl.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
350 ${code_SOURCE_DIR}/C++/modules/Socket/SocketTcp.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
351 ${code_SOURCE_DIR}/C++/modules/Socket/SocketTcp.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
352 ${code_SOURCE_DIR}/C++/modules/Socket/SocketUdp.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
353 ${code_SOURCE_DIR}/C++/modules/Socket/SocketUdp.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
354 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
355 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
356 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
357 # Treenode |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
358 # --------------------------------------------------------- |
311 | 359 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
360 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
361 TARGET treenode |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
362 NAME Treenode |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
363 DIRECTORY Treenode |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
364 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
365 ${code_SOURCE_DIR}/C++/modules/Treenode/TreeNode.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
366 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
367 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
368 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
369 # Utf8 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
370 # --------------------------------------------------------- |
325
d52a69f9f029
Add Ini, brand new replacement for Parser
David Demelier <markand@malikania.fr>
parents:
311
diff
changeset
|
371 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
372 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
373 TARGET utf8 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
374 NAME Utf8 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
375 DIRECTORY Utf8 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
376 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
377 ${code_SOURCE_DIR}/C++/modules/Utf8/Utf8.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
378 ${code_SOURCE_DIR}/C++/modules/Utf8/Utf8.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
379 ) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
380 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
381 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
382 # Xdg |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
383 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
384 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
385 if (UNIX) |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
386 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
387 TARGET xdg |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
388 NAME Xdg |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
389 DIRECTORY Xdg |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
390 |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
391 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
392 ${code_SOURCE_DIR}/C++/modules/Xdg/Xdg.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
393 ${code_SOURCE_DIR}/C++/modules/Xdg/Xdg.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
394 ) |
236 | 395 endif () |
396 | |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
397 # --------------------------------------------------------- |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
398 # Zip |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
399 # --------------------------------------------------------- |
224
ca69910b1407
Parser: add tests (and fix #270)
David Demelier <markand@malikania.fr>
parents:
223
diff
changeset
|
400 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
401 find_package(ZIP REQUIRED) |
258 | 402 |
334
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
403 define_module( |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
404 TARGET zip |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
405 NAME Zip |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
406 DIRECTORY Zip |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
407 INCLUDES ${ZIP_INCLUDE_DIRS} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
408 LIBRARIES ${ZIP_LIBRARIES} |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
409 RESOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
410 ${code_SOURCE_DIR}/C++/tests/Zip/data/data.txt |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
411 ${code_SOURCE_DIR}/C++/tests/Zip/data/stats.zip |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
412 SOURCES |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
413 ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.cpp |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
414 ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.h |
0b576ee64d45
* Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents:
325
diff
changeset
|
415 ) |