CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(bpdyndnsd) # if you don't want the full compiler output, remove the following line SET(CMAKE_VERBOSE_MAKEFILE ON) # add definitions, compiler switches, etc. ADD_DEFINITIONS(-Wall -O2) INCLUDE_DIRECTORIES ( src ) # list all source files here 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 ) # find boost_program_options and link to bpdyndnsd FIND_LIBRARY( BOOST_PROGRAM_OPTIONS libboost_program_options.so ) IF(BOOST_PROGRAM_OPTIONS) MESSAGE(STATUS "Found boost/program_options as ${BOOST_PROGRAM_OPTIONS}") TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${BOOST_PROGRAM_OPTIONS}) ELSE(BOOST_PROGRAM_OPTIONS) MESSAGE(FATAL_ERROR "Could not find boost/program_options") ENDIF(BOOST_PROGRAM_OPTIONS) # find boost_filesystem and link to bpdyndnsd FIND_LIBRARY( BOOST_FILESYSTEM libboost_filesystem.so ) IF(BOOST_FILESYSTEM) MESSAGE(STATUS "Found boost/filesystem as ${BOOST_FILESYSTEM}") TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${BOOST_FILESYSTEM}) ELSE(BOOST_FILESYSTEM) MESSAGE(FATAL_ERROR "Could not find boost/filesystem") ENDIF(BOOST_FILESYSTEM) # find boost_regex and link to bpdyndnsd FIND_LIBRARY( BOOST_REGEX libboost_regex.so ) IF(BOOST_REGEX) MESSAGE(STATUS "Found boost/regex as ${BOOST_REGEX}") TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${BOOST_REGEX}) ELSE(BOOST_REGEX) MESSAGE(FATAL_ERROR "Could not find boost/regex") ENDIF(BOOST_REGEX) # find boost_serialization and link to bpdyndnsd FIND_LIBRARY( BOOST_SERIALIZATION libboost_serialization.so ) IF(BOOST_SERIALIZATION) MESSAGE(STATUS "Found boost/serialization as ${BOOST_SERIALIZATION}") TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${BOOST_SERIALIZATION}) ELSE(BOOST_SERIALIZATION) MESSAGE(FATAL_ERROR "Could not find boost/serialization") ENDIF(BOOST_SERIALIZATION) # find curl and link to bpdyndnsd FIND_LIBRARY( CURL libcurl.so ) IF(CURL) MESSAGE(STATUS "Found CURL as ${CURL}") TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${CURL}) ELSE(CURL) MESSAGE(FATAL_ERROR "Could not find CURL") ENDIF(CURL) # find libcrypto and link to bpdyndnsd FIND_LIBRARY( CRYPTO libcrypto.so ) IF(CRYPTO) MESSAGE(STATUS "Found libcrypto as ${CRYPTO}") TARGET_LINK_LIBRARIES( bin/bpdyndnsd ${CRYPTO}) ELSE(CRYPTO) MESSAGE(FATAL_ERROR "Could not find libcrypto") ENDIF(CRYPTO)