annotate CMakeLists.txt @ 408:f083259de5e6

Unicode: fix forEach and nbytesPoint on invalid, improve tolower/toupper for UTF-8 while here
author David Demelier <markand@malikania.fr>
date Tue, 06 Oct 2015 14:48:36 +0200
parents d5ec1174b707
children f16164e720ba
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 #
403
d5ec1174b707 Massive cleanup
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
4 # Copyright (c) 2013-2015 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 #
403
d5ec1174b707 Massive cleanup
David Demelier <markand@malikania.fr>
parents: 391
diff changeset
23 cmake_minimum_required(VERSION 3.0)
219
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
360
469000c78227 - Rename tools
David Demelier <markand@malikania.fr>
parents: 359
diff changeset
104 FILTER $<TARGET_FILE:cclinktool>
334
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
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
116 # Required
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
117 find_package(Pandoc REQUIRED)
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
118
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
119 # Optional
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
120 find_package(Jansson)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
121 find_package(OpenSSL)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
122 find_package(ZIP)
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
123
361
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
124 # Doxygen target
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
125 find_package(Doxygen)
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
126
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
127 if (DOXYGEN_FOUND)
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
128 configure_file(
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
129 ${CMAKE_SOURCE_DIR}/cmake/Doxyfile.in
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
130 ${CMAKE_BINARY_DIR}/Doxyfile
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
131 )
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
132
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
133 add_custom_target(
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
134 doxygen ALL
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
135 COMMENT "Generating doxygen documentation"
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
136 COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
137 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
138 VERBATIM
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
139 )
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
140 endif ()
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
141
334
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 # Base64
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
144 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
145
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
146 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
147 TARGET base64
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
148 NAME Base64
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
149 DIRECTORY Base64
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
150 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
151 ${code_SOURCE_DIR}/C++/modules/Base64/Base64.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
152 ${code_SOURCE_DIR}/C++/modules/Base64/Base64.h
342
b32a0d29d97a Base64: new documentation
David Demelier <markand@malikania.fr>
parents: 338
diff changeset
153 DOCS
b32a0d29d97a Base64: new documentation
David Demelier <markand@malikania.fr>
parents: 338
diff changeset
154 ${code_SOURCE_DIR}/C++/doc/Base64/Home.md
b32a0d29d97a Base64: new documentation
David Demelier <markand@malikania.fr>
parents: 338
diff changeset
155 ${code_SOURCE_DIR}/C++/doc/Base64/class/Base64.md
b32a0d29d97a Base64: new documentation
David Demelier <markand@malikania.fr>
parents: 338
diff changeset
156 ${code_SOURCE_DIR}/C++/doc/Base64/class/Base64/decode.md
b32a0d29d97a Base64: new documentation
David Demelier <markand@malikania.fr>
parents: 338
diff changeset
157 ${code_SOURCE_DIR}/C++/doc/Base64/class/Base64/encode.md
b32a0d29d97a Base64: new documentation
David Demelier <markand@malikania.fr>
parents: 338
diff changeset
158 ${code_SOURCE_DIR}/C++/doc/Base64/class/Base64/lookup.md
b32a0d29d97a Base64: new documentation
David Demelier <markand@malikania.fr>
parents: 338
diff changeset
159 ${code_SOURCE_DIR}/C++/doc/Base64/class/Base64/rlookup.md
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 )
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
161
334
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 # Converter
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
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
166 # No tests yet
236
ff2db0ed78f1 * Import GoogleTest
David Demelier <markand@malikania.fr>
parents: 225
diff changeset
167
334
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 # Directory
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
170 # ---------------------------------------------------------
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
171
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
172 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
173 TARGET directory
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
174 NAME Directory
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
175 DIRECTORY Directory
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
176 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
177 ${code_SOURCE_DIR}/C++/modules/Directory/Directory.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
178 ${code_SOURCE_DIR}/C++/modules/Directory/Directory.h
355
9f1e9c69c223 Directory:
David Demelier <markand@malikania.fr>
parents: 354
diff changeset
179 DOCS
9f1e9c69c223 Directory:
David Demelier <markand@malikania.fr>
parents: 354
diff changeset
180 ${code_SOURCE_DIR}/C++/doc/Directory/Home.md
9f1e9c69c223 Directory:
David Demelier <markand@malikania.fr>
parents: 354
diff changeset
181 ${code_SOURCE_DIR}/C++/doc/Directory/class/Directory.md
9f1e9c69c223 Directory:
David Demelier <markand@malikania.fr>
parents: 354
diff changeset
182 ${code_SOURCE_DIR}/C++/doc/Directory/class/DirectoryEntry.md
9f1e9c69c223 Directory:
David Demelier <markand@malikania.fr>
parents: 354
diff changeset
183 ${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
184 )
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
185
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
186 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
187 # Driver
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
188 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
189
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
190 # No tests yet
249
3b4ae8feca1c Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
191
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
192 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
193 # Dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
194 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
195
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
196 if (WIN32)
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
197 set(EXTENSION ".dll")
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
198 elseif (UNIX)
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
199 set(EXTENSION ".so")
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
200 elseif (APPLE)
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
201 set(EXTENSION ".dylib")
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
202 else ()
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
203 message(FATAL_ERROR "Unsupported platform")
249
3b4ae8feca1c Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
204 endif ()
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
205
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
206 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
207 TARGET dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
208 NAME Dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
209 DIRECTORY Dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
210 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
211 ${code_SOURCE_DIR}/C++/modules/Dynlib/Dynlib.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
212 ${code_SOURCE_DIR}/C++/modules/Dynlib/Dynlib.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
213 DOCS
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
214 ${code_SOURCE_DIR}/C++/doc/Dynlib/Home.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
215 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
216 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/Constructor.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
217 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/Destructor.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
218 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/Policy.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
219 ${code_SOURCE_DIR}/C++/doc/Dynlib/class/Dynlib/sym.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
220 ${code_SOURCE_DIR}/C++/doc/Dynlib/macro/DYNLIB_EXPORT.md
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
221 )
242
a9883eeb9757 Add tests for Base64
David Demelier <markand@malikania.fr>
parents: 240
diff changeset
222
362
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
223 if (WITH_DYNLIB)
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
224 if (CMAKE_SYSTEM_NAME MATCHES "Linux")
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
225 target_link_libraries(dynlib dl)
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
226 endif ()
391
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
227
362
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
228 target_compile_definitions(dynlib PRIVATE EXTENSION=\"${EXTENSION}\")
391
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
229
362
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
230 add_library(dynlib-plugin MODULE ${code_SOURCE_DIR}/C++/tests/Dynlib/Plugin.cpp)
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
231 set_target_properties(dynlib-plugin PROPERTIES PREFIX "")
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
232 target_include_directories(dynlib-plugin PRIVATE ${code_SOURCE_DIR}/C++/modules/Dynlib)
222
5a99711d52f9 Directory: add unit tests
David Demelier <markand@malikania.fr>
parents: 221
diff changeset
233 endif ()
5a99711d52f9 Directory: add unit tests
David Demelier <markand@malikania.fr>
parents: 221
diff changeset
234
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
235 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
236 # Flags
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
237 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
238
361
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
239 #
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
240 # TODO: may be modified or deleted
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
241 #
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
242
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
243 #define_module(
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
244 # TARGET flags
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
245 # NAME Flags
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
246 # DIRECTORY Flags
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
247 # SOURCES ${code_SOURCE_DIR}/C++/modules/Flags/Flags.h
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
248 #)
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
249
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
250 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
251 # Hash
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
252 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
253
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
254 if (OPENSSL_FOUND)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
255 define_module(
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
256 TARGET hash
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
257 NAME Hash
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
258 DIRECTORY Hash
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
259 LIBRARIES ${OPENSSL_LIBRARIES}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
260 INCLUDES ${OPENSSL_INCLUDE_DIR}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
261 SOURCES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
262 ${code_SOURCE_DIR}/C++/modules/Hash/Hash.cpp
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
263 ${code_SOURCE_DIR}/C++/modules/Hash/Hash.h
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
264 DOCS
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
265 ${code_SOURCE_DIR}/C++/doc/Hash/Home.md
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
266 ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash.md
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
267 ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/md5.md
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
268 ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha1.md
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
269 ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha256.md
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
270 ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha512.md
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
271 )
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
272 endif ()
334
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 # Ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
276 # ---------------------------------------------------------
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
277
337
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
278 if (WIN32)
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
279 set(INI_LIBRARIES Shlwapi)
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
280 endif ()
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
281
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
282 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
283 TARGET ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
284 NAME Ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
285 DIRECTORY Ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
286 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
287 ${code_SOURCE_DIR}/C++/modules/Ini/Ini.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
288 ${code_SOURCE_DIR}/C++/modules/Ini/Ini.h
337
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
289 LIBRARIES
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
290 ${INI_LIBRARIES}
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
291 RESOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
292 ${code_SOURCE_DIR}/C++/tests/Ini/configs/compact.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
293 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-badcomment.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
294 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-badsection.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
295 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-lineassigment.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
296 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-nosection.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
297 ${code_SOURCE_DIR}/C++/tests/Ini/configs/includes.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
298 ${code_SOURCE_DIR}/C++/tests/Ini/configs/multi.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
299 ${code_SOURCE_DIR}/C++/tests/Ini/configs/novalue.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
300 ${code_SOURCE_DIR}/C++/tests/Ini/configs/simple.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
301 ${code_SOURCE_DIR}/C++/tests/Ini/configs/tokens.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
302 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
303
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
304 # ---------------------------------------------------------
391
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
305 # Js (Duktape)
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
306 # ---------------------------------------------------------
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
307
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
308 define_module(
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
309 TARGET js
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
310 NAME Js
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
311 DIRECTORY Js
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
312 LIBRARIES duktape
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
313 SOURCES
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
314 ${code_SOURCE_DIR}/C++/modules/Js/Js.cpp
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
315 ${code_SOURCE_DIR}/C++/modules/Js/Js.h
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
316 )
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
317
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
318 # ---------------------------------------------------------
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
319 # Json
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
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
322 if (Jansson_FOUND)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
323 define_module(
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
324 TARGET json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
325 NAME Json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
326 DIRECTORY Json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
327 INCLUDES ${Jansson_INCLUDE_DIRS}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
328 LIBRARIES ${Jansson_LIBRARIES}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
329 SOURCES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
330 ${code_SOURCE_DIR}/C++/modules/Json/Json.cpp
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
331 ${code_SOURCE_DIR}/C++/modules/Json/Json.h
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
332 RESOURCES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
333 ${code_SOURCE_DIR}/C++/tests/Json/data/array-all.json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
334 ${code_SOURCE_DIR}/C++/tests/Json/data/array.json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
335 ${code_SOURCE_DIR}/C++/tests/Json/data/object-all.json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
336 ${code_SOURCE_DIR}/C++/tests/Json/data/object.json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
337 ${code_SOURCE_DIR}/C++/tests/Json/data/simple.json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
338 )
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
339 endif ()
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
340
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
341 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
342 # OptionParser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
343 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
344
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
345 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
346 TARGET optionparser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
347 NAME OptionParser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
348 DIRECTORY OptionParser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
349 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
350 ${code_SOURCE_DIR}/C++/modules/OptionParser/OptionParser.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
351 ${code_SOURCE_DIR}/C++/modules/OptionParser/OptionParser.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
352 )
261
0c7bc55e0d36 Add Flags, a small wrapper for creating enum flags
David Demelier <markand@malikania.fr>
parents: 258
diff changeset
353
334
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 # Sockets
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
356 # ---------------------------------------------------------
223
c6513d9c696b Pack: add unit tests
David Demelier <markand@malikania.fr>
parents: 222
diff changeset
357
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
358 if (OPENSSL_FOUND)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
359 if (WIN32)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
360 set(SOCKET_LIBRARIES ws2_32)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
361 endif ()
335
486767e1d165 Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
362
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
363 define_module(
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
364 TARGET socket
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
365 NAME Socket
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
366 DIRECTORY Socket
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
367 INCLUDES ${OPENSSL_INCLUDE_DIR}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
368 LIBRARIES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
369 ${SOCKET_LIBRARIES}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
370 ${OPENSSL_LIBRARIES}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
371 SOURCES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
372 ${code_SOURCE_DIR}/C++/modules/Socket/SocketAddress.cpp
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
373 ${code_SOURCE_DIR}/C++/modules/Socket/SocketAddress.h
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
374 ${code_SOURCE_DIR}/C++/modules/Socket/Socket.cpp
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
375 ${code_SOURCE_DIR}/C++/modules/Socket/Socket.h
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
376 ${code_SOURCE_DIR}/C++/modules/Socket/SocketListener.cpp
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
377 ${code_SOURCE_DIR}/C++/modules/Socket/SocketListener.h
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
378 ${code_SOURCE_DIR}/C++/modules/Socket/SocketSsl.cpp
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
379 ${code_SOURCE_DIR}/C++/modules/Socket/SocketSsl.h
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
380 )
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
381 endif ()
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
382
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 # Treenode
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
385 # ---------------------------------------------------------
311
David Demelier <markand@malikania.fr>
parents: 309
diff changeset
386
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
387 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
388 TARGET treenode
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
389 NAME Treenode
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
390 DIRECTORY Treenode
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/Treenode/TreeNode.h
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
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
395 # ---------------------------------------------------------
358
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
396 # Unicode
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
397 # ---------------------------------------------------------
325
d52a69f9f029 Add Ini, brand new replacement for Parser
David Demelier <markand@malikania.fr>
parents: 311
diff changeset
398
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
399 define_module(
351
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
400 TARGET unicode
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
401 NAME Unicode
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
402 DIRECTORY Unicode
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
403 SOURCES
351
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
404 ${code_SOURCE_DIR}/C++/modules/Unicode/Unicode.cpp
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
405 ${code_SOURCE_DIR}/C++/modules/Unicode/Unicode.h
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
406 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
407
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
408 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
409 # Xdg
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
410 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
411
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
412 if (UNIX)
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
413 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
414 TARGET xdg
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
415 NAME Xdg
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
416 DIRECTORY Xdg
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
417 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
418 ${code_SOURCE_DIR}/C++/modules/Xdg/Xdg.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
419 ${code_SOURCE_DIR}/C++/modules/Xdg/Xdg.h
358
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
420 DOCS
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
421 ${code_SOURCE_DIR}/C++/doc/Xdg/Home.md
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
422 ${code_SOURCE_DIR}/C++/doc/Xdg/class/Xdg.md
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
423 ${code_SOURCE_DIR}/C++/doc/Xdg/class/Xdg/cacheHome.md
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
424 ${code_SOURCE_DIR}/C++/doc/Xdg/class/Xdg/configDirs.md
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
425 ${code_SOURCE_DIR}/C++/doc/Xdg/class/Xdg/configHome.md
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
426 ${code_SOURCE_DIR}/C++/doc/Xdg/class/Xdg/Constructor.md
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
427 ${code_SOURCE_DIR}/C++/doc/Xdg/class/Xdg/dataDirs.md
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
428 ${code_SOURCE_DIR}/C++/doc/Xdg/class/Xdg/dataHome.md
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
429 ${code_SOURCE_DIR}/C++/doc/Xdg/class/Xdg/runtimeDir.md
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
430 )
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
431 endif ()
236
ff2db0ed78f1 * Import GoogleTest
David Demelier <markand@malikania.fr>
parents: 225
diff changeset
432
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
433 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
434 # Zip
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
435 # ---------------------------------------------------------
224
ca69910b1407 Parser: add tests (and fix #270)
David Demelier <markand@malikania.fr>
parents: 223
diff changeset
436
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
437 if (ZIP_FOUND)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
438 define_module(
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
439 TARGET zip
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
440 NAME Zip
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
441 DIRECTORY Zip
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
442 INCLUDES ${ZIP_INCLUDE_DIRS}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
443 LIBRARIES ${ZIP_LIBRARIES}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
444 RESOURCES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
445 ${code_SOURCE_DIR}/C++/tests/Zip/data/data.txt
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
446 ${code_SOURCE_DIR}/C++/tests/Zip/data/stats.zip
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
447 SOURCES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
448 ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.cpp
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
449 ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.h
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
450 )
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
451 endif ()