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
307 target_include_directories (muleappcommon
308 PUBLIC ${amule_BINARY_DIR}
309 PUBLIC ${EC_INCLUDE_DIR}
310 PRIVATE ${INCLUDE_INCLUDE_DIR}
311 PRIVATE ${LIBS_INCLUDE_DIR}
312 PRIVATE ${wxWidgets_INCLUDE_DIRS}
313 PRIVATE ${ZLIB_INCLUDE_DIR}
316 add_dependencies (muleappcommon
318 generate_ECTagTypes.h
322 target_link_libraries (muleappcommon
328 if (NEED_LIB_MULEAPPCORE)
330 bison_target (Parser.cpp
331 ${CMAKE_CURRENT_SOURCE_DIR}/Parser.y
332 ${CMAKE_CURRENT_BINARY_DIR}/Parser.cpp
333 COMPILE_FLAGS "-t -d -v"
336 set (PARSER ${CMAKE_CURRENT_BINARY_DIR}/Parser.cpp)
338 set (PARSER ${CMAKE_CURRENT_SOURCE_DIR}/Parser.cpp)
343 set (FLEX_FLAGS "--header-file=${CMAKE_CURRENT_BINARY_DIR}/Scanner.h")
345 set_source_files_properties (Parser.cpp
346 COMPILE_FLAGS "-I${CMAKE_CURRENT_BINARY_DIR}"
350 flex_target (Scanner.cpp
351 ${CMAKE_CURRENT_SOURCE_DIR}/Scanner.l
352 ${CMAKE_CURRENT_BINARY_DIR}/Scanner.cpp
353 COMPILE_FLAGS "${FLEX_FLAGS}"
356 flex_target (IPFilterScanner.cpp
357 ${CMAKE_CURRENT_SOURCE_DIR}/IPFilterScanner.l
358 ${CMAKE_CURRENT_BINARY_DIR}/IPFilterScanner.cpp
359 COMPILE_FLAGS "-Pyyip"
362 set (SCANNER ${CMAKE_CURRENT_BINARY_DIR}/Scanner.cpp)
363 set (IPFILTERSCANNER ${CMAKE_CURRENT_BINARY_DIR}/IPFilterScanner.cpp)
365 set (SCANNER ${CMAKE_CURRENT_SOURCE_DIR}/Scanner.cpp)
366 set (IPFILTERSCANNER ${CMAKE_CURRENT_SOURCE_DIR}/IPFilterScanner.cpp)
369 add_library (muleappcore STATIC
373 kademlia/kademlia/Entry.cpp
374 kademlia/kademlia/Indexed.cpp
375 kademlia/kademlia/SearchManager.cpp
376 kademlia/routing/RoutingBin.cpp
377 kademlia/utils/UInt128.cpp
387 TerminationProcessAmuleweb.cpp
392 target_compile_definitions (muleappcore
397 target_include_directories (muleappcore
398 PRIVATE ${CMAKE_BINARY_DIR}
399 PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
400 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
401 PRIVATE ${INCLUDE_INCLUDE_DIR}
402 PRIVATE ${LIBS_INCLUDE_DIR}
403 PRIVATE ${wxWidgets_INCLUDE_DIRS}
407 target_include_directories (muleappcore
408 PRIVATE $<TARGET_PROPERTY:UPNP::Shared,INTERFACE_INCLUDE_DIRECTORIES>
412 target_link_libraries (muleappcore
417 if (NEED_LIB_MULEAPPGUI)
418 add_library (muleappgui STATIC
420 extern/wxWidgets/listctrl.cpp
423 EditServerListDlg.cpp
424 FileDetailListCtrl.cpp
434 if (IP2COUNTRY AND GEOIP_INCLUDE_DIR)
435 target_include_directories (muleappgui
436 PRIVATE ${GEOIP_INCLUDE_DIR}
440 target_compile_definitions (muleappgui
444 target_include_directories (muleappgui
445 PRIVATE ${amule_BINARY_DIR}
446 PRIVATE ${INCLUDE_INCLUDE_DIR}
447 PRIVATE ${LIBS_INCLUDE_DIR}
450 target_link_libraries (muleappgui
454 if (ENABLE_IP2COUNTRY)
455 add_dependencies (muleappgui
456 generate_CountryFlags.h)
460 IF (NEED_LIB_MULESOCKET)
461 add_library (mulesocket STATIC
465 target_compile_definitions (mulesocket
469 target_include_directories (mulesocket
470 PRIVATE ${amule_BINARY_DIR}
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