| 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) |