2020-05-01 15:33:20 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# @author Lukas Heiligenbrunner
  
						 
					
						
							
								
									
										
										
										
											2020-05-01 12:33:51 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# main CMake file
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#
  
						 
					
						
							
								
									
										
										
										
											2020-05-01 15:33:20 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Build lib dependencies:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## libcurl (with sources)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## libconfig (with sources)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# documenation build needs doxygen to be installed.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 22:05:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								cmake_minimum_required ( VERSION  3.13 ) 
  
						 
					
						
							
								
									
										
										
										
											2019-10-26 14:41:43 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								project ( iprefresher  DESCRIPTION  "Dynu ip refresher" ) 
  
						 
					
						
							
								
									
										
										
										
											2019-05-01 11:14:52 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:47:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								SET ( CMAKE_CXX_STANDARD  17 ) 
  
						 
					
						
							
								
									
										
										
										
											2019-05-01 11:14:52 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:47:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								SET ( CMAKE_BUILD_TYPE  Release )  # manually SET build type (Release / Debug)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								SET ( LIB_METHOD  STATIC )  #SHARED / STATIC
  
						 
					
						
							
								
									
										
										
										
											2020-05-02 14:59:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								SET ( PROJECT_VERSION  1.3.2 ) 
  
						 
					
						
							
								
									
										
										
										
											2020-05-05 14:20:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								option ( BUILD_DOC  "Build documentation"  OFF ) 
  
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								set ( WinBuild  true ) 
  
						 
					
						
							
								
									
										
										
										
											2019-10-26 10:57:32 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:47:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								SET ( CMAKE_ARCHIVE_OUTPUT_DIRECTORY  ${ CMAKE_BINARY_DIR } /bin ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								SET ( CMAKE_LIBRARY_OUTPUT_DIRECTORY  ${ CMAKE_BINARY_DIR } /bin ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								SET ( CMAKE_RUNTIME_OUTPUT_DIRECTORY  ${ CMAKE_BINARY_DIR } /bin ) 
  
						 
					
						
							
								
									
										
										
										
											2019-08-01 22:31:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 14:20:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# setup winbuild compilers
  
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( ${ WinBuild } ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( LIBSUFFIX  .dll ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( SUFFIX  .exe ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CMAKE_SYSTEM_NAME  WindowsStore ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CMAKE_SYSTEM_VERSION  10.0 ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( TOOLCHAIN_PREFIX  x86_64-w64-mingw32 )  # x64 build toolchain
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #set(TOOLCHAIN_PREFIX i686-w64-mingw32)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # cross compilers to use for C and C++
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CMAKE_C_COMPILER  ${ TOOLCHAIN_PREFIX } -gcc ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CMAKE_CXX_COMPILER  ${ TOOLCHAIN_PREFIX } -g++ ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CMAKE_RC_COMPILER  ${ TOOLCHAIN_PREFIX } -windres ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # target environment on the build host system
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CMAKE_FIND_ROOT_PATH  /usr/ ${ TOOLCHAIN_PREFIX } ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # modify default behavior of FIND_XXX() commands to
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # search for headers/libs in the target environment and
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # search for programs in the build host environment
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM  ONLY ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY  ONLY ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE  ONLY ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE  ONLY ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 14:20:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    set ( CMAKE_CXX_STANDARD_LIBRARIES  "${CMAKE_CSS_STANDARD_LIBRARIES}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # currently libs are dynamically linked eg. dlls have to be copied to same folder
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # todo link dynamically.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # maybe so: set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++ -static")
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # or set(CMAKE_CXX_STANDARD_LIBRARIES -lcurl -lpthread -static-libgcc -static-libstdc++ -lcrypto -lssl -lws2_32 -static -DCURL_STATICLIB)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # or add_definitions(-DCURL_STATICLIB)
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 17:02:39 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # windows config path is same as executable
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CONFIG_PATH  "./iprefresher.cfg" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								else  ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( LIBSUFFIX  .so ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( SUFFIX  "" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 17:02:39 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # set /etc/ config path
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CONFIG_PATH  "/etc/iprefresher.cfg" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								endif  ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-04-30 10:47:32 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# config libs
  
						 
					
						
							
								
									
										
										
										
											2019-10-27 14:14:03 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								message ( STATUS  "Config of Libraries" ) 
  
						 
					
						
							
								
									
										
										
										
											2020-04-30 10:47:32 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# libcurl
  
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( ${ WinBuild } ) 
  
						 
					
						
							
								
									
										
										
										
											2020-05-05 14:20:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    SET ( CMAKE_FIND_LIBRARY_SUFFIXES  ".lib"  ".dll" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # configure libcurl
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    FIND_PATH ( CURL_INCLUDE_DIRS  curl/curl.h  /usr/ ${ TOOLCHAIN_PREFIX } /sys-root/mingw/include/ )  # search for libconfig include headers
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 14:20:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    FIND_LIBRARY ( CURL_LIBRARIES  NAMES  libcurl.dll.a  HINTS  /usr/ ${ TOOLCHAIN_PREFIX } /sys-root/mingw/lib )  # search for actual lib
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-24 22:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    message ( STATUS  "Using CURL include dir(s): ${CURL_INCLUDE_DIRS}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    message ( STATUS  "Using CURL lib(s): ${CURL_LIBRARIES}" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 17:02:39 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    message ( STATUS  "" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-01 11:14:52 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    include_directories ( ${ CURL_INCLUDE_DIRS }  inc ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 20:06:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # configure libconfig
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    FIND_PATH ( LIBCONFIG++_INCLUDE_DIRS  libconfig.h++  /usr/ ${ TOOLCHAIN_PREFIX } /sys-root/mingw/include/ )  # search for libconfig include headers
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 14:20:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    FIND_LIBRARY ( LIBCONFIG++_LIBRARIES  NAMES  libconfig++.dll.a  HINTS  /usr/ ${ TOOLCHAIN_PREFIX } /sys-root/mingw/lib )  # search for actual lib
 
							 
						 
					
						
							
								
									
										
										
										
											2020-04-29 20:06:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    message ( STATUS  "Using LIBCONFIG++ include dir(s): ${LIBCONFIG++_INCLUDE_DIRS}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    message ( STATUS  "Using LIBCONFIG++ lib(s): ${LIBCONFIG++_LIBRARIES}" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-04-30 10:47:32 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    include_directories ( ${ LIBCONFIG++_INCLUDE_DIRS }  inc ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								else  ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    find_package ( CURL  REQUIRED ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( CURL_INCLUDE_DIRS  AND  CURL_LIBRARIES ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( STATUS  "Found CURL version: ${CURL_VERSION_STRING}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( STATUS  "Using CURL include dir(s): ${CURL_INCLUDE_DIRS}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( STATUS  "Using CURL lib(s): ${CURL_LIBRARIES}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else  ( ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( FATAL_ERROR  "Could not find CURL" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    endif  ( ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    include_directories ( ${ CURL_INCLUDE_DIR }  inc ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    message ( "" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # libconfig
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    FIND_PACKAGE ( libconfig++  REQUIRED ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( LIBCONFIG++_INCLUDE_DIRS  AND  LIBCONFIG++_LIBRARY_DIRS ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( STATUS  "Found libconfig version: ${LIBCONFIG++_VERSION}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( STATUS  "Using libconfig include dir(s): ${LIBCONFIG++_INCLUDE_DIRS}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( STATUS  "Using libconfig lib(s): ${LIBCONFIG++_LIBRARY_DIRS}" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else  ( ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( FATAL_ERROR  "Could not find CURL" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    endif  ( ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    include_directories ( ${ LIBCONFIG++_INCLUDE_DIRS }  inc ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								endif  ( ) 
  
						 
					
						
							
								
									
										
										
										
											2020-04-29 20:06:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( "" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:56:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#read sample config
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								FILE ( READ  ${ CMAKE_SOURCE_DIR } /config/iprefresher.cfg  SAMPLECONFIG ) 
  
						 
					
						
							
								
									
										
										
										
											2019-10-26 14:41:43 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#add version header
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								FILE ( WRITE  ${ CMAKE_SOURCE_DIR } /inc/Version.h  
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:56:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        " \ #pragma once
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#include <string>
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								n a m e s p a c e  V e r s i o n  { 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  c o n s t  s t d : : s t r i n g  V E R S I O N  =  \ " $ { P R O J E C T _ V E R S I O N } \ " ; 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 17:02:39 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  c o n s t  s t d : : s t r i n g  C o n f i g D i r  =  \ " $ { C O N F I G _ P A T H } \ " ; 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:56:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  c o n s t  s t d : : s t r i n g  S A M P L E C O N F I G  =  R \ " ( $ { S A M P L E C O N F I G } ) \ " ; 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} " 
  
						 
					
						
							
								
									
										
										
										
											2019-10-26 14:41:43 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-27 13:41:40 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								add_library ( api  ${ LIB_METHOD }  
						 
					
						
							
								
									
										
										
										
											2019-05-08 19:19:42 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        s r c / a p i / A P I . c p p 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        s r c / a p i / T e l e g r a m A P I . c p p 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-18 11:23:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        s r c / a p i / D y n u A P I . c p p 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:56:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        s r c / a p i / I P A P I . c p p ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-01 20:18:39 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-27 13:41:40 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								add_library ( logger  ${ LIB_METHOD }  
						 
					
						
							
								
									
										
										
										
											2019-10-26 14:41:43 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        s r c / F i l e L o g g e r . c p p 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:56:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        s r c / L o g g e r . c p p ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-01 20:18:39 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:47:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								SET ( SOURCE  
						 
					
						
							
								
									
										
										
										
											2019-08-01 20:18:39 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        s r c / m a i n . c p p 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-26 14:41:43 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        s r c / I P R e f r e s h e r . c p p 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-04-30 19:37:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        s r c / C o n f i g . c p p ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-05 15:38:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:55:45 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								add_executable ( iprefresher  ${ SOURCE } ) 
  
						 
					
						
							
								
									
										
										
										
											2019-08-01 21:19:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# LINK generated LIBS #
  
						 
					
						
							
								
									
										
										
										
											2020-05-04 21:17:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								target_link_libraries ( iprefresher  api  logger  ${ CURL_LIBRARIES }  ${ LIBCONFIG++_LIBRARIES } ) 
  
						 
					
						
							
								
									
										
										
										
											2019-05-01 11:14:52 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 14:20:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# General Packaging options:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( STATUS  "config of Package build" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								set ( CPACK_PACKAGE_NAME  "DynuIpRefresher" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								SET ( CPACK_PACKAGE_DESCRIPTION  "IPrefresher to refresh Dynu ip address and notify user via Telegram" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								SET ( CPACK_PACKAGE_DESCRIPTION_SUMMARY  "IPrefresher to refresh Dynu ip address and notify user via Telegram" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								SET ( CPACK_PACKAGE_VENDOR  "Lukas Heilgienbrunner" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								SET ( CPACK_PACKAGE_VERSION  "${PROJECT_VERSION}" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								SET ( CPACK_SOURCE_PACKAGE_FILE_NAME  "${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								SET ( CPACK_PACKAGE_CONTACT  "Lukas Heiligenbrunner <lukas.heiligenbrunner@gmail.com>" ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:47:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								SET ( CMAKE_INSTALL_PREFIX  "/" ) 
  
						 
					
						
							
								
									
										
										
										
											2020-05-05 14:20:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								IF  ( NOT  ${ WinBuild } ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # INSTALL to Linux SYSTEM #
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # install binaries
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    install ( TARGETS  iprefresher  DESTINATION  usr/bin ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # install systemd service and enable it
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    install ( FILES  service/iprefresher.service  DESTINATION  lib/systemd/system ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 09:24:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 17:02:39 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # generate post script for checking if configuration already exists
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    FILE ( WRITE  ${ CMAKE_SOURCE_DIR } /postinst 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            " #!/bin/bash
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								i f  [  !  - f  $ { C O N F I G _ P A T H }  ] ;  t h e n 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    c a t  >  $ { C O N F I G _ P A T H }  < < -  E O M 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ { S A M P L E C O N F I G } E O M 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								f i \ n " 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 09:24:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-25 12:24:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    SET ( CPACK_DEB_COMPONENT_INSTALL  1 ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-26 10:57:32 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    SET ( CPACK_OUTPUT_FILE_PREFIX  packages ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:47:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    SET ( CPACK_PACKAGING_INSTALL_PREFIX  "/" )  # no prefix for package structure
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-25 12:24:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:47:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    FIND_PROGRAM ( RPMBUILD_EXECUTABLE  rpmbuild ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:55:45 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    FIND_PROGRAM ( DEB_EXECUTABLE  dpkg ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:47:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:55:45 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    SET ( CPACK_GENERATOR  "TGZ;TBZ2" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:47:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    #check if rpm build is possible
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:55:45 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  ( NOT  ${ RPMBUILD_EXECUTABLE }  STREQUAL  "RPMBUILD_EXECUTABLE-NOTFOUND" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:47:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        message ( STATUS  "found rpm build executeable --> able to build rpm" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:47:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        SET ( CPACK_GENERATOR  "${CPACK_GENERATOR};RPM" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 17:11:59 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        SET ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE  "${CMAKE_CURRENT_SOURCE_DIR}/postinst" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:47:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        SET ( CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION  "/lib/systemd/system"  "/lib/systemd"  "/lib"  "/usr/local/bin"  "/usr/local" )  # --> needed to not override existing folders
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-02 14:59:08 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        set ( CPACK_RPM_PACKAGE_REQUIRES  "libcurl,libconfig" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:55:45 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else  ( NOT  ${ RPMBUILD_EXECUTABLE }  STREQUAL  "RPMBUILD_EXECUTABLE-NOTFOUND" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( STATUS  "not found rpm build tools --> not building rpm" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    endif  ( NOT  ${ RPMBUILD_EXECUTABLE }  STREQUAL  "RPMBUILD_EXECUTABLE-NOTFOUND" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:47:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:55:45 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    #check if deb build is possible
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( NOT  ${ DEB_EXECUTABLE }  STREQUAL  "DEB_EXECUTABLE-NOTFOUND" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( STATUS  "found deb build tools --> able to build deb" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-02 14:59:08 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        SET ( CPACK_GENERATOR  "${CPACK_GENERATOR};DEB" )  # add deb generator
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA  "${CMAKE_CURRENT_SOURCE_DIR}/postinst" )  # set post inst file
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        set ( CPACK_DEBIAN_PACKAGE_DEPENDS  "libcurl4,libconfig++9v5" )  # add debian dependencies
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:55:45 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    else  ( NOT  ${ DEB_EXECUTABLE }  STREQUAL  "DEB_EXECUTABLE-NOTFOUND" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( STATUS  "not found  deb build tools --> not building deb" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    endif  ( NOT  ${ DEB_EXECUTABLE }  STREQUAL  "DEB_EXECUTABLE-NOTFOUND" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:47:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 09:24:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    SET ( CPACK_CMAKE_GENERATOR  "Unix Makefiles" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    SET ( CPACK_SOURCE_GENERATOR  "TGZ;TBZ2" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 21:47:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-10-23 09:24:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    SET ( CPACK_PACKAGE_SECTION  "games" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 14:20:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								ELSE  ( ) 
  
						 
					
						
							
								
									
										
										
										
											2020-05-05 17:02:39 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # INSTALL to Windows SYSTEM #
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # install binary to current folder
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set_target_properties ( iprefresher  PROPERTIES  SUFFIX  ".exe" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    install ( TARGETS  iprefresher  DESTINATION  . ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # install .dll dependencies
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # todo check if files exist...
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    install ( FILES  /usr/ ${ TOOLCHAIN_PREFIX } /sys-root/mingw/bin/libcurl-4.dll 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            / u s r / $ { T O O L C H A I N _ P R E F I X } / s y s - r o o t / m i n g w / b i n / l i b s s h 2 - 1 . d l l 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            / u s r / $ { T O O L C H A I N _ P R E F I X } / s y s - r o o t / m i n g w / b i n / l i b s t d c + + - 6 . d l l 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            / u s r / $ { T O O L C H A I N _ P R E F I X } / s y s - r o o t / m i n g w / b i n / l i b g c c _ s _ s e h - 1 . d l l 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            / u s r / $ { T O O L C H A I N _ P R E F I X } / s y s - r o o t / m i n g w / b i n / l i b c r y p t o - 1 _ 1 - x 6 4 . d l l 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            / u s r / $ { T O O L C H A I N _ P R E F I X } / s y s - r o o t / m i n g w / b i n / l i b s s l - 1 _ 1 - x 6 4 . d l l 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            / u s r / $ { T O O L C H A I N _ P R E F I X } / s y s - r o o t / m i n g w / b i n / l i b w i n p t h r e a d - 1 . d l l 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            / u s r / $ { T O O L C H A I N _ P R E F I X } / s y s - r o o t / m i n g w / b i n / z l i b 1 . d l l 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            / u s r / $ { T O O L C H A I N _ P R E F I X } / s y s - r o o t / m i n g w / b i n / l i b i d n 2 - 0 . d l l 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            / u s r / $ { T O O L C H A I N _ P R E F I X } / s y s - r o o t / m i n g w / b i n / l i b c o n f i g + + - 1 1 . d l l 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            D E S T I N A T I O N  . ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 14:20:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Pack a NSIS intaller
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CPACK_GENERATOR  NSIS ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 17:02:39 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    message ( STATUS  "Using NSIS Package build." ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-05 14:20:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CPACK_NSIS_testcomp_INSTALL_DIRECTORY  / ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    set ( CPACK_PACKAGE_INSTALL_DIRECTORY  "DynuIpRefresher" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    SET ( CPACK_NSIS_MODIFY_PATH  ON ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								ENDIF  ( ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								INCLUDE ( CPack ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								add_custom_target ( build-packages  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        " $ { C M A K E _ C O M M A N D } "  - - b u i l d  " $ { C M A K E _ B I N A R Y _ D I R } "  - - t a r g e t  p a c k a g e 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        D E P E N D S  $ { P R O J E C T _ N A M E } 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        C O M M E N T  " I n s t a l l i n g  $ { P R O J E C T _ N A M E } " ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								message ( "" ) 
  
						 
					
						
							
								
									
										
										
										
											2019-10-27 13:41:40 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# check if Doxygen is installed
  
						 
					
						
							
								
									
										
										
										
											2019-10-27 14:14:03 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( BUILD_DOC ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    message ( STATUS  "config of DOxygen build" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    find_package ( Doxygen ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( DOXYGEN_FOUND ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-01 16:47:22 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # SET input and output files
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        SET ( DOXYGEN_IN  ${ CMAKE_CURRENT_SOURCE_DIR } /docs/Doxyfile.in ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        SET ( DOXYGEN_OUT  ${ CMAKE_CURRENT_BINARY_DIR } /Doxyfile ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-27 13:41:40 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # request to configure the file
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        configure_file ( ${ DOXYGEN_IN }  ${ DOXYGEN_OUT }  @ONLY ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # note the option ALL which allows to build the docs together with the application
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        add_custom_target ( doc_doxygen  ALL 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                C O M M A N D  $ { D O X Y G E N _ E X E C U T A B L E }  $ { D O X Y G E N _ O U T } 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                W O R K I N G _ D I R E C T O R Y  $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                C O M M E N T  " G e n e r a t i n g  A P I  d o c u m e n t a t i o n  w i t h  D o x y g e n " 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                V E R B A T I M ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-27 14:14:03 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        message ( STATUS  "Successfully configured doxygen" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else  ( DOXYGEN_FOUND ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        message ( STATUS  "Doxygen need to be installed to generate the doxygen documentation" ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    endif  ( DOXYGEN_FOUND ) 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    message ( "" ) 
 
							 
						 
					
						
							
								
									
										
										
										
											2020-04-30 11:30:41 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								endif  ( BUILD_DOC )