annotate CMakeLists.txt @ 449:c3d55937754f

Socket: various small fixes
author David Demelier <markand@malikania.fr>
date Thu, 29 Oct 2015 21:10:56 +0100
parents 828d3dc89f2d
children 898d8b29a4f1
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)
412
f16164e720ba - Remove pandoc
David Demelier <markand@malikania.fr>
parents: 403
diff changeset
37 set(multiValueArgs SOURCES RESOURCES LIBRARIES INCLUDES)
334
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
412
f16164e720ba - Remove pandoc
David Demelier <markand@malikania.fr>
parents: 403
diff changeset
62 add_executable(${MOD_TARGET} ${MOD_SOURCES} ${MOD_RESOURCES} ${MAIN})
334
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 endif ()
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
92 endmacro()
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
93
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
94 # Optional
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
95 find_package(Jansson)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
96 find_package(OpenSSL)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
97 find_package(ZIP)
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
98
361
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
99 # Doxygen target
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
100 find_package(Doxygen)
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
101
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
102 if (DOXYGEN_FOUND)
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
103 configure_file(
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
104 ${CMAKE_SOURCE_DIR}/cmake/Doxyfile.in
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
105 ${CMAKE_BINARY_DIR}/Doxyfile
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
106 )
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
107
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
108 add_custom_target(
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
109 doxygen ALL
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
110 COMMENT "Generating doxygen documentation"
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
111 COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
112 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
113 VERBATIM
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
114 )
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
115 endif ()
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
116
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
117 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
118 # Base64
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 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
122 TARGET base64
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
123 NAME Base64
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
124 DIRECTORY Base64
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
125 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
126 ${code_SOURCE_DIR}/C++/modules/Base64/Base64.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
127 ${code_SOURCE_DIR}/C++/modules/Base64/Base64.h
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 )
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
129
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
130 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
131 # Converter
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
132 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
133
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
134 # No tests yet
236
ff2db0ed78f1 * Import GoogleTest
David Demelier <markand@malikania.fr>
parents: 225
diff changeset
135
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
136 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
137 # Directory
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
138 # ---------------------------------------------------------
219
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 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
141 TARGET directory
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
142 NAME Directory
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
143 DIRECTORY Directory
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
144 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
145 ${code_SOURCE_DIR}/C++/modules/Directory/Directory.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
146 ${code_SOURCE_DIR}/C++/modules/Directory/Directory.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
147 )
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
148
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
149 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
150 # Dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
151 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
152
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
153 if (WIN32)
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
154 set(EXTENSION ".dll")
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
155 elseif (UNIX)
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
156 set(EXTENSION ".so")
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
157 elseif (APPLE)
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
158 set(EXTENSION ".dylib")
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
159 else ()
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
160 message(FATAL_ERROR "Unsupported platform")
249
3b4ae8feca1c Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
161 endif ()
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
162
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
163 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
164 TARGET dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
165 NAME Dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
166 DIRECTORY Dynlib
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
167 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
168 ${code_SOURCE_DIR}/C++/modules/Dynlib/Dynlib.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
169 ${code_SOURCE_DIR}/C++/modules/Dynlib/Dynlib.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
170 )
242
a9883eeb9757 Add tests for Base64
David Demelier <markand@malikania.fr>
parents: 240
diff changeset
171
362
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
172 if (WITH_DYNLIB)
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
173 if (CMAKE_SYSTEM_NAME MATCHES "Linux")
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
174 target_link_libraries(dynlib dl)
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
175 endif ()
391
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
176
362
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
177 target_compile_definitions(dynlib PRIVATE EXTENSION=\"${EXTENSION}\")
391
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
178
362
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
179 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
180 set_target_properties(dynlib-plugin PROPERTIES PREFIX "")
ff5b46474895 - Fix WITH_DYNLIB=Off
David Demelier <markand@malikania.fr>
parents: 361
diff changeset
181 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
182 endif ()
5a99711d52f9 Directory: add unit tests
David Demelier <markand@malikania.fr>
parents: 221
diff changeset
183
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
184 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
185 # Flags
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
361
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
188 #
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
189 # TODO: may be modified or deleted
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
190 #
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
191
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
192 #define_module(
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
193 # TARGET flags
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
194 # NAME Flags
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
195 # DIRECTORY Flags
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
196 # SOURCES ${code_SOURCE_DIR}/C++/modules/Flags/Flags.h
412c3e26bb40 - Add doxygen
David Demelier <markand@malikania.fr>
parents: 360
diff changeset
197 #)
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
198
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
199 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
200 # Hash
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
201 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
202
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
203 if (OPENSSL_FOUND)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
204 define_module(
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
205 TARGET hash
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
206 NAME Hash
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
207 DIRECTORY Hash
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
208 LIBRARIES ${OPENSSL_LIBRARIES}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
209 INCLUDES ${OPENSSL_INCLUDE_DIR}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
210 SOURCES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
211 ${code_SOURCE_DIR}/C++/modules/Hash/Hash.cpp
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
212 ${code_SOURCE_DIR}/C++/modules/Hash/Hash.h
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
213 )
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
214 endif ()
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
215
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
216 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
217 # Ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
218 # ---------------------------------------------------------
219
8fc177bbc4a6 Update some code
David Demelier <markand@malikania.fr>
parents:
diff changeset
219
337
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
220 if (WIN32)
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
221 set(INI_LIBRARIES Shlwapi)
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
222 endif ()
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
223
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
224 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
225 TARGET ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
226 NAME Ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
227 DIRECTORY Ini
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
228 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
229 ${code_SOURCE_DIR}/C++/modules/Ini/Ini.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
230 ${code_SOURCE_DIR}/C++/modules/Ini/Ini.h
337
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
231 LIBRARIES
24c9388c34b7 Ini: fix under Windows
David Demelier <markand@malikania.fr>
parents: 335
diff changeset
232 ${INI_LIBRARIES}
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
233 RESOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
234 ${code_SOURCE_DIR}/C++/tests/Ini/configs/compact.conf
426
David Demelier <markand@malikania.fr>
parents: 412
diff changeset
235 ${code_SOURCE_DIR}/C++/tests/Ini/configs/empty.conf
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
236 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-badcomment.conf
426
David Demelier <markand@malikania.fr>
parents: 412
diff changeset
237 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-badinclude.conf
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
238 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-badsection.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
239 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-nosection.conf
426
David Demelier <markand@malikania.fr>
parents: 412
diff changeset
240 ${code_SOURCE_DIR}/C++/tests/Ini/configs/error-unterminatedsection.conf
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
241 ${code_SOURCE_DIR}/C++/tests/Ini/configs/includes.conf
430
David Demelier <markand@malikania.fr>
parents: 429
diff changeset
242 ${code_SOURCE_DIR}/C++/tests/Ini/configs/lists.conf
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
243 ${code_SOURCE_DIR}/C++/tests/Ini/configs/multi.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
244 ${code_SOURCE_DIR}/C++/tests/Ini/configs/novalue.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
245 ${code_SOURCE_DIR}/C++/tests/Ini/configs/simple.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
246 ${code_SOURCE_DIR}/C++/tests/Ini/configs/tokens.conf
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
247 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
248
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
249 # ---------------------------------------------------------
391
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
250 # Js (Duktape)
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
251 # ---------------------------------------------------------
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
252
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
253 define_module(
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
254 TARGET js
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
255 NAME Js
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
256 DIRECTORY Js
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
257 LIBRARIES duktape
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
258 SOURCES
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
259 ${code_SOURCE_DIR}/C++/modules/Js/Js.cpp
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
260 ${code_SOURCE_DIR}/C++/modules/Js/Js.h
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
261 )
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
262
e2cefd0ee511 Add Js, Duktape wrapper
David Demelier <markand@malikania.fr>
parents: 381
diff changeset
263 # ---------------------------------------------------------
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
264 # Json
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
265 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
266
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
267 if (Jansson_FOUND)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
268 define_module(
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
269 TARGET json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
270 NAME Json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
271 DIRECTORY Json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
272 INCLUDES ${Jansson_INCLUDE_DIRS}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
273 LIBRARIES ${Jansson_LIBRARIES}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
274 SOURCES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
275 ${code_SOURCE_DIR}/C++/modules/Json/Json.cpp
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
276 ${code_SOURCE_DIR}/C++/modules/Json/Json.h
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
277 RESOURCES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
278 ${code_SOURCE_DIR}/C++/tests/Json/data/array-all.json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
279 ${code_SOURCE_DIR}/C++/tests/Json/data/array.json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
280 ${code_SOURCE_DIR}/C++/tests/Json/data/object-all.json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
281 ${code_SOURCE_DIR}/C++/tests/Json/data/object.json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
282 ${code_SOURCE_DIR}/C++/tests/Json/data/simple.json
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
283 )
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
284 endif ()
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
285
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
286 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
287 # OptionParser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
288 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
289
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
290 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
291 TARGET optionparser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
292 NAME OptionParser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
293 DIRECTORY OptionParser
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
294 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
295 ${code_SOURCE_DIR}/C++/modules/OptionParser/OptionParser.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
296 ${code_SOURCE_DIR}/C++/modules/OptionParser/OptionParser.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
297 )
261
0c7bc55e0d36 Add Flags, a small wrapper for creating enum flags
David Demelier <markand@malikania.fr>
parents: 258
diff changeset
298
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
299 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
300 # Sockets
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
301 # ---------------------------------------------------------
223
c6513d9c696b Pack: add unit tests
David Demelier <markand@malikania.fr>
parents: 222
diff changeset
302
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
303 if (OPENSSL_FOUND)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
304 if (WIN32)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
305 set(SOCKET_LIBRARIES ws2_32)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
306 endif ()
335
486767e1d165 Socket: fix under Windows and add new style
David Demelier <markand@malikania.fr>
parents: 334
diff changeset
307
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
308 define_module(
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
309 TARGET socket
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
310 NAME Socket
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
311 DIRECTORY Socket
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
312 INCLUDES ${OPENSSL_INCLUDE_DIR}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
313 LIBRARIES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
314 ${SOCKET_LIBRARIES}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
315 ${OPENSSL_LIBRARIES}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
316 SOURCES
431
7f01d500460a Sockets: begin of massive refactoring and redesign
David Demelier <markand@malikania.fr>
parents: 430
diff changeset
317 ${code_SOURCE_DIR}/C++/modules/Socket/Sockets.cpp
7f01d500460a Sockets: begin of massive refactoring and redesign
David Demelier <markand@malikania.fr>
parents: 430
diff changeset
318 ${code_SOURCE_DIR}/C++/modules/Socket/Sockets.h
447
828d3dc89f2d Socket: use own tests for SSL
David Demelier <markand@malikania.fr>
parents: 431
diff changeset
319 RESOURCES
828d3dc89f2d Socket: use own tests for SSL
David Demelier <markand@malikania.fr>
parents: 431
diff changeset
320 ${code_SOURCE_DIR}/C++/tests/Socket/test.crt
828d3dc89f2d Socket: use own tests for SSL
David Demelier <markand@malikania.fr>
parents: 431
diff changeset
321 ${code_SOURCE_DIR}/C++/tests/Socket/test.key
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
322 )
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
323 endif ()
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
324
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
325 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
326 # Treenode
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
327 # ---------------------------------------------------------
311
David Demelier <markand@malikania.fr>
parents: 309
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 treenode
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
331 NAME Treenode
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
332 DIRECTORY Treenode
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
333 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
334 ${code_SOURCE_DIR}/C++/modules/Treenode/TreeNode.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
335 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
336
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
337 # ---------------------------------------------------------
358
David Demelier <markand@malikania.fr>
parents: 357
diff changeset
338 # Unicode
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
339 # ---------------------------------------------------------
325
d52a69f9f029 Add Ini, brand new replacement for Parser
David Demelier <markand@malikania.fr>
parents: 311
diff changeset
340
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
341 define_module(
351
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
342 TARGET unicode
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
343 NAME Unicode
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
344 DIRECTORY Unicode
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
345 SOURCES
351
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
346 ${code_SOURCE_DIR}/C++/modules/Unicode/Unicode.cpp
David Demelier <markand@malikania.fr>
parents: 342
diff changeset
347 ${code_SOURCE_DIR}/C++/modules/Unicode/Unicode.h
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
348 )
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
349
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 # Xdg
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
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
354 if (UNIX)
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
355 define_module(
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
356 TARGET xdg
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
357 NAME Xdg
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
358 DIRECTORY Xdg
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
359 SOURCES
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
360 ${code_SOURCE_DIR}/C++/modules/Xdg/Xdg.cpp
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
361 ${code_SOURCE_DIR}/C++/modules/Xdg/Xdg.h
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
362 )
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
363 endif ()
236
ff2db0ed78f1 * Import GoogleTest
David Demelier <markand@malikania.fr>
parents: 225
diff changeset
364
334
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
365 # ---------------------------------------------------------
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
366 # Zip
0b576ee64d45 * Create brand new hierarchy
David Demelier <markand@malikania.fr>
parents: 325
diff changeset
367 # ---------------------------------------------------------
224
ca69910b1407 Parser: add tests (and fix #270)
David Demelier <markand@malikania.fr>
parents: 223
diff changeset
368
359
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
369 if (ZIP_FOUND)
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
370 define_module(
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
371 TARGET zip
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
372 NAME Zip
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
373 DIRECTORY Zip
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
374 INCLUDES ${ZIP_INCLUDE_DIRS}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
375 LIBRARIES ${ZIP_LIBRARIES}
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
376 RESOURCES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
377 ${code_SOURCE_DIR}/C++/tests/Zip/data/data.txt
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
378 ${code_SOURCE_DIR}/C++/tests/Zip/data/stats.zip
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
379 SOURCES
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
380 ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.cpp
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
381 ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.h
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
382 )
c6dfa16c77be Make things optional
David Demelier <markand@malikania.fr>
parents: 358
diff changeset
383 endif ()