store sampleconfig also in header for regenerating it if missing during runtime
This commit is contained in:
parent
ae9aa1d423
commit
98f181fd6d
@ -54,13 +54,18 @@ include_directories(${LIBCONFIG_INCLUDE_DIR})
|
||||
|
||||
message("")
|
||||
|
||||
#add version header
|
||||
FILE(WRITE ${CMAKE_SOURCE_DIR}/inc/Version.h
|
||||
"\#pragma once\n#include <string>\nnamespace Version {\n const std::string VERSION = \"${PROJECT_VERSION}\";\n}"
|
||||
)
|
||||
|
||||
#read sample config
|
||||
FILE(READ ${CMAKE_SOURCE_DIR}/config/iprefresher.cfg SAMPLECONFIG)
|
||||
#add version header
|
||||
FILE(WRITE ${CMAKE_SOURCE_DIR}/inc/Version.h
|
||||
"\#pragma once
|
||||
#include <string>
|
||||
namespace Version {
|
||||
const std::string VERSION = \"${PROJECT_VERSION}\";
|
||||
const std::string SAMPLECONFIG = R\"(${SAMPLECONFIG})\";
|
||||
}"
|
||||
)
|
||||
|
||||
# generate post script for checking if configuration already exists
|
||||
FILE(WRITE ${CMAKE_SOURCE_DIR}/postinstall.sh
|
||||
"#!/bin/bash
|
||||
@ -72,18 +77,13 @@ fi"
|
||||
|
||||
add_library(api ${LIB_METHOD}
|
||||
src/api/API.cpp
|
||||
|
||||
src/api/TelegramAPI.cpp
|
||||
|
||||
src/api/DynuAPI.cpp
|
||||
|
||||
src/api/IPAPI.cpp
|
||||
)
|
||||
src/api/IPAPI.cpp)
|
||||
|
||||
add_library(logger ${LIB_METHOD}
|
||||
src/FileLogger.cpp
|
||||
src/Logger.cpp
|
||||
)
|
||||
src/Logger.cpp)
|
||||
|
||||
|
||||
SET(SOURCE
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include <cstring>
|
||||
#include <fstream>
|
||||
#include <libconfig.h++>
|
||||
#include <Version.h>
|
||||
|
||||
std::string Config::dynuapikey;
|
||||
std::string Config::domainid; //id of the dynu domain
|
||||
@ -25,24 +26,10 @@ bool Config::readCredentials() {
|
||||
catch (const libconfig::FileIOException &fioex) {
|
||||
std::cout << "I/O error while reading config file." << std::endl << "creating new config file!" << std::endl;
|
||||
|
||||
std::string defaultconf = R"(# Dynu IP refresher config
|
||||
# 2020
|
||||
# Lukas Heiligenbrunner
|
||||
|
||||
## DYNU API Config
|
||||
dynuapikey = ""
|
||||
domainid = ""
|
||||
domainname = ""
|
||||
|
||||
## Telegram API Config (optional)
|
||||
#telegramApiKey = ""
|
||||
#chatId = ""
|
||||
)";
|
||||
|
||||
std::ofstream myfile;
|
||||
myfile.open("/etc/iprefresher.cfg");
|
||||
if (myfile.is_open()) {
|
||||
myfile << defaultconf;
|
||||
myfile << Version::SAMPLECONFIG;
|
||||
myfile.close();
|
||||
} else {
|
||||
std::cout << "error creating file" << std::endl;
|
||||
|
Loading…
Reference in New Issue
Block a user