1 set (LIBS_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libs")
2 set (INCLUDE_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
3 set (SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
4 set (EC_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/libs/ec/cpp")
7 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pixmaps/flags_xpm/CountryFlags.h
8 COMMAND ${CMAKE_COMMAND} -DHEADER_FILE="${CMAKE_CURRENT_BINARY_DIR}/pixmaps/flags_xpm/CountryFlags.h" -P ${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/flags_xpm/CMakeLists.txt
9 WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/flags_xpm"
13 OUTPUT ${EC_INCLUDE_DIR}/ECCodes.h
14 COMMAND ${CMAKE_COMMAND} -DHEADER_FILE="${CMAKE_CURRENT_BINARY_DIR}/libs/ec/cpp/ECCodes.h" -P ${CMAKE_CURRENT_SOURCE_DIR}/libs/ec/abstracts/CMakeLists.txt
15 WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/libs/ec/abstracts"
19 OUTPUT ${EC_INCLUDE_DIR}/ECTagTypes.h
20 COMMAND ${CMAKE_COMMAND} -DHEADER_FILE="${CMAKE_CURRENT_BINARY_DIR}/libs/ec/cpp/ECTagTypes.h" -P ${CMAKE_CURRENT_SOURCE_DIR}/libs/ec/abstracts/CMakeLists.txt
21 WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/libs/ec/abstracts"
24 add_custom_target (generate_CountryFlags.h DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pixmaps/flags_xpm/CountryFlags.h)
25 add_custom_target (generate_ECCodes.h DEPENDS ${EC_INCLUDE_DIR}/ECCodes.h)
26 add_custom_target (generate_ECTagTypes.h DEPENDS ${EC_INCLUDE_DIR}/ECTagTypes.h)
27 set_source_files_properties (${CMAKE_CURRENT_BINARY_DIR}/pixmaps/flags_xpm/CountryFlags.h PROPERTIES GENERATED TRUE)
28 set_source_files_properties (${EC_INCLUDE_DIR}/ECCodes.h PROPERTIES GENERATED TRUE)
29 set_source_files_properties (${EC_INCLUDE_DIR}/ECTagTypes.h PROPERTIES GENERATED TRUE)
30 include (${CMAKE_SOURCE_DIR}/cmake/source-vars.cmake)
33 add_subdirectory (utils)
37 add_subdirectory (webserver)
41 add_subdirectory (skins)
45 if (ENABLE_IP2COUNTRY)
46 set_source_files_properties (${IP2COUNTRY}
47 PROPERTIES COMPILE_FLAGS "-I${CMAKE_CURRENT_BINARY_DIR} -I${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/flags_xpm"
52 add_subdirectory (libs)
56 add_executable (amulecmd
66 target_sources (amulecmd
67 PRIVATE ${CMAKE_SOURCE_DIR}/version.rc
71 target_compile_definitions (amulecmd
75 target_include_directories (amulecmd
79 target_link_libraries (amulecmd
86 target_link_libraries (amulecmd ${LIBBFD})
90 target_link_libraries (amulecmd ${READLINE_LIBRARIES})
93 install (TARGETS amulecmd
94 RUNTIME DESTINATION bin
96 endif (BUILD_AMULECMD)
99 add_executable (amuled
106 target_sources (amuled
107 PRIVATE ${CMAKE_SOURCE_DIR}/version.rc
111 target_compile_definitions (amuled
116 target_include_directories (amuled
120 target_link_libraries (amuled
130 target_link_libraries (amuled
136 target_link_libraries (amuled
141 install (TARGETS amuled
142 RUNTIME DESTINATION bin
155 PRIVATE ${CMAKE_SOURCE_DIR}/version.rc
159 target_compile_definitions (ed2k
160 PRIVATE "USE_STD_STRING"
164 target_link_libraries (ed2k
169 install (TARGETS ed2k
170 RUNTIME DESTINATION bin
174 if (BUILD_MONOLITHIC)
175 add_executable (amule
182 PartFileConvertDlg.cpp
186 target_sources (amule
187 PRIVATE ${CMAKE_SOURCE_DIR}/version.rc
191 target_link_libraries (amule
198 $<$<VERSION_LESS:${wxWidgets_VERSION_STRING},3.1.2>:wxWidgets::ADV>
203 target_link_libraries (amule ${LIBBFD})
207 target_link_libraries (amule
211 set_target_properties (amule
212 PROPERTIES WIN32_EXECUTABLE TRUE
216 install (TARGETS amule
217 RUNTIME DESTINATION bin
219 endif (BUILD_MONOLITHIC)
222 add_executable (amulegui
225 kademlia/utils/UInt128.cpp
230 target_sources (amulegui
231 PRIVATE ${CMAKE_SOURCE_DIR}/version.rc
235 target_compile_definitions (amulegui
239 target_include_directories (amulegui
243 target_link_libraries (amulegui
249 $<$<VERSION_LESS:${wxWidgets_VERSION_STRING},3.1.2>:wxWidgets::ADV>
253 if (ENABLE_IP2COUNTRY)
254 target_compile_definitions (amulegui
255 PRIVATE ENABLE_IP2COUNTRY
258 target_link_directories (amulegui
264 target_link_libraries (amulegui
270 set_target_properties (amulegui
271 PROPERTIES WIN32_EXECUTABLE TRUE
275 install (TARGETS amulegui
276 RUNTIME DESTINATION bin
280 if (NEED_LIB_MULEAPPCOMMON)
281 add_library (muleappcommon STATIC
298 TerminationProcess.cpp
302 target_compile_definitions (muleappcommon
308 target_include_directories (muleappcommon
309 PUBLIC ${amule_BINARY_DIR}
310 PUBLIC ${EC_INCLUDE_DIR}
311 PRIVATE ${INCLUDE_INCLUDE_DIR}
312 PRIVATE ${LIBS_INCLUDE_DIR}
313 PRIVATE ${wxWidgets_INCLUDE_DIRS}
314 PRIVATE ${ZLIB_INCLUDE_DIR}
317 add_dependencies (muleappcommon
319 generate_ECTagTypes.h
323 target_link_libraries (muleappcommon
329 if (NEED_LIB_MULEAPPCORE)
331 bison_target (Parser.cpp
332 ${CMAKE_CURRENT_SOURCE_DIR}/Parser.y
333 ${CMAKE_CURRENT_BINARY_DIR}/Parser.cpp
334 COMPILE_FLAGS "-t -d -v"
337 set (PARSER ${CMAKE_CURRENT_BINARY_DIR}/Parser.cpp)
339 set (PARSER ${CMAKE_CURRENT_SOURCE_DIR}/Parser.cpp)
344 set (FLEX_FLAGS "--header-file=${CMAKE_CURRENT_BINARY_DIR}/Scanner.h")
346 set_source_files_properties (Parser.cpp
347 COMPILE_FLAGS "-I${CMAKE_CURRENT_BINARY_DIR}"
351 flex_target (Scanner.cpp
352 ${CMAKE_CURRENT_SOURCE_DIR}/Scanner.l
353 ${CMAKE_CURRENT_BINARY_DIR}/Scanner.cpp
354 COMPILE_FLAGS "${FLEX_FLAGS}"
357 flex_target (IPFilterScanner.cpp
358 ${CMAKE_CURRENT_SOURCE_DIR}/IPFilterScanner.l
359 ${CMAKE_CURRENT_BINARY_DIR}/IPFilterScanner.cpp
360 COMPILE_FLAGS "-Pyyip"
363 set (SCANNER ${CMAKE_CURRENT_BINARY_DIR}/Scanner.cpp)
364 set (IPFILTERSCANNER ${CMAKE_CURRENT_BINARY_DIR}/IPFilterScanner.cpp)
366 set (SCANNER ${CMAKE_CURRENT_SOURCE_DIR}/Scanner.cpp)
367 set (IPFILTERSCANNER ${CMAKE_CURRENT_SOURCE_DIR}/IPFilterScanner.cpp)
370 add_library (muleappcore STATIC
374 kademlia/kademlia/Entry.cpp
375 kademlia/kademlia/Indexed.cpp
376 kademlia/kademlia/SearchManager.cpp
377 kademlia/routing/RoutingBin.cpp
378 kademlia/utils/UInt128.cpp
388 TerminationProcessAmuleweb.cpp
393 target_compile_definitions (muleappcore
394 PRIVATE HAVE_CONFIG_H
399 target_include_directories (muleappcore
400 PRIVATE ${CMAKE_BINARY_DIR}
401 PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
402 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
403 PRIVATE ${INCLUDE_INCLUDE_DIR}
404 PRIVATE ${LIBS_INCLUDE_DIR}
405 PRIVATE ${wxWidgets_INCLUDE_DIRS}
409 target_include_directories (muleappcore
410 PRIVATE $<TARGET_PROPERTY:UPNP::Shared,INTERFACE_INCLUDE_DIRECTORIES>
414 target_link_libraries (muleappcore
419 if (NEED_LIB_MULEAPPGUI)
420 add_library (muleappgui STATIC
422 extern/wxWidgets/listctrl.cpp
425 EditServerListDlg.cpp
426 FileDetailListCtrl.cpp
436 if (IP2COUNTRY AND GEOIP_INCLUDE_DIR)
437 target_include_directories (muleappgui
438 PRIVATE ${GEOIP_INCLUDE_DIR}
442 target_compile_definitions (muleappgui
446 target_include_directories (muleappgui
447 PRIVATE ${INCLUDE_INCLUDE_DIR}
448 PRIVATE ${LIBS_INCLUDE_DIR}
451 target_link_libraries (muleappgui
455 if (ENABLE_IP2COUNTRY)
456 add_dependencies (muleappgui
457 generate_CountryFlags.h)
461 IF (NEED_LIB_MULESOCKET)
462 add_library (mulesocket STATIC
466 target_compile_definitions (mulesocket
470 target_include_directories (mulesocket
471 PUBLIC ${INCLUDE_INCLUDE_DIR}
472 PUBLIC ${LIBS_INCLUDE_DIR}
476 target_include_directories (mulesocket
477 PRIVATE ${Boost_INCLUDE_DIR}
478 PRIVATE ${wxWidgets_INCLUDE_DIRS}
481 target_link_libraries (mulesocket
486 target_link_libraries (mulesocket