Merge branch 'fixes' into main/rendor-staging
[ryzomcore.git] / nel / src / misc / CMakeLists.txt
blobda92f2593fb0ec6d3d7a2a7d3d1a032ae62ad8c1
1 FILE(GLOB SRC *.cpp *.h config_file/*.cpp config_file/*.h)
2 FILE(GLOB HEADERS ../../include/nel/misc/*.h)
4 FILE(GLOB NLMISC_CDB
5         cdb.cpp ../../include/nel/misc/cdb.h
6         cdb_*.cpp ../../include/nel/misc/cdb_*.h
9 FILE(GLOB NLMISC_EVENT
10         events.cpp ../../include/nel/misc/events.h
11         event_*.cpp ../../include/nel/misc/event_*.h
12         *_event_*.cpp ../../include/nel/misc/*_event_*.h
15 FILE(GLOB NLMISC_DEBUG
16         debug.cpp ../../include/nel/misc/debug.h
17         report.cpp ../../include/nel/misc/report.h
18         log.cpp ../../include/nel/misc/log.h
21 FILE(GLOB NLMISC_FILESYSTEM
22         async_file_manager.cpp ../../include/nel/misc/async_file_manager.h
23         file.cpp ../../include/nel/misc/file.h
24         path.cpp ../../include/nel/misc/path.h
25         big_file.cpp ../../include/nel/misc/big_file.h
26         *_xml.cpp ../../include/nel/misc/*_xml.h
27         xml_*.cpp ../../include/nel/misc/xml_*.h
28         streamed_*.cpp ../../include/nel/misc/streamed_*.h
29         seven_zip.cpp ../../include/nel/misc/seven_zip.h
32 FILE(GLOB NLMISC_STREAM
33         *_stream.cpp ../../include/nel/misc/*_stream.h
34         stream.cpp ../../include/nel/misc/stream.h
35         stream_*.cpp ../../include/nel/misc/stream_*.h
38 FILE(GLOB NLMISC_DISPLAYER
39         displayer.cpp ../../include/nel/misc/displayer.h
40         *_displayer.cpp ../../include/nel/misc/*_displayer.h
43 FILE(GLOB NLMISC_MATH
44         plane.cpp ../../include/nel/misc/plane.h
45         ../../include/nel/misc/plane_inline.h
46         polygon.cpp ../../include/nel/misc/polygon.h
47         ../../include/nel/misc/quad.h
48         quat.cpp ../../include/nel/misc/quat.h
49         rect.cpp ../../include/nel/misc/rect.h
50         rgba.cpp ../../include/nel/misc/rgba.h
51         triangle.cpp ../../include/nel/misc/triangle.h
52         ../../include/nel/misc/uv.h
53         vector*.cpp ../../include/nel/misc/vector*.h
54         aabbox.cpp ../../include/nel/misc/aabbox.h
55         algo.cpp ../../include/nel/misc/algo.h
56         bsphere.cpp ../../include/nel/misc/bsphere.h
57         fast_floor.cpp ../../include/nel/misc/fast_floor.h
58         ../../include/nel/misc/geom_ext.h
59         line.cpp ../../include/nel/misc/line.h
60         matrix.cpp ../../include/nel/misc/matrix.h
63 FILE(GLOB NLMISC_PLATFORM
64         *_nl.cpp ../../include/nel/misc/*_nl.h
65         common.cpp ../../include/nel/misc/common.h
66         app_context.cpp ../../include/nel/misc/app_context.h
67         check_fpu.cpp ../../include/nel/misc/check_fpu.h
68         cpu_time_stat.cpp ../../include/nel/misc/cpu_time_stat.h
69         dummy_window.cpp ../../include/nel/misc/dummy_window.h
70         dynloadlib.cpp ../../include/nel/misc/dynloadlib.h
71         fast_mem.cpp ../../include/nel/misc/fast_mem.h
72         inter_window_msg_queue.cpp ../../include/nel/misc/inter_window_msg_queue.h
73         system_*.cpp ../../include/nel/misc/system_*.h
74         win32_util.cpp ../../include/nel/misc/win32_util.h
77 FILE(GLOB NLMISC_GENERIC
78         ../../include/nel/misc/array_2d.h
79         *_memory.cpp ../../include/nel/misc/*_memory.h
80         buf_fifo.cpp ../../include/nel/misc/buf_fifo.h
81         ../../include/nel/misc/callback.h
82         *_allocator.cpp ../../include/nel/misc/*_allocator.h
83         ../../include/nel/misc/enum_bitset.h
84         ../../include/nel/misc/fast_id_map.h
85         hierarchical_timer.cpp ../../include/nel/misc/hierarchical_timer.h
86         ../../include/nel/misc/historic.h
87         ../../include/nel/misc/mutable_container.h
88         ../../include/nel/misc/random.h
89         smart_ptr.cpp ../../include/nel/misc/smart_ptr.h
90         ../../include/nel/misc/smart_ptr_inline.h
91         ../../include/nel/misc/resource_ptr.h
92         ../../include/nel/misc/resource_ptr_inline.h
93         bit_set.cpp ../../include/nel/misc/bit_set.h
94         stop_watch.cpp ../../include/nel/misc/stop_watch.h
95         ../../include/nel/misc/twin_map.h
96         ../../include/nel/misc/object_vector.h
97         ../../include/nel/misc/singleton.h
98         speaker_listener.cpp ../../include/nel/misc/speaker_listener.h
99         ../../include/nel/misc/static_map.h
100         ../../include/nel/misc/stl_block_list.h
103 FILE(GLOB NLMISC_UTILITY
104         config_file.cpp ../../include/nel/misc/config_file.h
105         cf_*.cpp ../../include/nel/misc/cf_*.h
106         config_file/config_file.cpp config_file/config_file.h
107         config_file/cf_*.cpp config_file/cf_*.h
108         class_id.cpp ../../include/nel/misc/class_id.h
109         class_registry.cpp ../../include/nel/misc/class_registry.h
110         cmd_args.cpp ../../include/nel/misc/cmd_args.h
111         command.cpp ../../include/nel/misc/command.h
112         eid_translator.cpp ../../include/nel/misc/eid_translator.h
113         entity_id.cpp ../../include/nel/misc/entity_id.h
114         eval_num_expr.cpp ../../include/nel/misc/eval_num_expr.h
115         factory.cpp ../../include/nel/misc/factory.h
116         grid_traversal.cpp ../../include/nel/misc/grid_traversal.h
117         mouse_smoother.cpp ../../include/nel/misc/mouse_smoother.h
118         noise_value.cpp ../../include/nel/misc/noise_value.h
119         progress_callback.cpp ../../include/nel/misc/progress_callback.h
120         sheet_id.cpp ../../include/nel/misc/sheet_id.h
121         variable.cpp ../../include/nel/misc/variable.h
122         ../../include/nel/misc/value_smoother.h
125 FILE(GLOB NLMISC_STRING
126         string_*.cpp ../../include/nel/misc/string_*.h
127         ../../include/nel/misc/ucstring.h
128         unicode.cpp
129         sstring.cpp ../../include/nel/misc/sstring.h
132 FILE(GLOB NLMISC_I18N
133         diff_tool.cpp ../../include/nel/misc/diff_tool.h
134         i18n.cpp ../../include/nel/misc/i18n.h
135         words_dictionary.cpp ../../include/nel/misc/words_dictionary.h
138 FILE(GLOB NLMISC_THREAD
139         co_task.cpp ../../include/nel/misc/co_task.h
140         mutex.cpp ../../include/nel/misc/mutex.h
141         *_thread.cpp ../../include/nel/misc/*_thread.h
142         task_*.cpp ../../include/nel/misc/task_*.h
143         reader_writer.cpp ../../include/nel/misc/reader_writer.h
144         tds.cpp ../../include/nel/misc/tds.h
145         thread.cpp ../../include/nel/misc/thread.h
148 FILE(GLOB NLMISC_BITMAP
149         bitmap.cpp ../../include/nel/misc/bitmap.h
150         bitmap_*.cpp
153 FILE(GLOB NLMISC_CRYPT
154         md5.cpp ../../include/nel/misc/md5.h
155         sha1.cpp ../../include/nel/misc/sha1.h
156         ../../include/nel/misc/wang_hash.h
159 SOURCE_GROUP("" FILES ${SRC} ${HEADERS})
160 SOURCE_GROUP("cdb" FILES ${NLMISC_CDB})
161 SOURCE_GROUP("event" FILES ${NLMISC_EVENT})
162 SOURCE_GROUP("debug" FILES ${NLMISC_DEBUG})
163 SOURCE_GROUP("platform" FILES ${NLMISC_PLATFORM})
164 SOURCE_GROUP("filesystem" FILES ${NLMISC_FILESYSTEM})
165 SOURCE_GROUP("stream" FILES ${NLMISC_STREAM})
166 SOURCE_GROUP("displayer" FILES ${NLMISC_DISPLAYER})
167 SOURCE_GROUP("math" FILES ${NLMISC_MATH})
168 SOURCE_GROUP("generic" FILES ${NLMISC_GENERIC})
169 SOURCE_GROUP("utility" FILES ${NLMISC_UTILITY})
170 SOURCE_GROUP("bitmap" FILES ${NLMISC_BITMAP})
171 SOURCE_GROUP("thread" FILES ${NLMISC_THREAD})
172 SOURCE_GROUP("i18n" FILES ${NLMISC_I18N})
173 SOURCE_GROUP("crypt" FILES ${NLMISC_CRYPT})
174 SOURCE_GROUP("string" FILES ${NLMISC_STRING})
176 NL_TARGET_LIB(nelmisc ${HEADERS} ${SRC})
178 IF(WITH_GTK)
179   IF(GTK2_FOUND)
180     INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
181     ADD_DEFINITIONS(-DNL_USE_GTK)
182     TARGET_LINK_LIBRARIES(nelmisc ${GTK2_LIBRARIES})
183   ENDIF()
184 ENDIF()
186 IF(HUNTER_ENABLED)
187   HUNTER_ADD_PACKAGE(Jpeg)
188   FIND_PACKAGE(JPEG CONFIG REQUIRED)
189   SET(JPEG_LIBRARY JPEG::jpeg)
191   HUNTER_ADD_PACKAGE(giflib)
192   FIND_PACKAGE(giflib CONFIG REQUIRED)
193   SET(GIF_LIBRARY giflib::giflib)
195   HUNTER_ADD_PACKAGE(PNG)
196   FIND_PACKAGE(PNG CONFIG REQUIRED)
197   SET(PNG_LIBRARY   PNG::png)
198   SET(PNG_LIBRARIES PNG::png)
199 ENDIF()
201 IF(JPEG_FOUND)
202   INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
203   ADD_DEFINITIONS(-DUSE_JPEG)
204   TARGET_LINK_LIBRARIES(nelmisc ${JPEG_LIBRARY})
205 ENDIF()
207 IF(GIF_FOUND)
208   INCLUDE_DIRECTORIES(${GIF_INCLUDE_DIR})
209   ADD_DEFINITIONS(-DUSE_GIF)
210   TARGET_LINK_LIBRARIES(nelmisc ${GIF_LIBRARY})
211 ENDIF()
213 IF(WITH_STATIC OR WIN32)
214   TARGET_LINK_LIBRARIES(nelmisc ${PNG_LIBRARIES})
215 ELSE()
216   # Link only with libpng shared library
217   TARGET_LINK_LIBRARIES(nelmisc ${PNG_LIBRARY})
218 ENDIF()
220 #TODO: needed for hunter aswell?
221 IF(UNIX)
222   TARGET_LINK_LIBRARIES(nelmisc -lc -ldl)
223   IF(APPLE)
224     TARGET_LINK_LIBRARIES(nelmisc ${CARBON_FRAMEWORK})
225   ELSE()
226     TARGET_LINK_LIBRARIES(nelmisc -lrt)
227   ENDIF()
228 ENDIF()
230 INCLUDE_DIRECTORIES(../../3rdparty)
231 INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${PNG_INCLUDE_DIR} config_file)
233 TARGET_LINK_LIBRARIES(nelmisc ${CMAKE_THREAD_LIBS_INIT} ${LIBXML2_LIBRARIES} ${ZLIB_LIBRARY} nel_sevenzip)
235 NL_DEFAULT_PROPS(nelmisc "NeL, Library: NeL Misc")
236 NL_ADD_RUNTIME_FLAGS(nelmisc)
238 NL_ADD_LIB_SUFFIX(nelmisc)
240 ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
242 IF(WITH_PCH)
243   ADD_NATIVE_PRECOMPILED_HEADER(nelmisc ${CMAKE_CURRENT_SOURCE_DIR}/stdmisc.h ${CMAKE_CURRENT_SOURCE_DIR}/stdmisc.cpp)
244 ENDIF()
246 NL_GEN_PC(nel-misc.pc)
248 IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
249   INSTALL(TARGETS nelmisc LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
250 ENDIF()