| 1 | # Find Boost |
| 2 | find_package(Boost COMPONENTS program_options filesystem regex serialization system REQUIRED) |
| 3 | |
| 4 | # Find CURL |
| 5 | find_package(CURL) |
| 6 | |
| 7 | # Find OpenSSL (libcrypto) |
| 8 | find_package(OpenSSL) |
| 9 | |
| 10 | # Includes |
| 11 | include_directories( ${CMAKE_CURRENT_BINARY_DIR} |
| 12 | ${CMAKE_CURRENT_SOURCE_DIR} |
| 13 | ${CURL_INCLUDES} |
| 14 | ${OPENSSL_INCLUDES} |
| 15 | ) |
| 16 | |
| 17 | configure_file ("${PROJECT_SOURCE_DIR}/src/version_info.h.in" "${PROJECT_BINARY_DIR}/src/version_info.h") |
| 18 | |
| 19 | # C++ sources |
| 20 | set(cpp_sources |
| 21 | config.cpp |
| 22 | httphelper.cpp |
| 23 | ip_addr_helper.cpp |
| 24 | logger.cpp |
| 25 | main.cpp |
| 26 | net_helper.cpp |
| 27 | serializeservicecontainer.cpp |
| 28 | service.cpp |
| 29 | service_dhs.cpp |
| 30 | service_dyndns.cpp |
| 31 | service_dyns.cpp |
| 32 | service_easydns.cpp |
| 33 | service_gnudip.cpp |
| 34 | service_gnudip_fullhostname.cpp |
| 35 | serviceholder.cpp |
| 36 | service_ods.cpp |
| 37 | service_tzo.cpp |
| 38 | service_zoneedit.cpp |
| 39 | tcp_service.cpp |
| 40 | updater.cpp |
| 41 | util.cpp |
| 42 | ) |
| 43 | |
| 44 | # C++ headers |
| 45 | set(cpp_headers |
| 46 | config.hpp |
| 47 | httphelper.hpp |
| 48 | ip_addr_helper.hpp |
| 49 | ip_service.hpp |
| 50 | logger.hpp |
| 51 | net_helper.hpp |
| 52 | serializeservicecontainer.hpp |
| 53 | service_dhs.hpp |
| 54 | service_dyndns.hpp |
| 55 | service_dyns.hpp |
| 56 | service_easydns.hpp |
| 57 | service_gnudip.hpp |
| 58 | service_gnudip_fullhostname.hpp |
| 59 | service.hpp |
| 60 | serviceholder.hpp |
| 61 | service_ods.hpp |
| 62 | service_tzo.hpp |
| 63 | service_zoneedit.hpp |
| 64 | tcp_service.hpp |
| 65 | updater.hpp |
| 66 | util.hpp |
| 67 | version_info.h |
| 68 | ) |
| 69 | |
| 70 | add_executable(bpdyndnsd ${cpp_sources} ${cpp_headers}) |
| 71 | |
| 72 | # Dependencies |
| 73 | target_link_libraries(bpdyndnsd ${Boost_LIBRARIES} ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES} pthread) |
| 74 | |
| 75 | # Install |
| 76 | install(TARGETS bpdyndnsd DESTINATION bin) |