~singpolyma/biboumi

ref: 5cb81cace08b016f50708bb8ef718e07865b435a biboumi/CMakeLists.txt -rw-r--r-- 1.7 KiB
5cb81cac — Florent Le Coz And actually use the values found by cmake 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
5cb81cac 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
83
84
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)

CONFIGURE_FILE(config.h.cmake config.h @ONLY)