Improved cmake CMakeLists.txt.
[bpdyndnsd] / CMakeLists.txt
1
2 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
3
4 PROJECT(bpdyndnsd)
5
6 # if you don't want the full compiler output, remove the following line
7 SET(CMAKE_VERBOSE_MAKEFILE ON)
8
9 # add definitions, compiler switches, etc.
10 ADD_DEFINITIONS(-Wall -O2)
11
12 INCLUDE_DIRECTORIES ( src )
13
14 # list all source files here
15 ADD_EXECUTABLE( bin/bpdyndnsd src/main.cpp src/util.cpp src/config.cpp src/logger.cpp src/service.cpp src/httphelper.cpp src/ip_addr_helper.cpp src/net_helper.cpp src/serializeservicecontainer.cpp src/serviceholder.cpp src/tcp_service.cpp src/updater.cpp src/service_dhs.cpp src/service_dyndns.cpp src/service_dyns.cpp src/service_easydns.cpp src/service_gnudip.cpp src/service_ods.cpp src/service_tzo.cpp src/service_zoneedit.cpp )
16
17 # find boost_program_options and link to bpdyndnsd
18 FIND_LIBRARY( BOOST_PROGRAM_OPTIONS libboost_program_options.so )
19 IF(BOOST_PROGRAM_OPTIONS)
20     MESSAGE(STATUS "Found boost/program_options as ${BOOST_PROGRAM_OPTIONS}")
21     TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${BOOST_PROGRAM_OPTIONS})
22 ELSE(BOOST_PROGRAM_OPTIONS)
23     MESSAGE(FATAL_ERROR "Could not find boost/program_options")
24 ENDIF(BOOST_PROGRAM_OPTIONS)
25
26 # find boost_filesystem and link to bpdyndnsd
27 FIND_LIBRARY( BOOST_FILESYSTEM libboost_filesystem.so )
28 IF(BOOST_FILESYSTEM)
29     MESSAGE(STATUS "Found boost/filesystem as ${BOOST_FILESYSTEM}")
30     TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${BOOST_FILESYSTEM})
31 ELSE(BOOST_FILESYSTEM)
32     MESSAGE(FATAL_ERROR "Could not find boost/filesystem")
33 ENDIF(BOOST_FILESYSTEM)
34
35 # find boost_regex and link to bpdyndnsd
36 FIND_LIBRARY( BOOST_REGEX libboost_regex.so )
37 IF(BOOST_REGEX)
38     MESSAGE(STATUS "Found boost/regex as ${BOOST_REGEX}")
39     TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${BOOST_REGEX})
40 ELSE(BOOST_REGEX)
41     MESSAGE(FATAL_ERROR "Could not find boost/regex")
42 ENDIF(BOOST_REGEX)
43
44 # find boost_serialization and link to bpdyndnsd
45 FIND_LIBRARY( BOOST_SERIALIZATION libboost_serialization.so )
46 IF(BOOST_SERIALIZATION)
47     MESSAGE(STATUS "Found boost/serialization as ${BOOST_SERIALIZATION}")
48     TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${BOOST_SERIALIZATION})
49 ELSE(BOOST_SERIALIZATION)
50     MESSAGE(FATAL_ERROR "Could not find boost/serialization")
51 ENDIF(BOOST_SERIALIZATION)
52
53 # find curl and link to bpdyndnsd
54 FIND_LIBRARY( CURL libcurl.so )
55 IF(CURL)
56     MESSAGE(STATUS "Found CURL as ${CURL}")
57     TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${CURL})
58 ELSE(CURL)
59     MESSAGE(FATAL_ERROR "Could not find CURL")
60 ENDIF(CURL)
61
62 # find libcrypto and link to bpdyndnsd
63 FIND_LIBRARY( CRYPTO libcrypto.so )
64 IF(CRYPTO)
65     MESSAGE(STATUS "Found libcrypto as ${CRYPTO}")
66     TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${CRYPTO})
67 ELSE(CRYPTO)
68     MESSAGE(FATAL_ERROR "Could not find libcrypto")
69 ENDIF(CRYPTO)