~singpolyma/biboumi

ref: ef014f7ddf8fd603a4238f5ed4878d7038ce162d biboumi/CMakeLists.txt -rw-r--r-- 1.7 KiB
ef014f7d — Florent Le Coz Properly detect iconv features to compile 10 years ago
                                                                                
e332d7a2 Florent Le Coz
f2f94618 Florent Le Coz
ef014f7d Florent Le Coz
3d923603 Florent Le Coz
f2f94618 Florent Le Coz
e332d7a2 Florent Le Coz
ef014f7d Florent Le Coz
f2f94618 Florent Le Coz
e332d7a2 Florent Le Coz
ccebe901 Florent Le Coz
ef014f7d Florent Le Coz
ccebe901 Florent Le Coz
e332d7a2 Florent Le Coz
87aaacdb Florent Le Coz
ccebe901 Florent Le Coz
e332d7a2 Florent Le Coz
87aaacdb Florent Le Coz
3d923603 Florent Le Coz
bf7b05ef Florent Le Coz
e332d7a2 Florent Le Coz
87aaacdb Florent Le Coz
bf7b05ef Florent Le Coz
ccebe901 Florent Le Coz
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
cmake_minimum_required(VERSION 2.6)

project(biboumi)

set(${PROJECT_NAME}_VERSION_MAJOR 0)
set(${PROJECT_NAME}_VERSION_MINOR 1)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pedantic -Wall -Wextra")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Og -fsanitize=address")

#
## Look for external libraries
#
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
find_package(Cryptopp REQUIRED)
find_package(Iconv REQUIRED)
include(FindEXPAT)
find_package(EXPAT REQUIRED)

include_directories("src/")
include_directories(${EXPAT_INCLUDE_DIRS})
include_directories(${ICONV_INCLUDE_DIR})
# the SYSTEM flag tells the compiler that we don't care about warnings
# coming from these headers.
include_directories(SYSTEM ${CRYPTO++_INCLUDE_DIR})

#
## utils
#
file(GLOB source_utils
  src/utils/*.[hc]pp)
add_library(utils STATIC ${source_utils})
target_link_libraries(utils ${ICONV_LIBRARIES})

#
## network
#
file(GLOB source_network
  src/network/*.[hc]pp)
add_library(network STATIC ${source_network})

#
## irclib
#
file(GLOB source_irc
  src/irc/*.[hc]pp)
add_library(irc STATIC ${source_irc})
target_link_libraries(irc network utils)

#
## xmpplib
#
file(GLOB source_xmpp
  src/xmpp/*.[hc]pp)
add_library(xmpp STATIC ${source_xmpp})
target_link_libraries(xmpp bridge network utils
  ${CRYPTO++_LIBRARIES} ${EXPAT_LIBRARIES})

#
## bridge
#
file(GLOB source_bridge
  src/bridge/*.[hc]pp)
add_library(bridge STATIC ${source_bridge})
target_link_libraries(bridge xmpp irc)

add_executable(${PROJECT_NAME} src/main.cpp)
target_link_libraries(${PROJECT_NAME}
  xmpp
  irc
  bridge)

#
## Tests
#

add_executable(test src/test.cpp)
target_link_libraries(test
  xmpp
  irc
  bridge
  utils)