]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - win/modules/CMakeLists.txt
386d3600d48561cf803e0ae0e78cc83d0a239b66
[user/henk/code/inspircd.git] / win / modules / CMakeLists.txt
1 # m_regex_stdlib is supported by every version of Visual Studio we support,\r
2 # so copy the file out of extra/\r
3 file(COPY "${INSPIRCD_BASE}/src/modules/extra/m_regex_stdlib.cpp" DESTINATION "${INSPIRCD_BASE}/src/modules/")\r
4 \r
5 file(GLOB INSPIRCD_MODULES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${INSPIRCD_BASE}/src/commands/*.cpp" "${INSPIRCD_BASE}/src/modules/*.cpp")\r
6 list(SORT INSPIRCD_MODULES)\r
7 \r
8 add_definitions("-DDLL_BUILD")\r
9 \r
10 foreach(MODULE_NAME ${INSPIRCD_MODULES})\r
11         string(REGEX REPLACE "^.*[/\\](.*).cpp$" "\\1" BASE_NAME ${MODULE_NAME})\r
12         set(SO_NAME "${BASE_NAME}.so")\r
13         add_library(${SO_NAME} MODULE ${MODULE_NAME})\r
14         set_target_properties(${SO_NAME} PROPERTIES\r
15                 PREFIX ""\r
16                 SUFFIX ""\r
17                 COMPILE_DEFINITIONS "MODNAME=\"${BASE_NAME}\""\r
18         )\r
19 \r
20         target_link_libraries(${SO_NAME} inspircd)\r
21         add_dependencies(${SO_NAME} inspircd)\r
22         if(MSVC)\r
23                 target_link_libraries(${SO_NAME} win32_memory)\r
24                 add_dependencies(${SO_NAME} win32_memory)\r
25         endif(MSVC)\r
26         install(TARGETS ${SO_NAME} DESTINATION modules)\r
27 endforeach(MODULE_NAME ${INSPIRCD_MODULES})\r
28 \r
29 file(GLOB INSPIRCD_MODULES_SPANNINGTREE RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${INSPIRCD_BASE}/src/modules/m_spanningtree/*.cpp")\r
30 list(SORT INSPIRCD_MODULES_SPANNINGTREE)\r
31 \r
32 add_library(m_spanningtree.so MODULE ${INSPIRCD_MODULES_SPANNINGTREE})\r
33 set_target_properties(m_spanningtree.so PROPERTIES\r
34         PREFIX ""\r
35         SUFFIX ""\r
36         COMPILE_DEFINITIONS "MODNAME=\"m_spanningtree\""\r
37 )\r
38 \r
39 target_link_libraries(m_spanningtree.so inspircd)\r
40 add_dependencies(m_spanningtree.so inspircd)\r
41 if(MSVC)\r
42         target_link_libraries(m_spanningtree.so win32_memory)\r
43         add_dependencies(m_spanningtree.so win32_memory)\r
44 endif(MSVC)\r
45 install(TARGETS m_spanningtree.so DESTINATION modules)