annotate CMakeLists.txt @ 356:6f0598efad07

Hash: add documentation
author David Demelier <markand@malikania.fr>
date Tue, 28 Apr 2015 10:59:29 +0200
parents 9f1e9c69c223
children 3174c463af95
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # CMakeLists.txt -- code building for common code
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
236
ff2db0ed78f1 * Import GoogleTest
David Demelier <markand@malikania.fr>
parents: 225
diff changeset
4 # Copyright (c) 2013, 2014 David Demelier <markand@malikania.fr>
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 # This CMakeLists build system is primarily used for testing all
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 # modules.
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 #
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 cmake_minimum_required(VERSION 2.8.11)
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 project(code)
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
25
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 set(CMAKE_MODULE_PATH ${code_SOURCE_DIR}/cmake)
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 enable_testing()
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 )
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
ff2db0ed78f1 * Import GoogleTest
David Demelier <markand@malikania.fr>
parents: 225
diff changeset
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
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
355
9f1e9c69c223 Directory:
David Demelier <markand@malikania.fr>
parents: 354
diff changeset
157 DOCS
9f1e9c69c223 Directory:
David Demelier <markand@malikania.fr>
parents: 354
diff changeset
158 ${code_SOURCE_DIR}/C++/doc/Directory/Home.md
9f1e9c69c223 Directory:
David Demelier <markand@malikania.fr>
parents: 354
diff changeset
159 ${code_SOURCE_DIR}/C++/doc/Directory/class/Directory.md
9f1e9c69c223 Directory:
David Demelier <markand@malikania.fr>
parents: 354
diff changeset
160 ${code_SOURCE_DIR}/C++/doc/Directory/class/DirectoryEntry.md
9f1e9c69c223 Directory:
David Demelier <markand@malikania.fr>
parents: 354
diff changeset
161 ${code_SOURCE_DIR}/C++/doc/Directory/class/Directory/Constructor.md
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
162 )
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
163
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
164 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
165 # Driver
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
166 # ---------------------------------------------------------
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 # No tests yet
249
3b4ae8feca1c Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
169
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
170 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
171 # Dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
172 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
173
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
174 if (WIN32)
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
175 set(EXTENSION ".dll")
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
176 elseif (UNIX)
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
177 set(EXTENSION ".so")
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
178 elseif (APPLE)
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
179 set(EXTENSION ".dylib")
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
180 else ()
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
181 message(FATAL_ERROR "Unsupported platform")
249
3b4ae8feca1c Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
182 endif ()
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
183
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
184 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
185 TARGET dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
186 NAME Dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
187 DIRECTORY Dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
188 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
189 ${code_SOURCE_DIR}/C++/modules/Dynlib/Dynlib.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
190 ${code_SOURCE_DIR}/C++/modules/Dynlib/Dynlib.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
191 DOCS
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
192 ${code_SOURCE_DIR}/C++/doc/Dynlib/Home.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
193 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
194 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/Constructor.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
195 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/Destructor.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
196 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/Policy.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
197 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/sym.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
198 ${code_SOURCE_DIR}/C++/doc/Dynlib/macro/DYNLIB_EXPORT.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
199 )
242
a9883eeb9757 Add tests for Base64
David Demelier <markand@malikania.fr>
parents: 240
diff changeset
200
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
201 if (CMAKE_SYSTEM_NAME MATCHES "Linux")
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
202 target_link_libraries(dynlib dl)
222
5a99711d52f9 Directory: add unit tests
David Demelier <markand@malikania.fr>
parents: 221
diff changeset
203 endif ()
5a99711d52f9 Directory: add unit tests
David Demelier <markand@malikania.fr>
parents: 221
diff changeset
204
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
205 target_compile_definitions(dynlib PRIVATE EXTENSION=\"${EXTENSION}\")
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 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
208 set_target_properties(dynlib-plugin PROPERTIES PREFIX "")
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
209 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
210
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
211 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
212 # Flags
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
213 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
214
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
215 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
216 TARGET flags
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
217 NAME Flags
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
218 DIRECTORY Flags
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
219 SOURCES ${code_SOURCE_DIR}/C++/modules/Flags/Flags.h
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
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
222 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
223 # Hash
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
224 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
225
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
226 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
227 TARGET hash
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
228 NAME Hash
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
229 DIRECTORY Hash
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
230 LIBRARIES ${OPENSSL_LIBRARIES}
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
231 INCLUDES ${OPENSSL_INCLUDE_DIR}
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
232 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
233 ${code_SOURCE_DIR}/C++/modules/Hash/Hash.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
234 ${code_SOURCE_DIR}/C++/modules/Hash/Hash.h
356
6f0598efad07 Hash: add documentation
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
235 DOCS
6f0598efad07 Hash: add documentation
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
236 ${code_SOURCE_DIR}/C++/doc/Hash/Home.md
6f0598efad07 Hash: add documentation
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
237 ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash.md
6f0598efad07 Hash: add documentation
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
238 ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/md5.md
6f0598efad07 Hash: add documentation
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
239 ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha1.md
6f0598efad07 Hash: add documentation
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
240 ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha256.md
6f0598efad07 Hash: add documentation
David Demelier <markand@malikania.fr>
parents: 355
diff changeset
241 ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha512.md
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
242 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
243
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
244 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
245 # Ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
246 # ---------------------------------------------------------
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
247
337
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
248 if (WIN32)
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
249 set(INI_LIBRARIES Shlwapi)
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
250 endif ()
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
251
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
252 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
253 TARGET ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
254 NAME Ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
255 DIRECTORY Ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
256 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
257 ${code_SOURCE_DIR}/C++/modules/Ini/Ini.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
258 ${code_SOURCE_DIR}/C++/modules/Ini/Ini.h
337
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
259 LIBRARIES
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
260 ${INI_LIBRARIES}
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
261 RESOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
262 ${code_SOURCE_DIR}/C++/tests/Ini/configs/compact.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
263 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-badcomment.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
264 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-badsection.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
265 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-lineassigment.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
266 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-nosection.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
267 ${code_SOURCE_DIR}/C++/tests/Ini/configs/includes.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
268 ${code_SOURCE_DIR}/C++/tests/Ini/configs/multi.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
269 ${code_SOURCE_DIR}/C++/tests/Ini/configs/novalue.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
270 ${code_SOURCE_DIR}/C++/tests/Ini/configs/simple.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
271 ${code_SOURCE_DIR}/C++/tests/Ini/configs/tokens.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
272 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
273
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
274 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
275 # Json
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
276 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
277
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
278 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
279 TARGET json
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
280 NAME Json
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
281 DIRECTORY Json
338
54dda199b2ef Json: fix bad include directories variable
David Demelier <markand@malikania.fr>
parents: 337
diff changeset
282 INCLUDES ${Jansson_INCLUDE_DIRS}
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
283 LIBRARIES ${Jansson_LIBRARIES}
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
284 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
285 ${code_SOURCE_DIR}/C++/modules/Json/Json.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
286 ${code_SOURCE_DIR}/C++/modules/Json/Json.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
287 RESOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
288 ${code_SOURCE_DIR}/C++/tests/Json/data/array-all.json
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
289 ${code_SOURCE_DIR}/C++/tests/Json/data/array.json
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
290 ${code_SOURCE_DIR}/C++/tests/Json/data/object-all.json
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
291 ${code_SOURCE_DIR}/C++/tests/Json/data/object.json
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
292 ${code_SOURCE_DIR}/C++/tests/Json/data/simple.json
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
293 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
294
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
295 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
296 # OptionParser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
297 # ---------------------------------------------------------
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 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
300 TARGET optionparser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
301 NAME OptionParser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
302 DIRECTORY OptionParser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
303 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
304 ${code_SOURCE_DIR}/C++/modules/OptionParser/OptionParser.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
305 ${code_SOURCE_DIR}/C++/modules/OptionParser/OptionParser.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
306 )
261
0c7bc55e0d36 Add Flags, a small wrapper for creating enum flags
David Demelier <markand@malikania.fr>
parents: 258
diff changeset
307
334
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 # Pack
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
310 # ---------------------------------------------------------
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 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
313 TARGET pack
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
314 NAME Pack
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
315 DIRECTORY Pack
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
316 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
317 ${code_SOURCE_DIR}/C++/modules/Pack/Pack.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
318 ${code_SOURCE_DIR}/C++/modules/Pack/Pack.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
319 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
320
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
321 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
322 # Sockets
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
323 # ---------------------------------------------------------
223
c6513d9c696b Pack: add unit tests
David Demelier <markand@malikania.fr>
parents: 222
diff changeset
324
335
486767e1d165 Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
325 if (WIN32)
486767e1d165 Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
326 set(SOCKET_LIBRARIES ws2_32)
486767e1d165 Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
327 endif ()
486767e1d165 Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
328
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
329 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
330 TARGET socket
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
331 NAME Socket
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
332 DIRECTORY Socket
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
333 INCLUDES ${OPENSSL_INCLUDE_DIR}
335
486767e1d165 Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
334 LIBRARIES
486767e1d165 Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
335 ${SOCKET_LIBRARIES}
486767e1d165 Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
336 ${OPENSSL_LIBRARIES}
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
337 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
338 ${code_SOURCE_DIR}/C++/modules/Socket/SocketAddress.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
339 ${code_SOURCE_DIR}/C++/modules/Socket/SocketAddress.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
340 ${code_SOURCE_DIR}/C++/modules/Socket/Socket.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
341 ${code_SOURCE_DIR}/C++/modules/Socket/Socket.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
342 ${code_SOURCE_DIR}/C++/modules/Socket/SocketListener.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
343 ${code_SOURCE_DIR}/C++/modules/Socket/SocketListener.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
344 ${code_SOURCE_DIR}/C++/modules/Socket/SocketSsl.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
345 ${code_SOURCE_DIR}/C++/modules/Socket/SocketSsl.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
346 ${code_SOURCE_DIR}/C++/modules/Socket/SocketTcp.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
347 ${code_SOURCE_DIR}/C++/modules/Socket/SocketTcp.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
348 ${code_SOURCE_DIR}/C++/modules/Socket/SocketUdp.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
349 ${code_SOURCE_DIR}/C++/modules/Socket/SocketUdp.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
350 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
351
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
352 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
353 # Treenode
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
354 # ---------------------------------------------------------
311
David Demelier <markand@malikania.fr>
parents: 309
diff changeset
355
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
356 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
357 TARGET treenode
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
358 NAME Treenode
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
359 DIRECTORY Treenode
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
360 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
361 ${code_SOURCE_DIR}/C++/modules/Treenode/TreeNode.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
362 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
363
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
364 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
365 # Utf8
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
366 # ---------------------------------------------------------
325
d52a69f9f029 Add Ini, brand new replacement for Parser
David Demelier <markand@malikania.fr>
parents: 311
diff changeset
367
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
368 define_module(
351
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
369 TARGET unicode
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
370 NAME Unicode
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
371 DIRECTORY Unicode
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
372 SOURCES
351
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
373 ${code_SOURCE_DIR}/C++/modules/Unicode/Unicode.cpp
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
374 ${code_SOURCE_DIR}/C++/modules/Unicode/Unicode.h
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
375 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
376
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
377 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
378 # Xdg
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 if (UNIX)
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
382 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
383 TARGET xdg
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
384 NAME Xdg
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
385 DIRECTORY Xdg
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
386
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
387 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
388 ${code_SOURCE_DIR}/C++/modules/Xdg/Xdg.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
389 ${code_SOURCE_DIR}/C++/modules/Xdg/Xdg.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
390 )
236
ff2db0ed78f1 * Import GoogleTest
David Demelier <markand@malikania.fr>
parents: 225
diff changeset
391 endif ()
ff2db0ed78f1 * Import GoogleTest
David Demelier <markand@malikania.fr>
parents: 225
diff changeset
392
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
393 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
394 # Zip
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
395 # ---------------------------------------------------------
224
ca69910b1407 Parser: add tests (and fix #270)
David Demelier <markand@malikania.fr>
parents: 223
diff changeset
396
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
397 find_package(ZIP REQUIRED)
258
4ad3c85ab73e Sockets:
David Demelier <markand@malikania.fr>
parents: 251
diff changeset
398
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
399 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
400 TARGET zip
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
401 NAME Zip
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
402 DIRECTORY Zip
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
403 INCLUDES ${ZIP_INCLUDE_DIRS}
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
404 LIBRARIES ${ZIP_LIBRARIES}
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
405 RESOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
406 ${code_SOURCE_DIR}/C++/tests/Zip/data/data.txt
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
407 ${code_SOURCE_DIR}/C++/tests/Zip/data/stats.zip
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
408 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
409 ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
410 ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
411 )