16 Commits

25 changed files with 1377 additions and 884 deletions

View File

@ -5,7 +5,7 @@ IndentWidth: 4
Language: Cpp Language: Cpp
PointerAlignment: Left PointerAlignment: Left
ColumnLimit: 80 ColumnLimit: 100
AlignAfterOpenBracket: Align AlignAfterOpenBracket: Align
AlignTrailingComments: true AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true AllowAllParametersOfDeclarationOnNextLine: true

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.10)
project(park) project(park)
set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD 11)
@ -18,13 +18,15 @@ add_executable(park
headers/encrypt.h headers/encrypt.h
Customer.cpp Customer.cpp
headers/Customer.h headers/Customer.h
Park_spot.cpp Park_spot.cpp
headers/Park_spot.h headers/Park_spot.h
Park_time.cpp Park_time.cpp
headers/Park_time.h headers/Park_time.h
Query.cpp Query.cpp
headers/Query.h headers/Query.h
Interface.cpp
headers/Interface.h
) )
@ -35,16 +37,15 @@ if (UNIX)
SQLiteCpp SQLiteCpp
sqlite3 sqlite3
pthread pthread
dl dl
sodium sodium
) )
elseif (MSYS OR MINGW) elseif (MSYS OR MINGW)
target_link_libraries(park target_link_libraries(park
SQLiteCpp SQLiteCpp
sqlite3 sqlite3
pthread pthread
ssp ssp
libsodium libsodium
) )
endif() endif()

View File

@ -1,20 +1,24 @@
#include "headers/Customer.h" #include "headers/Customer.h"
// constructors // constructors
Customer::Customer(string name_, string password_, Verhicle_type verhicle_) Customer::Customer(string name_, string password_, Vehicle_type vehicle_, string telephone_)
: name{name_}, verhicle{verhicle_}, password{hash_password(password_)} { : id{auto_increment_db() + 1},
id = auto_increment_db() + 1; name{name_},
password{hash_password(password_)},
vehicle{vehicle_},
telephone{telephone_} {
save_db(); save_db();
} }
Customer::Customer(int id_, string name_, string password_, Customer::Customer(int id_, string name_, string password_, Vehicle_type vehicle_,
Verhicle_type verhicle_, vector<Park_time> instances) vector<Park_time> instances, string telephone_)
:id{id_}, : id{id_},
name{name_}, name{name_},
password{password_}, password{password_},
verhicle{verhicle_}, vehicle{vehicle_},
park_instances{instances} {} park_instances{instances},
telephone{telephone_} {}
// clock in/out methods // clock in/out methods
// ==================================================================================== // ====================================================================================
@ -31,28 +35,33 @@ void Customer::clock_out(int s_id) {
park_instances[park_instances.size() - 1].clock_out(id, s_id); park_instances[park_instances.size() - 1].clock_out(id, s_id);
} }
// report gen bool Customer::parked() {
void Customer::gen_monthly() { if (!park_instances.size()) {
cout << "NAME: " << name << "\n"; return false;
cout << "-------------------------------------------------\n"; }
for (auto& i : park_instances) { if ((park_instances[park_instances.size() - 1].duration)) {
// TODO: need some logic to only include from this month. scratch that, // if duration of the last parktime == 0, meaning
// need to remove gen monthly // that the customer has not clocked out
cout << i; return false;
} else {
return true;
} }
cout << "-------------------------------------------------\n\n";
} }
int Customer::parked_at() { return park_instances[park_instances.size() - 1].spot_id; }
//================================================================================================ //================================================================================================
// functions that interact with the database // functions that interact with the database
void Customer::save_db() { void Customer::save_db() {
string statement{"insert into Customer values (, '', '', );"}; string statement{"insert into Customer values (, '', '', ,'');"};
// after ( = 28) // after ( = 28)
statement.insert(38, to_string(int(verhicle))); statement.insert(41, telephone);
statement.insert(38, to_string(int(vehicle)));
statement.insert(36, password); statement.insert(36, password);
statement.insert(32, name); statement.insert(32, name);
statement.insert(29, to_string(id)); statement.insert(29, to_string(id));
// cout << statement;
SQLite::Transaction transaction(data::db); SQLite::Transaction transaction(data::db);
data::db.exec(statement); data::db.exec(statement);
transaction.commit(); transaction.commit();
@ -60,10 +69,14 @@ void Customer::save_db() {
void Customer::update_db() { void Customer::update_db() {
string statement = string statement =
"UPDATE Customer SET name = '', card_code = '' where id = '';"; "UPDATE Customer SET name = '', password = '', "
statement.insert(58, to_string(id)); "vehicle = '', telephone = '' where id = '';";
statement.insert(44, password); statement.insert(87, to_string(id));
statement.insert(73, telephone);
statement.insert(57, to_string(int(vehicle)));
statement.insert(43, password);
statement.insert(28, name); statement.insert(28, name);
// cout << statement;
data::db.exec(statement); data::db.exec(statement);
} }
@ -83,5 +96,3 @@ int Customer::auto_increment_db() {
max_id.reset(); max_id.reset();
return id; return id;
} }

198
Interface.cpp Normal file
View File

@ -0,0 +1,198 @@
#include "headers/Interface.h"
// I added it to pass spots, because the parking options need it to check where
// is free parking_spots is declared in main, and if i declare it
// liberal use of
// cin.ignore(10000, '\n');
// so it skips to the next newline, in essence clearing the cin buffer
void interface(vector<Park_spot>& spots) {
int selector;
cout << "\nHello and welcome to the parking spot! Please select a suitable "
"option:";
cout << "\n[1]Log in as member";
cout << "\n[2]Log in as administrator";
cin >> selector;
cin.ignore(10000, '\n');
switch (selector) {
case 1: {
interface_member(spots);
break;
}
case 2: {
interface_admin(spots);
break;
}
}
}
void interface_member(vector<Park_spot>& spots) {
__label__ exit;
int id;
string password;
cout << "\nPlease input id:";
cin >> id;
cin.ignore(10000, '\n');
Customer c = query_customer_with_id(id);
cout << "\nPlease input password:";
std::getline(cin, password);
while (!(verify_password(c.password, password))) {
cout << "ERROR: wrong password. Please retype your password or enter [exit] to exit :\n";
std::getline(cin, password);
if (password=="exit") goto exit;
}
cout << "Logged in succesfully\n";
cout << "select an option\n [1] Parking options\n[2]monthy report\n";
int option;
cin >> option;
cin.ignore(10000, '\n');
switch (option) {
case 1: {
park(c, spots);
break;
}
case 2: {
cout << "Has not been implemented yet\n";
break;
}
default:
break;
}
exit: ;
}
void interface_admin(vector<Park_spot>& spots) {
__label__ exit, begin;
begin: ;
cout << "Welcome to the admin interface. It is not completely ready yet.\n";
cout << "[1] See monthly report of ALL parking spots\n";
cout << "[2] See weekly report of ALL parking spots\n";
cout << "[3] See monthly report of a specific parking spot\n";
cout << "[4] See weekly report of a specific parking spot\n";
cout << "[5] See current status of parking spots\n";
cout << "[6] Make new customer\n";
cout << "[7] Make new parking spot\n";
cout << "[8] Exit\n";
cout << "option[1-7]:";
int option;
cin >> option;
cin.ignore(10000, '\n');
switch (option) {
case 1: {
reports_from_allparkspots();
break;
}
case 2: {
reports_from_allparkspots(true);
break;
}
case 3: {
cout << "Which parking spot would you like a report on?ID:";
int spotid;
cin >> spotid;
cin.ignore(10000, '\n');
reports_from_parkspot(spotid);
break;
}
case 4: {
cout << "Which parking spot would you like a report on?ID:";
int spotid;
cin >> spotid;
cin.ignore(10000, '\n');
reports_from_parkspot(spotid, true);
break;
}
case 5: {
current_status_parkspots(spots);
break;
}
case 6: {
new_customer();
break;
}
case 7: {
new_parkspot(spots);
break;
}
case 8: {
goto exit;
break;
}
default:
break;
}
goto begin;
exit: ;
}
// --------- individual things.
void park(Customer& c, vector<Park_spot>& spots) {
cout << "You have selected parking option";
if (!(c.parked())) {
cout << "The following spots[which can fit your vehicle] are "
"available: ";
for (Park_spot i : spots) {
if (i.v_type == c.vehicle) {
cout << i.id << ", ";
}
}
cout << "where do you want to park?";
int parkid;
cin >> parkid;
cin.ignore(10000, '\n');
for (Park_spot& i : spots) {
if (i.id == parkid) {
i.clock(c);
cout << "You have parked sucessfully";
}
}
} else {
cout << "You are parked at spot " << c.parked_at()
<< ", do you want to clock out?\n enter [1] for yes and [0] for no";
int answer = 0;
cin >> answer;
cin.ignore(10000, '\n');
if (answer) {
query_parkspot_with_id(c.parked_at(), spots).clock(c);
cout << "You have sucessfully clocked out.";
} else {
cout << "OK, have a nice day";
}
}
}
void new_customer() {
int vtype;
string name;
string password;
string telephone;
cout << "What's the name of the customer? ";
std::getline(cin, name);
cout << "What's the vehicle type? [1]twoweeler, [2] fourweeler: ";
cin >> vtype;
cin.ignore(10000, '\n');
cout << "What's the telephone number? ";
std::getline(cin, telephone);
cout << "What's the password?";
std::getline(cin, password);
Customer newcustomer{name, password, Vehicle_type(vtype), telephone};
cout << "New customer sucessfully created\n";
newcustomer.update_db();
}
void new_parkspot(vector<Park_spot>& spots) {
cout << "What type of parking spot? [1] Twowheeler, [2] Fourwheeler: ";
int vtype;
cin >> vtype;
cin.ignore(10000, '\n');
Park_spot newspot{Vehicle_type(vtype)};
spots.push_back(newspot);
cout << "New parking spot sucessfully created.\n";
}

View File

@ -2,18 +2,18 @@
// constructors // constructors
Park_spot::Park_spot() Park_spot::Park_spot(Vehicle_type v_type_)
: parked_customer{0}, id{auto_increment_db() + 1}, taken{false} { : parked_customer{0}, id{auto_increment_db() + 1}, taken{false}, v_type{v_type_} {
save_db(); save_db();
} }
Park_spot::Park_spot(int id_, bool taken_, int parked) Park_spot::Park_spot(int id_, bool taken_, int parked, Vehicle_type v_type_)
: parked_customer{parked}, : parked_customer{parked},
id{id_}, id{id_},
v_type{v_type_},
taken{taken_} // TODO: think about how init parked? taken{taken_} // TODO: think about how init parked?
{} {}
// clock in en out, calls de juist(in/out) van de customer aan de hand van // clock in en out, calls de juist(in/out) van de customer aan de hand van
// internal state van taken // internal state van taken
void Park_spot::clock(Customer& c_customer) { void Park_spot::clock(Customer& c_customer) {
@ -33,8 +33,7 @@ void Park_spot::clock(Customer& c_customer) {
// --------------------- db functs // --------------------- db functs
void Park_spot::update_db() { void Park_spot::update_db() {
string statement = string statement = "UPDATE Park_spot SET taken = '', customer_id = '' where id = '';";
"UPDATE Park_spot SET taken = '', customer_id = '' where id = '';";
statement.insert(63, to_string(id)); statement.insert(63, to_string(id));
if (taken) { if (taken) {
statement.insert(49, to_string(parked_customer)); statement.insert(49, to_string(parked_customer));
@ -48,8 +47,9 @@ void Park_spot::update_db() {
void Park_spot::save_db() { void Park_spot::save_db() {
//(int id, bool taken, int customer_id) //(int id, bool taken, int customer_id)
string statement{"insert into Park_spot values ( , , );"}; string statement{"insert into Park_spot values ( , , , );"};
// after ( = 28) // after ( = 28)
statement.insert(36, to_string(int(v_type)));
statement.insert(34, "NULL"); statement.insert(34, "NULL");
statement.insert(32, "0"); statement.insert(32, "0");
statement.insert(30, to_string(id)); statement.insert(30, to_string(id));

View File

@ -1,5 +1,13 @@
#include "headers/Park_time.h" #include "headers/Park_time.h"
/*
initializes everything, id is auto incremented from what's stored in the db.
inmediately saves to db upon creation.
Also, this weird syntax is called an initializer list, and is the preffered
method of how to initialize members. It has a measurable performance increase
because it uses move semantics instead of copy semantics.
https://www.geeksforgeeks.org/when-do-we-use-initializer-list-in-c/
*/
Park_time::Park_time(int c_id, int s_id) Park_time::Park_time(int c_id, int s_id)
: customer_id{c_id}, : customer_id{c_id},
spot_id{s_id}, spot_id{s_id},
@ -8,18 +16,22 @@ Park_time::Park_time(int c_id, int s_id)
id{auto_increment_db() + 1} { id{auto_increment_db() + 1} {
save_db(); save_db();
} }
/*
Park_time::Park_time(int id_, int customer_id_, int spot_id_, int start_, this one initializes with data from the database. should probably only be used in the query
int duration_) functions.
: id{id_}, */
customer_id{customer_id_}, Park_time::Park_time(int id_, int customer_id_, int spot_id_, int start_, int duration_)
spot_id{spot_id_}, : id{id_}, customer_id{customer_id_}, spot_id{spot_id_}, duration{duration_} {
duration{duration_} {
start = time_point<system_clock>(seconds(start_)); start = time_point<system_clock>(seconds(start_));
end = time_point<system_clock>(seconds(start_ + duration_)); end = time_point<system_clock>(seconds(start_ + duration_));
} }
/*
simple checking if customer is clocking out at the right spot.
sets end(time of clocking out) and calculates the duration.
updates the info in the database.
*/
void Park_time::clock_out(int c_id, int s_id) { void Park_time::clock_out(int c_id, int s_id) {
if (c_id != customer_id) { if (c_id != customer_id) {
@ -33,8 +45,7 @@ void Park_time::clock_out(int c_id, int s_id) {
if (!duration) { if (!duration) {
end = high_resolution_clock::now(); end = high_resolution_clock::now();
duration = duration = duration_cast<seconds>(end - start).count(); // use mins later
duration_cast<seconds>(end - start).count(); // use mins later
update_db(); update_db();
} else { } else {
@ -46,13 +57,15 @@ std::ostream& operator<<(std::ostream& os, const Park_time& pt) {
std::time_t start_ = system_clock::to_time_t(pt.start); std::time_t start_ = system_clock::to_time_t(pt.start);
std::time_t end_ = system_clock::to_time_t(pt.end); std::time_t end_ = system_clock::to_time_t(pt.end);
os << "- - - - - - - - - - - - - - - - - - - -\n"; os << "- - - - - - - - - - - - - - - - - - - -\n";
os << "Customer # " << pt.customer_id << "at parking spot " << pt.spot_id << "\n";
os << "Clocked in :" << std::ctime(&start_); os << "Clocked in :" << std::ctime(&start_);
os << "clocked out : " << std::ctime(&end_); os << "clocked out : " << std::ctime(&end_);
os << "duration : " << pt.duration << "\n"; os << "duration : " << pt.duration << "\n";
os << "- - - - - - - - - - - - - - - - - - - -\n"; os << "- - - - - - - - - - - - - - - - - - - -\n";
return os; return os;
} }
// mostly a helper function to ease the conversion from timepoint to int
// for storing in the db
int Park_time::start_to_int() { int Park_time::start_to_int() {
auto start_to_epoch = start.time_since_epoch(); auto start_to_epoch = start.time_since_epoch();
auto start_value = duration_cast<seconds>(start_to_epoch); auto start_value = duration_cast<seconds>(start_to_epoch);
@ -64,6 +77,9 @@ int Park_time::start_to_int() {
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void Park_time::save_db() { void Park_time::save_db() {
/*
this creates a sql statement and then executes it
*/
string statement{"insert into Park_time values ( , , , , , );"}; string statement{"insert into Park_time values ( , , , , , );"};
statement.insert(41, "NULL"); statement.insert(41, "NULL");
statement.insert(39, "NULL"); statement.insert(39, "NULL");
@ -75,10 +91,9 @@ void Park_time::save_db() {
data::db.exec(statement); data::db.exec(statement);
transaction.commit(); transaction.commit();
} }
// same as above
void Park_time::update_db() { void Park_time::update_db() {
string statement = string statement = "UPDATE Park_time SET end = , duration = where id = '';";
"UPDATE Park_time SET end = , duration = where id = '';";
statement.insert(53, to_string(id)); statement.insert(53, to_string(id));
statement.insert(40, to_string(duration)); statement.insert(40, to_string(duration));
statement.insert(27, to_string(start_to_int() + duration)); statement.insert(27, to_string(start_to_int() + duration));
@ -93,4 +108,17 @@ int Park_time::auto_increment_db() {
id = max_id.getColumn(0); id = max_id.getColumn(0);
max_id.reset(); max_id.reset();
return id; return id;
}
//------------------ test function to help test this
void Wait(int sec)
{
/*
a wait function where 1 sec represents 1 hour irl. It has been used for testing
purposes mostly. TODO: Needs to be removed at completion of project, or seperated in a test
cpp/header
*/
std::this_thread::sleep_for(seconds{sec});
} }

134
Query.cpp
View File

@ -1,6 +1,5 @@
#include "headers/Query.h" #include "headers/Query.h"
vector<Park_time> query_parktimes_for_customer(int cid) { vector<Park_time> query_parktimes_for_customer(int cid) {
/* /*
This is needed to initialize the park_instances for the customer constructor This is needed to initialize the park_instances for the customer constructor
@ -9,8 +8,7 @@ vector<Park_time> query_parktimes_for_customer(int cid) {
*/ */
vector<Park_time> park_times; vector<Park_time> park_times;
SQLite::Statement query(data::db, SQLite::Statement query(data::db, "SELECT * FROM Park_time WHERE customer_id = ?;");
"SELECT * FROM Park_time WHERE customer_id = ?;");
query.bind(1, cid); query.bind(1, cid);
while (query.executeStep()) { while (query.executeStep()) {
int id = query.getColumn(0); int id = query.getColumn(0);
@ -25,10 +23,8 @@ vector<Park_time> query_parktimes_for_customer(int cid) {
return park_times; return park_times;
} }
//--------------------------------------------- customers //--------------------------------------------- customers
vector<Customer> query_customer_with_name(string name) { vector<Customer> query_customer_with_name(string name) {
/* /*
We use this instead of plain customers because: We use this instead of plain customers because:
@ -36,18 +32,18 @@ vector<Customer> query_customer_with_name(string name) {
2. multiple customers could be returned with the same name. 2. multiple customers could be returned with the same name.
*/ */
vector<Customer> result; vector<Customer> result;
SQLite::Statement query( SQLite::Statement query(data::db,
data::db, "SELECT id, name, password, vehicle FROM Customer WHERE name = ?;");
"SELECT id, name, password, verhicle FROM Customer WHERE name = ?;");
query.bind(1, name); query.bind(1, name);
while (query.executeStep()) { while (query.executeStep()) {
int id = query.getColumn(0); int id = query.getColumn(0);
string name_ = query.getColumn(1); string name_ = query.getColumn(1);
string password = query.getColumn(2); string password = query.getColumn(2);
int verhicle = query.getColumn(3); // cast to verhicle int vehicle = query.getColumn(3); // cast to vehicle
string telephone = query.getColumn(4);
vector<Park_time> park_instances = query_parktimes_for_customer(id); vector<Park_time> park_instances = query_parktimes_for_customer(id);
result.push_back(Customer{ result.push_back(
id, name_, password, Verhicle_type(verhicle), park_instances}); Customer{id, name_, password, Vehicle_type(vehicle), park_instances, telephone});
} }
return result; return result;
} }
@ -65,30 +61,112 @@ Customer query_customer_with_id(int id) {
while (query.executeStep()) { while (query.executeStep()) {
string name = query.getColumn(1); string name = query.getColumn(1);
string password = query.getColumn(2); string password = query.getColumn(2);
int verhicle = query.getColumn(3); // cast to verhicle int vehicle = query.getColumn(3); // cast to vehicle
string telephone = query.getColumn(4);
vector<Park_time> park_instances = query_parktimes_for_customer(id); vector<Park_time> park_instances = query_parktimes_for_customer(id);
Customer result{ Customer result{id, name, password, Vehicle_type(vehicle), park_instances, telephone};
id, name, password, Verhicle_type(verhicle), park_instances};
// DEBUG // DEBUG
// cout << "{" << result.id << "," <<result.password <<"," << int(verhicle) << "}\n"; // cout << "{" << result.id << "," <<result.password <<"," <<
// int(vehicle) << "}\n";
return result; return result;
} }
} }
//------------------------------- parkspot info
// -------------- paroking spots Park_spot query_parkspot_with_id(int id, vector<Park_spot>& parkspots) {
for (Park_spot& i : parkspots) {
vector<Park_spot> query_all_parking_spots() { if (i.id == id) {
vector<Park_spot> spots; return i;
SQLite::Statement query(data::db, "SELECT * FROM Park_spot WHERE id > 2;"); }
// query.bind(1, 2);
while (query.executeStep()) {
int id = query.getColumn(0);
int taken = query.getColumn(1);
int cid = query.getColumn(2);
// park_customers.push_back(query_customer_with_id(cid));
spots.push_back({id, taken, cid});
} }
return spots;
} }
void reports_from_parkspot(int spotid, bool weekly) {
std::time_t t = std::time(0); // get time now
std::tm* now = std::localtime(&t);
if (weekly) {
now->tm_wday = 1;
} else {
now->tm_mday = 1;
}
int s_since_epoch = mktime(now);
vector<Park_time> park_times;
SQLite::Statement query(data::db, "SELECT * FROM Park_time WHERE spot_id = ? AND start > ?;");
query.bind(1, spotid);
query.bind(2, s_since_epoch);
while (query.executeStep()) {
int id = query.getColumn(0);
int cid = query.getColumn(1);
int start = query.getColumn(3);
int duration = query.getColumn(5);
Park_time result{id, cid, spotid, start, duration};
park_times.push_back(result);
}
query.reset();
for (auto i : park_times) {
cout << i;
}
}
void reports_from_allparkspots(bool weekly) {
std::time_t t = std::time(0); // get time now
std::tm* now = std::localtime(&t);
if (weekly) {
now->tm_wday = 1;
} else {
now->tm_mday = 1;
}
int s_since_epoch = mktime(now);
vector<Park_time> park_times;
SQLite::Statement query(data::db, "SELECT * FROM Park_time WHERE start > ?;");
query.bind(1, s_since_epoch);
while (query.executeStep()) {
int id = query.getColumn(0);
int cid = query.getColumn(1);
int spotid = query.getColumn(2);
int start = query.getColumn(3);
int duration = query.getColumn(5);
Park_time result{id, cid, spotid, start, duration};
park_times.push_back(result);
}
query.reset();
for (auto i : park_times) {
cout << i;
}
}
void current_status_parkspots(vector<Park_spot>& spots) {
for (auto& i : spots) {
cout << "---------------------------\n";
cout << "PS #" << i.id << "\n";
cout << "Taken: " << ((i.taken) ? "true" : "false") << "\n";
if (i.taken) {
cout << "Customer#" << i.parked_customer << " parked there\n";
}
}
}
// -------------- parking spots
// vector<Park_spot> populate_spots(){
// vector<Park_spot> spots;
// SQLite::Statement query(data::db, "SELECT * FROM Park_spot WHERE id >
// 0;");
// // query.bind(1, 2);
// while (query.executeStep()) {
// int id = query.getColumn(0);
// int taken = query.getColumn(1);
// int cid = query.getColumn(2);
// // park_customers.push_back(query_customer_with_id(cid));
// spots.push_back({id, taken, cid});
// }
// return spots;
// }

View File

@ -3,18 +3,25 @@
namespace data { namespace data {
SQLite::Database start_db() { SQLite::Database start_db() {
SQLite::Database db("test.db3", /*
SQLite::OPEN_READWRITE | SQLite::OPEN_CREATE); Opens the database, creates it if it can't find the file.
*/
SQLite::Database db("test.db3", SQLite::OPEN_READWRITE | SQLite::OPEN_CREATE);
while (sodium_init() < 0) { while (sodium_init() < 0) {
std::cout << "SODIUM NOT WORKING"; std::cout << "SODIUM NOT WORKING";
/*
This shouldn't be here, really, but I can't think of a better place
where it runs at least once. This seeds the random generator needed for
salts and other stuff, and needs to be run at least once when working
with any libsodium function.
*/
} }
db.exec( db.exec(
"create table if not exists Customer (id integer primary key, name " "create table if not exists Customer (id integer primary key, name "
"text, password text, verhicle int)"); "text, password text, vehicle int, telephone text)");
db.exec( db.exec(
"create table if not exists Park_spot (id integer primary key, taken " "create table if not exists Park_spot (id integer primary key, taken "
"int, customer_id int)"); "int, customer_id int, vehicle_type int)");
db.exec( db.exec(
"create table if not exists Park_time (id integer primary key, " "create table if not exists Park_time (id integer primary key, "
"customer_id int, spot_id int, start int, end int, duration int)"); "customer_id int, spot_id int, start int, end int, duration int)");

View File

@ -1,33 +1,35 @@
#include "headers/encrypt.h" #include "headers/encrypt.h"
string hash_password(string password) { string hash_password(string password) {
/* /*
Passing strings and converting to char* because I do not want to be forced Passing strings and converting to char* because I do not want to be forced
to use char * whenever I want to call the function. Low level stuff in the to use char * whenever I want to call the function. Low level stuff in the
function, the least possible low level stuff outside. function, the least possible low level stuff outside.
This uses the password hashing algorithm Argon2 implemented by libsodium.
DO NOT MODIFY memory_limit and cpu_limit after you add customers to the db.
When you do that, the hashed passwords can't be decrypted, and that would be
BAD
*/ */
const char* password_ = password.c_str(); const char* password_ = password.c_str();
char hashed_password_[crypto_pwhash_STRBYTES]; char hashed_password_[crypto_pwhash_STRBYTES];
int memory_limit = 3.2e+7; // 3.2e7 = 32e6 = 32 mb int memory_limit = 3.2e+7; // 3.2e7 = 32e6 = 32 mb
int cpu_limit = 1; // this is n_threads int cpu_limit = 1; // this is n_threads
int result = crypto_pwhash_str(hashed_password_, int result =
password_, crypto_pwhash_str(hashed_password_, password_, strlen(password_), cpu_limit, memory_limit);
strlen(password_),
cpu_limit,
memory_limit);
string hashed_password{hashed_password_}; string hashed_password{hashed_password_};
return hashed_password; return hashed_password;
} }
bool verify_password(string hashed_password, string unhashed_password) { bool verify_password(string hashed_password, string unhashed_password) {
/*
this verifies the password. It's encryption magic and don't question it.
*/
const char* password_ = unhashed_password.c_str(); const char* password_ = unhashed_password.c_str();
const char* hashed_password_ = hashed_password.c_str(); const char* hashed_password_ = hashed_password.c_str();
if (crypto_pwhash_str_verify( if (crypto_pwhash_str_verify(hashed_password_, password_, strlen(password_)) != 0) {
hashed_password_, password_, strlen(password_)) != 0) {
return false; return false;
} else { } else {
return true; return true;

BIN
graph.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -9,42 +9,52 @@
using std::vector; using std::vector;
// will make it easy to represent it in the database while making it easy to use /*
// while programming enum classes make it easy to represent categories.
enum class Verhicle_type { bike = 1, small_car = 2, suv = 3, pickup = 4 }; So you can use something like Vehicle_type::car instead of 2. but under the
hood, it's still an int. This is here so you won't have to have global variables
for these categories, or worse, use magic numbers in the code.
*/
enum class Vehicle_type { twoweeler = 1, fourweeler = 2 };
/* /*
card code is een randomly generated string moeten zijn, die je bv. op een nfc Customer constructors do the same stuff as all the other constructors.
card zou opslaan en zo zou authenticaten bij je parking spot. We kunnen dit ipv clock_in and out create and modify park_time objects and store them to
of samen met een password gebruiken. clock in en out creeert en compleet een park_instances. Technically, now that we have a working db, we don't need it.
park_time object. Voegt het toe aan een vector. TODO: fix this.
*/ gen_monthly just prints out all the park_time objects in park_instances.
It should (and can safely) be removed, but it's here as a quick example of
report generation It has no logic to speak of that only generates report of
ptime objects of this month.
TODO: remove when have seperate report generation functions.
save, update, delete and auto increment are the same as in park_time.
*/
class Customer { class Customer {
public: public:
int id; int id;
string name; string name;
string password; string password;
Customer(string name_, string password_, Verhicle_type verhicle_); Vehicle_type vehicle;
Customer(int id_, string name_, // needed to construct from db string telephone;
string password_, Customer(string name_, string password_, Vehicle_type vehicle_, string telephone_);
Verhicle_type verhicle_, // TODO: how init. p_time instances? Customer(int id_, string name_, string password_, Vehicle_type vehicle_,
vector<Park_time> instances); vector<Park_time> instances, string telephone_);
void clock_in(int s_id); void clock_in(int s_id);
void clock_out(int s_id); void clock_out(int s_id);
bool parked();
int parked_at();
void update_db(); void update_db();
void delete_db(); void delete_db();
void gen_monthly(); // remove, make it a function in data
Verhicle_type verhicle;
private: private:
vector<Park_time> park_instances; vector<Park_time> park_instances;
void save_db(); void save_db();
int auto_increment_db(); int auto_increment_db();
}; };
#endif // CUSTOMER_H #endif // CUSTOMER_H

13
headers/Interface.h Normal file
View File

@ -0,0 +1,13 @@
#include "Query.h"
using std::cin;
void interface(vector<Park_spot>& spots);
void interface_member(vector<Park_spot>& spots);
void interface_admin(vector<Park_spot>& spots);
void park(Customer& c, vector<Park_spot>& spots);
void new_customer();
void new_parkspot(vector<Park_spot>& spots);

View File

@ -18,8 +18,10 @@ class Park_spot {
int id; int id;
bool taken; bool taken;
int parked_customer; int parked_customer;
Park_spot(); Vehicle_type v_type;
Park_spot(int id_, bool taken_, int parked);
Park_spot(Vehicle_type v_type_);
Park_spot(int id_, bool taken_, int parked, Vehicle_type v_type_);
void clock(Customer& c_customer); void clock(Customer& c_customer);
private: private:

View File

@ -8,6 +8,7 @@
#include <ctime> #include <ctime>
#include <iostream> #include <iostream>
#include <string> #include <string>
#include <thread>
using namespace std::chrono; using namespace std::chrono;
using std::cout; using std::cout;
@ -17,13 +18,35 @@ using std::to_string;
Record of who parked at what park_spot and at what time. Record of who parked at what park_spot and at what time.
public interface-------------------------------------------
The constructors. one for creating new customers, the other one used by the
query functions to construct the object from information stored in the database.
clock_out is the function that gets called from customer.clock_out().
It verifies that the customer is clocking out at the correct parkspot, and saves
the current time of clocking out in end. It also calculates duration so it
doesn't have to be calculated more than once.
operator<< is << overload, can(should) be used for report generation.
// implementation stuff------------------------
start and end are time points representing when someone clocks in and out. they're from the chrono
namespace.
save and update save and update info in the database.
auto_increment pulls the highest id stored in the db, to be used in the constructor.
start_to_int() is used to convert the start timepoint to an integer that can be saved in the
database SQL datetime and chrono datetime don't seem the most compatible.
*/ */
class Park_time { class Park_time {
public: public:
Park_time(int c_id, int s_id); Park_time(int c_id, int s_id);
Park_time(int id_, int customer_id_, int spot_id_, int start_, Park_time(int id_, int customer_id_, int spot_id_, int start_, int duration_);
int duration_);
int id; int id;
int customer_id; int customer_id;
int spot_id; int spot_id;
@ -41,4 +64,7 @@ class Park_time {
int start_to_int(); // helper int start_to_int(); // helper
}; };
// test funciton
void Wait(int sec);
#endif // Park_time #endif // Park_time

View File

@ -4,18 +4,64 @@
#include "Park_spot.h" #include "Park_spot.h"
#include <array> /*these are the functions that search the database and create objects from it.
query_parktimes_for_customer searches for the parktimes that are needed in
customer initialisaiton. generally, i see no use outside of that.
query_customer_with_name searches for customer data by name.
query_customer_with_id does what the above does, but with id.
populate_spots is used to query for all the park_spots and return them as
objects.
The design desision to use vector<T> instead of <T> is for the following
reasons:
1. some of these can potentially return more than one object. For example, 2
customers who have the same name.
2. I have no clue how many of you have done error handling in c++
(try/catch/finally).
Ya boi is nice and doesn't want to bombard you with more new concepts than needed.
so now you'd do
vector<Customer> test = query_customer_with_name("Testman");
if (!test.size()) {print no customers found, do stuff}
else if (test.size() > 1) { do stuff to get the right one if you only need one
}
instead of
try {
customer test = query_customer_with_name("Testman");
}
catch(someException.probablycalled_not_found) {do_Stuff};
catch(...) {
do stuff
}
finally{
do more stuff
}
3. Ya boi needs to brush up on how to create custom exceptions class, and it will complicate code
furhter.
*/
vector<Park_time> query_parktimes_for_customer(int cid); vector<Park_time> query_parktimes_for_customer(int cid);
vector<Customer> query_customer_with_name(string name); vector<Customer> query_customer_with_name(string name);
Customer query_customer_with_id(int id); Customer query_customer_with_id(int id);
vector<Park_spot> query_all_parking_spots(); // used for initializing the parking spots at start of the program vector<Park_spot> populate_spots();
static vector<Park_spot> parking_spots = query_all_parking_spots(); // to save the parking spots in memory Park_spot query_parkspot_with_id(int id, vector<Park_spot>& parkspots);
static vector<Customer> park_customers;
// save the customers that are parked in here
void reports_from_parkspot(int spotid, bool weekly = false);
void reports_from_allparkspots(bool weekly = false);
#endif // CUSTOMER_H void current_status_parkspots(vector<Park_spot>& spots);
#endif // CUSTOMER_H

View File

@ -5,8 +5,13 @@
#include "encrypt.h" #include "encrypt.h"
namespace data { namespace data {
SQLite::Database start_db();
/*
start_db is the function that opens the database, and
if the necesary tables are not there, creates them.
db is the database, and is static to avoid multiple redefinition errors.
*/
SQLite::Database start_db();
static SQLite::Database db = start_db(); static SQLite::Database db = start_db();
} // namespace data } // namespace data

View File

@ -2,12 +2,20 @@
#define ENCRYPT_H #define ENCRYPT_H
#pragma once #pragma once
#include <string>
#include <cstring> #include <cstring>
#include <sodium.h>
#include <iostream> #include <iostream>
#include <sodium.h>
#include <string>
using std::string; using std::string;
/*
hash_password takes the password, and encrypts it. This needs to be done,
because storing passwords in plaintext is BAD!
verify_password takes in a password and the hashed password, and then does magic encryption
stuff(no, not really. It basically hashes the password with the same salt and other parameters) and
to see if the password stored and the given password match.
*/
string hash_password(string password); string hash_password(string password);
bool verify_password(string hashed_password, string unhashed_password); bool verify_password(string hashed_password, string unhashed_password);

View File

@ -1,42 +1,69 @@
#include "headers/Query.h" #include "headers/Interface.h"
#include <chrono>
#include <thread>
using namespace std::chrono;
/* /*
Code strucure like this: Code structure is like this:
class declarations zijn in /headers/class_naam.h, en definitions van de member 1. encrypt.cpp en /header/encrypt.h contain functions to hash passwords and
functs in /class_naam.cpp elke klas in zn eigen file omdat ik incomplete class verify passwords
declarations wilt tegengaan, omdat ik ze niet goed begrijp. En header/source
split om multiple definition errors tegen te gaan.
Park_spot representeert een parkeermeter bij elke parkeer spot. 2. data.cpp and /header/data.h contain the code to start up the database.
Een customer is een customer. Originally, they were supposed to contain all the functions to save to the
Park time is een object die reffereert naar parkspot en customer, basically een database and query from the database. I had trouble doing that, (cyclical
record die zegt dat een customer voor x tijd geparkeert heeft bij spot x, enz. includes) and some other issues. the other issues are gone due to the latest
refactor, but to make it like my original plan is going to take a few hours, and
I have done too much already to want to do more work unless needed.
The functions to save to a database have been integrated in the classes
themself, and unless issues arrise from that I'm not changing that. Functions to
get objects from the database are in Query.cpp en header.
De client clockt in en uit bij een spot. 3. Park_time.cpp en header.
Contain the implementation details of Park_time, which is basically a record of
who parked at what spot and when. Uses a mix of ctime and chrono functions to do
most of the stuff, it's a mess. I will probably have to commit to Doing it one
way or the other to make it more comperhensible, especially for whoever will
make report functions.
4. Customer.cpp and header.
Contains the implementation of Customer. Customer represents a customer, and
saves park_time instances in itself. Not much to explain.
5. Park_spot.cpp and header.
It contians the implementation details of Park_spot, which represents it's
namesake.
6. Query.cpp and header.
Cointain functions that search the database and return objects(P_time, P_spot,
Customer) It is the least tested of the whole project, use with care.
Explanation of what members do of P_time, P_spot, Customer are in the respective
headers. Explanations of how the member functions work(Or how I intended for
them to work) are in the respective .cpp files. void Wait(int sec)
*/ */
void Wait(int sec) static vector<Park_spot> parking_spots = populate_spots();
/* // this queries the db for all the saved parking_spots and initializes them
a wait function where 1 sec represents 1 hour irl. static vector<Customer> park_customers;
*/
{
std::this_thread::sleep_for(seconds{sec});
}
int main() { int main() {
// Customer sagar = query_customer_with_name("stefan udit")[0]; // state of db:
Customer sagar = query_customer_with_id(2); // er zijn 10 parkspots, 5 met biketype en 5 met pickup type
cout << sagar.id << "," << sagar.name << "," << sagar.password; // er is een customer met id 1(testcustomer) met password "password"
// cout << parking_spots.size(); do { interface(parking_spots);} while (true);
// for (auto i : parking_spots){
// cout << i.id << "," << i.parked_customer;
// }
} }
/*
Why is this not in query.cpp? Because somehow, it errors out when it's there.
The error message indicates it is a memory issue but I suspect it's a
concurrency issue. Do not move this.
*/
vector<Park_spot> populate_spots() {
vector<Park_spot> spots;
SQLite::Statement query(data::db, "SELECT * FROM Park_spot WHERE id > 0;");
while (query.executeStep()) {
int id = query.getColumn(0);
int taken = query.getColumn(1);
int cid = query.getColumn(2);
Vehicle_type vtype = Vehicle_type(int(query.getColumn(3)));
spots.push_back({id, taken, cid, vtype});
}
return spots;
}

Binary file not shown.

View File

@ -11,4 +11,23 @@ Or click the build icon in vscode *shrugs*
# Parkmanne # Parkmanne
## A stroll in the park ## A stroll in the park
Parkmanne aims to achieve provisionary effectiveness in the sector of parking. This problem had.
This is a graph of how everything is connected.
If you need to add functionality that doesn't fall in any of these, and you're unsure of what to include, you can decide something like this:
Take my customer class for example.
It needs to be able to save to db, so it needs data.
It needs to modify and save park_time objects, so it needs those.
It needs to encrypt and decrypt passwords. BUT since data already includes encrypt, it doesn't have to be encrypted.
So customer includes those.
Another example is Parkspot.
It needs information about both customers and save to the database.
Since customer also includes data, i don't have to include it again.
Last example:
![header includes](graph.png)

BIN
test.db3

Binary file not shown.

View File

@ -1,395 +1,396 @@
# CMAKE generated file: DO NOT EDIT! # CMAKE generated file: DO NOT EDIT!
# Generated by "MinGW Makefiles" Generator, CMake Version 3.14 # Generated by "Unix Makefiles" Generator, CMake Version 3.10
# Default target executed when no arguments are given to make. # Default target executed when no arguments are given to make.
default_target: all default_target: all
.PHONY : default_target .PHONY : default_target
# Allow only one "make -f Makefile2" at a time, but pass parallelism. # Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL: .NOTPARALLEL:
#============================================================================= #=============================================================================
# Special targets provided by cmake. # Special targets provided by cmake.
# Disable implicit rules so canonical targets will work. # Disable implicit rules so canonical targets will work.
.SUFFIXES: .SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove. # Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES = SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list .SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands. # Suppress display of executed commands.
$(VERBOSE).SILENT: $(VERBOSE).SILENT:
# A target that is always out of date. # A target that is always out of date.
cmake_force: cmake_force:
.PHONY : cmake_force .PHONY : cmake_force
#============================================================================= #=============================================================================
# Set environment variables for the build. # Set environment variables for the build.
SHELL = cmd.exe # The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = C:\MSYS\mingw64\bin\cmake.exe # The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = C:\MSYS\mingw64\bin\cmake.exe -E remove -f # The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = = # Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = C:\Users\MassiveAtoms\Documents\C++\Parkmanne # The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/pyrostefan/Documents/Parkmanne/Parkmanne
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = C:\Users\MassiveAtoms\Documents\C++\Parkmanne # The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/pyrostefan/Documents/Parkmanne/Parkmanne
#=============================================================================
# Targets provided globally by CMake. #=============================================================================
# Targets provided globally by CMake.
# Special rule for the target install/strip
install/strip: preinstall # Special rule for the target install/strip
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." install/strip: preinstall
C:\MSYS\mingw64\bin\cmake.exe -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
.PHONY : install/strip /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
.PHONY : install/strip
# Special rule for the target install/strip
install/strip/fast: preinstall/fast # Special rule for the target install/strip
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." install/strip/fast: preinstall/fast
C:\MSYS\mingw64\bin\cmake.exe -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
.PHONY : install/strip/fast /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
.PHONY : install/strip/fast
# Special rule for the target install/local
install/local: preinstall # Special rule for the target install/local
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." install/local: preinstall
C:\MSYS\mingw64\bin\cmake.exe -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
.PHONY : install/local /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
.PHONY : install/local
# Special rule for the target install/local
install/local/fast: preinstall/fast # Special rule for the target install/local
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." install/local/fast: preinstall/fast
C:\MSYS\mingw64\bin\cmake.exe -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
.PHONY : install/local/fast /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
.PHONY : install/local/fast
# Special rule for the target edit_cache
edit_cache: # Special rule for the target edit_cache
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." edit_cache:
C:\MSYS\mingw64\bin\cmake-gui.exe -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
.PHONY : edit_cache /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache # Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
.PHONY : edit_cache/fast
# Special rule for the target rebuild_cache
rebuild_cache: # Special rule for the target rebuild_cache
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." rebuild_cache:
C:\MSYS\mingw64\bin\cmake.exe -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
.PHONY : rebuild_cache /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache # Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
.PHONY : rebuild_cache/fast
# Special rule for the target list_install_components
list_install_components: # Special rule for the target list_install_components
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"headers\" \"libraries\"" list_install_components:
.PHONY : list_install_components @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"headers\" \"libraries\""
.PHONY : list_install_components
# Special rule for the target list_install_components
list_install_components/fast: list_install_components # Special rule for the target list_install_components
list_install_components/fast: list_install_components
.PHONY : list_install_components/fast
.PHONY : list_install_components/fast
# Special rule for the target install
install: preinstall # Special rule for the target install
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." install: preinstall
C:\MSYS\mingw64\bin\cmake.exe -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
.PHONY : install /usr/bin/cmake -P cmake_install.cmake
.PHONY : install
# Special rule for the target install
install/fast: preinstall/fast # Special rule for the target install
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." install/fast: preinstall/fast
C:\MSYS\mingw64\bin\cmake.exe -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
.PHONY : install/fast /usr/bin/cmake -P cmake_install.cmake
.PHONY : install/fast
# The main all target
all: cmake_check_build_system # The main all target
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\MassiveAtoms\Documents\C++\Parkmanne\CMakeFiles C:\Users\MassiveAtoms\Documents\C++\Parkmanne\thirdparty\SQLiteCpp\CMakeFiles\progress.marks all: cmake_check_build_system
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f CMakeFiles\Makefile2 thirdparty/SQLiteCpp/all cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(CMAKE_COMMAND) -E cmake_progress_start /home/pyrostefan/Documents/Parkmanne/Parkmanne/CMakeFiles /home/pyrostefan/Documents/Parkmanne/Parkmanne/thirdparty/SQLiteCpp/CMakeFiles/progress.marks
$(CMAKE_COMMAND) -E cmake_progress_start C:\Users\MassiveAtoms\Documents\C++\Parkmanne\CMakeFiles 0 cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f CMakeFiles/Makefile2 thirdparty/SQLiteCpp/all
.PHONY : all $(CMAKE_COMMAND) -E cmake_progress_start /home/pyrostefan/Documents/Parkmanne/Parkmanne/CMakeFiles 0
.PHONY : all
# The main clean target
clean: # The main clean target
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f CMakeFiles\Makefile2 thirdparty/SQLiteCpp/clean clean:
.PHONY : clean cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f CMakeFiles/Makefile2 thirdparty/SQLiteCpp/clean
.PHONY : clean
# The main clean target
clean/fast: clean # The main clean target
clean/fast: clean
.PHONY : clean/fast
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all # Prepare targets for installation.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f CMakeFiles\Makefile2 thirdparty/SQLiteCpp/preinstall preinstall: all
.PHONY : preinstall cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f CMakeFiles/Makefile2 thirdparty/SQLiteCpp/preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast: # Prepare targets for installation.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f CMakeFiles\Makefile2 thirdparty/SQLiteCpp/preinstall preinstall/fast:
.PHONY : preinstall/fast cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f CMakeFiles/Makefile2 thirdparty/SQLiteCpp/preinstall
.PHONY : preinstall/fast
# clear depends
depend: # clear depends
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 1 depend:
.PHONY : depend cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
# Convenience name for target.
thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp_cpplint.dir/rule: # Convenience name for target.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f CMakeFiles\Makefile2 thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp_cpplint.dir/rule thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp_cpplint.dir/rule:
.PHONY : thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp_cpplint.dir/rule cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f CMakeFiles/Makefile2 thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp_cpplint.dir/rule
.PHONY : thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp_cpplint.dir/rule
# Convenience name for target.
SQLiteCpp_cpplint: thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp_cpplint.dir/rule # Convenience name for target.
SQLiteCpp_cpplint: thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp_cpplint.dir/rule
.PHONY : SQLiteCpp_cpplint
.PHONY : SQLiteCpp_cpplint
# fast build rule for target.
SQLiteCpp_cpplint/fast: # fast build rule for target.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp_cpplint.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp_cpplint.dir/build SQLiteCpp_cpplint/fast:
.PHONY : SQLiteCpp_cpplint/fast cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp_cpplint.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp_cpplint.dir/build
.PHONY : SQLiteCpp_cpplint/fast
# Convenience name for target.
thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/rule: # Convenience name for target.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f CMakeFiles\Makefile2 thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/rule thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/rule:
.PHONY : thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/rule cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f CMakeFiles/Makefile2 thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/rule
.PHONY : thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/rule
# Convenience name for target.
SQLiteCpp: thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/rule # Convenience name for target.
SQLiteCpp: thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/rule
.PHONY : SQLiteCpp
.PHONY : SQLiteCpp
# fast build rule for target.
SQLiteCpp/fast: # fast build rule for target.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build SQLiteCpp/fast:
.PHONY : SQLiteCpp/fast cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build
.PHONY : SQLiteCpp/fast
src/Backup.obj: src/Backup.cpp.obj
src/Backup.o: src/Backup.cpp.o
.PHONY : src/Backup.obj
.PHONY : src/Backup.o
# target to build an object file
src/Backup.cpp.obj: # target to build an object file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.obj src/Backup.cpp.o:
.PHONY : src/Backup.cpp.obj cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.o
.PHONY : src/Backup.cpp.o
src/Backup.i: src/Backup.cpp.i
src/Backup.i: src/Backup.cpp.i
.PHONY : src/Backup.i
.PHONY : src/Backup.i
# target to preprocess a source file
src/Backup.cpp.i: # target to preprocess a source file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.i src/Backup.cpp.i:
.PHONY : src/Backup.cpp.i cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.i
.PHONY : src/Backup.cpp.i
src/Backup.s: src/Backup.cpp.s
src/Backup.s: src/Backup.cpp.s
.PHONY : src/Backup.s
.PHONY : src/Backup.s
# target to generate assembly for a file
src/Backup.cpp.s: # target to generate assembly for a file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.s src/Backup.cpp.s:
.PHONY : src/Backup.cpp.s cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.s
.PHONY : src/Backup.cpp.s
src/Column.obj: src/Column.cpp.obj
src/Column.o: src/Column.cpp.o
.PHONY : src/Column.obj
.PHONY : src/Column.o
# target to build an object file
src/Column.cpp.obj: # target to build an object file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.obj src/Column.cpp.o:
.PHONY : src/Column.cpp.obj cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.o
.PHONY : src/Column.cpp.o
src/Column.i: src/Column.cpp.i
src/Column.i: src/Column.cpp.i
.PHONY : src/Column.i
.PHONY : src/Column.i
# target to preprocess a source file
src/Column.cpp.i: # target to preprocess a source file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.i src/Column.cpp.i:
.PHONY : src/Column.cpp.i cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.i
.PHONY : src/Column.cpp.i
src/Column.s: src/Column.cpp.s
src/Column.s: src/Column.cpp.s
.PHONY : src/Column.s
.PHONY : src/Column.s
# target to generate assembly for a file
src/Column.cpp.s: # target to generate assembly for a file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.s src/Column.cpp.s:
.PHONY : src/Column.cpp.s cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.s
.PHONY : src/Column.cpp.s
src/Database.obj: src/Database.cpp.obj
src/Database.o: src/Database.cpp.o
.PHONY : src/Database.obj
.PHONY : src/Database.o
# target to build an object file
src/Database.cpp.obj: # target to build an object file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.obj src/Database.cpp.o:
.PHONY : src/Database.cpp.obj cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.o
.PHONY : src/Database.cpp.o
src/Database.i: src/Database.cpp.i
src/Database.i: src/Database.cpp.i
.PHONY : src/Database.i
.PHONY : src/Database.i
# target to preprocess a source file
src/Database.cpp.i: # target to preprocess a source file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.i src/Database.cpp.i:
.PHONY : src/Database.cpp.i cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.i
.PHONY : src/Database.cpp.i
src/Database.s: src/Database.cpp.s
src/Database.s: src/Database.cpp.s
.PHONY : src/Database.s
.PHONY : src/Database.s
# target to generate assembly for a file
src/Database.cpp.s: # target to generate assembly for a file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.s src/Database.cpp.s:
.PHONY : src/Database.cpp.s cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.s
.PHONY : src/Database.cpp.s
src/Exception.obj: src/Exception.cpp.obj
src/Exception.o: src/Exception.cpp.o
.PHONY : src/Exception.obj
.PHONY : src/Exception.o
# target to build an object file
src/Exception.cpp.obj: # target to build an object file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Exception.cpp.obj src/Exception.cpp.o:
.PHONY : src/Exception.cpp.obj cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Exception.cpp.o
.PHONY : src/Exception.cpp.o
src/Exception.i: src/Exception.cpp.i
src/Exception.i: src/Exception.cpp.i
.PHONY : src/Exception.i
.PHONY : src/Exception.i
# target to preprocess a source file
src/Exception.cpp.i: # target to preprocess a source file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Exception.cpp.i src/Exception.cpp.i:
.PHONY : src/Exception.cpp.i cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Exception.cpp.i
.PHONY : src/Exception.cpp.i
src/Exception.s: src/Exception.cpp.s
src/Exception.s: src/Exception.cpp.s
.PHONY : src/Exception.s
.PHONY : src/Exception.s
# target to generate assembly for a file
src/Exception.cpp.s: # target to generate assembly for a file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Exception.cpp.s src/Exception.cpp.s:
.PHONY : src/Exception.cpp.s cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Exception.cpp.s
.PHONY : src/Exception.cpp.s
src/Statement.obj: src/Statement.cpp.obj
src/Statement.o: src/Statement.cpp.o
.PHONY : src/Statement.obj
.PHONY : src/Statement.o
# target to build an object file
src/Statement.cpp.obj: # target to build an object file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Statement.cpp.obj src/Statement.cpp.o:
.PHONY : src/Statement.cpp.obj cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Statement.cpp.o
.PHONY : src/Statement.cpp.o
src/Statement.i: src/Statement.cpp.i
src/Statement.i: src/Statement.cpp.i
.PHONY : src/Statement.i
.PHONY : src/Statement.i
# target to preprocess a source file
src/Statement.cpp.i: # target to preprocess a source file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Statement.cpp.i src/Statement.cpp.i:
.PHONY : src/Statement.cpp.i cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Statement.cpp.i
.PHONY : src/Statement.cpp.i
src/Statement.s: src/Statement.cpp.s
src/Statement.s: src/Statement.cpp.s
.PHONY : src/Statement.s
.PHONY : src/Statement.s
# target to generate assembly for a file
src/Statement.cpp.s: # target to generate assembly for a file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Statement.cpp.s src/Statement.cpp.s:
.PHONY : src/Statement.cpp.s cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Statement.cpp.s
.PHONY : src/Statement.cpp.s
src/Transaction.obj: src/Transaction.cpp.obj
src/Transaction.o: src/Transaction.cpp.o
.PHONY : src/Transaction.obj
.PHONY : src/Transaction.o
# target to build an object file
src/Transaction.cpp.obj: # target to build an object file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Transaction.cpp.obj src/Transaction.cpp.o:
.PHONY : src/Transaction.cpp.obj cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Transaction.cpp.o
.PHONY : src/Transaction.cpp.o
src/Transaction.i: src/Transaction.cpp.i
src/Transaction.i: src/Transaction.cpp.i
.PHONY : src/Transaction.i
.PHONY : src/Transaction.i
# target to preprocess a source file
src/Transaction.cpp.i: # target to preprocess a source file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Transaction.cpp.i src/Transaction.cpp.i:
.PHONY : src/Transaction.cpp.i cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Transaction.cpp.i
.PHONY : src/Transaction.cpp.i
src/Transaction.s: src/Transaction.cpp.s
src/Transaction.s: src/Transaction.cpp.s
.PHONY : src/Transaction.s
.PHONY : src/Transaction.s
# target to generate assembly for a file
src/Transaction.cpp.s: # target to generate assembly for a file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\CMakeFiles\SQLiteCpp.dir\build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Transaction.cpp.s src/Transaction.cpp.s:
.PHONY : src/Transaction.cpp.s cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/build.make thirdparty/SQLiteCpp/CMakeFiles/SQLiteCpp.dir/src/Transaction.cpp.s
.PHONY : src/Transaction.cpp.s
# Help Target
help: # Help Target
@echo The following are some of the valid targets for this Makefile: help:
@echo ... all (the default if no target is provided) @echo "The following are some of the valid targets for this Makefile:"
@echo ... clean @echo "... all (the default if no target is provided)"
@echo ... depend @echo "... clean"
@echo ... install/strip @echo "... depend"
@echo ... install/local @echo "... install/strip"
@echo ... SQLiteCpp_cpplint @echo "... install/local"
@echo ... SQLiteCpp @echo "... SQLiteCpp_cpplint"
@echo ... edit_cache @echo "... SQLiteCpp"
@echo ... rebuild_cache @echo "... edit_cache"
@echo ... list_install_components @echo "... rebuild_cache"
@echo ... install @echo "... list_install_components"
@echo ... src/Backup.obj @echo "... install"
@echo ... src/Backup.i @echo "... src/Backup.o"
@echo ... src/Backup.s @echo "... src/Backup.i"
@echo ... src/Column.obj @echo "... src/Backup.s"
@echo ... src/Column.i @echo "... src/Column.o"
@echo ... src/Column.s @echo "... src/Column.i"
@echo ... src/Database.obj @echo "... src/Column.s"
@echo ... src/Database.i @echo "... src/Database.o"
@echo ... src/Database.s @echo "... src/Database.i"
@echo ... src/Exception.obj @echo "... src/Database.s"
@echo ... src/Exception.i @echo "... src/Exception.o"
@echo ... src/Exception.s @echo "... src/Exception.i"
@echo ... src/Statement.obj @echo "... src/Exception.s"
@echo ... src/Statement.i @echo "... src/Statement.o"
@echo ... src/Statement.s @echo "... src/Statement.i"
@echo ... src/Transaction.obj @echo "... src/Statement.s"
@echo ... src/Transaction.i @echo "... src/Transaction.o"
@echo ... src/Transaction.s @echo "... src/Transaction.i"
.PHONY : help @echo "... src/Transaction.s"
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make. #=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles # Special rule to run CMake to check the build system integrity.
# because they might be regenerated. # No rule that depends on this can have commands that come from listfiles
cmake_check_build_system: # because they might be regenerated.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0 cmake_check_build_system:
.PHONY : cmake_check_build_system cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

View File

@ -1,67 +1,72 @@
# Install script for directory: C:/Users/MassiveAtoms/Documents/C++/Parkmanne/thirdparty/SQLiteCpp # Install script for directory: /home/pyrostefan/Documents/Parkmanne/Parkmanne/thirdparty/SQLiteCpp
# Set the install prefix # Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX) if(NOT DEFINED CMAKE_INSTALL_PREFIX)
set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/park") set(CMAKE_INSTALL_PREFIX "/usr/local")
endif() endif()
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
# Set the install configuration name. # Set the install configuration name.
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
if(BUILD_TYPE) if(BUILD_TYPE)
string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
else() else()
set(CMAKE_INSTALL_CONFIG_NAME "") set(CMAKE_INSTALL_CONFIG_NAME "")
endif() endif()
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
endif() endif()
# Set the component getting installed. # Set the component getting installed.
if(NOT CMAKE_INSTALL_COMPONENT) if(NOT CMAKE_INSTALL_COMPONENT)
if(COMPONENT) if(COMPONENT)
message(STATUS "Install component: \"${COMPONENT}\"") message(STATUS "Install component: \"${COMPONENT}\"")
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
else() else()
set(CMAKE_INSTALL_COMPONENT) set(CMAKE_INSTALL_COMPONENT)
endif() endif()
endif() endif()
# Is this installation the result of a crosscompile? # Install shared libraries without execute permission?
if(NOT DEFINED CMAKE_CROSSCOMPILING) if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
set(CMAKE_CROSSCOMPILING "FALSE") set(CMAKE_INSTALL_SO_NO_EXE "1")
endif() endif()
if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlibrariesx" OR NOT CMAKE_INSTALL_COMPONENT) # Is this installation the result of a crosscompile?
file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "C:/Users/MassiveAtoms/Documents/C++/Parkmanne/thirdparty/SQLiteCpp/libSQLiteCpp.a") if(NOT DEFINED CMAKE_CROSSCOMPILING)
endif() set(CMAKE_CROSSCOMPILING "FALSE")
endif()
if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xheadersx" OR NOT CMAKE_INSTALL_COMPONENT)
file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include" TYPE DIRECTORY FILES "C:/Users/MassiveAtoms/Documents/C++/Parkmanne/thirdparty/SQLiteCpp/include/" FILES_MATCHING REGEX ".*\\.(hpp|h)$") if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlibrariesx" OR NOT CMAKE_INSTALL_COMPONENT)
endif() file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/home/pyrostefan/Documents/Parkmanne/Parkmanne/thirdparty/SQLiteCpp/libSQLiteCpp.a")
endif()
if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp/SQLiteCppConfig.cmake") if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xheadersx" OR NOT CMAKE_INSTALL_COMPONENT)
file(DIFFERENT EXPORT_FILE_CHANGED FILES file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include" TYPE DIRECTORY FILES "/home/pyrostefan/Documents/Parkmanne/Parkmanne/thirdparty/SQLiteCpp/include/" FILES_MATCHING REGEX ".*\\.(hpp|h)$")
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp/SQLiteCppConfig.cmake" endif()
"C:/Users/MassiveAtoms/Documents/C++/Parkmanne/thirdparty/SQLiteCpp/CMakeFiles/Export/lib/cmake/SQLiteCpp/SQLiteCppConfig.cmake")
if(EXPORT_FILE_CHANGED) if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
file(GLOB OLD_CONFIG_FILES "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp/SQLiteCppConfig-*.cmake") if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp/SQLiteCppConfig.cmake")
if(OLD_CONFIG_FILES) file(DIFFERENT EXPORT_FILE_CHANGED FILES
message(STATUS "Old export file \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp/SQLiteCppConfig.cmake\" will be replaced. Removing files [${OLD_CONFIG_FILES}].") "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp/SQLiteCppConfig.cmake"
file(REMOVE ${OLD_CONFIG_FILES}) "/home/pyrostefan/Documents/Parkmanne/Parkmanne/thirdparty/SQLiteCpp/CMakeFiles/Export/lib/cmake/SQLiteCpp/SQLiteCppConfig.cmake")
endif() if(EXPORT_FILE_CHANGED)
endif() file(GLOB OLD_CONFIG_FILES "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp/SQLiteCppConfig-*.cmake")
endif() if(OLD_CONFIG_FILES)
file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp" TYPE FILE FILES "C:/Users/MassiveAtoms/Documents/C++/Parkmanne/thirdparty/SQLiteCpp/CMakeFiles/Export/lib/cmake/SQLiteCpp/SQLiteCppConfig.cmake") message(STATUS "Old export file \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp/SQLiteCppConfig.cmake\" will be replaced. Removing files [${OLD_CONFIG_FILES}].")
if("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^()$") file(REMOVE ${OLD_CONFIG_FILES})
file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp" TYPE FILE FILES "C:/Users/MassiveAtoms/Documents/C++/Parkmanne/thirdparty/SQLiteCpp/CMakeFiles/Export/lib/cmake/SQLiteCpp/SQLiteCppConfig-noconfig.cmake") endif()
endif() endif()
endif() endif()
file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp" TYPE FILE FILES "/home/pyrostefan/Documents/Parkmanne/Parkmanne/thirdparty/SQLiteCpp/CMakeFiles/Export/lib/cmake/SQLiteCpp/SQLiteCppConfig.cmake")
if(NOT CMAKE_INSTALL_LOCAL_ONLY) if("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^()$")
# Include the install script for each subdirectory. file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/SQLiteCpp" TYPE FILE FILES "/home/pyrostefan/Documents/Parkmanne/Parkmanne/thirdparty/SQLiteCpp/CMakeFiles/Export/lib/cmake/SQLiteCpp/SQLiteCppConfig-noconfig.cmake")
include("C:/Users/MassiveAtoms/Documents/C++/Parkmanne/thirdparty/SQLiteCpp/sqlite3/cmake_install.cmake") endif()
endif()
endif()
if(NOT CMAKE_INSTALL_LOCAL_ONLY)
# Include the install script for each subdirectory.
include("/home/pyrostefan/Documents/Parkmanne/Parkmanne/thirdparty/SQLiteCpp/sqlite3/cmake_install.cmake")
endif()

View File

@ -1,229 +1,230 @@
# CMAKE generated file: DO NOT EDIT! # CMAKE generated file: DO NOT EDIT!
# Generated by "MinGW Makefiles" Generator, CMake Version 3.14 # Generated by "Unix Makefiles" Generator, CMake Version 3.10
# Default target executed when no arguments are given to make. # Default target executed when no arguments are given to make.
default_target: all default_target: all
.PHONY : default_target .PHONY : default_target
# Allow only one "make -f Makefile2" at a time, but pass parallelism. # Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL: .NOTPARALLEL:
#============================================================================= #=============================================================================
# Special targets provided by cmake. # Special targets provided by cmake.
# Disable implicit rules so canonical targets will work. # Disable implicit rules so canonical targets will work.
.SUFFIXES: .SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove. # Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES = SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list .SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands. # Suppress display of executed commands.
$(VERBOSE).SILENT: $(VERBOSE).SILENT:
# A target that is always out of date. # A target that is always out of date.
cmake_force: cmake_force:
.PHONY : cmake_force .PHONY : cmake_force
#============================================================================= #=============================================================================
# Set environment variables for the build. # Set environment variables for the build.
SHELL = cmd.exe # The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = C:\MSYS\mingw64\bin\cmake.exe # The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = C:\MSYS\mingw64\bin\cmake.exe -E remove -f # The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = = # Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = C:\Users\MassiveAtoms\Documents\C++\Parkmanne # The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/pyrostefan/Documents/Parkmanne/Parkmanne
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = C:\Users\MassiveAtoms\Documents\C++\Parkmanne # The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/pyrostefan/Documents/Parkmanne/Parkmanne
#=============================================================================
# Targets provided globally by CMake. #=============================================================================
# Targets provided globally by CMake.
# Special rule for the target install/strip
install/strip: preinstall # Special rule for the target install/strip
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." install/strip: preinstall
C:\MSYS\mingw64\bin\cmake.exe -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
.PHONY : install/strip /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
.PHONY : install/strip
# Special rule for the target install/strip
install/strip/fast: preinstall/fast # Special rule for the target install/strip
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." install/strip/fast: preinstall/fast
C:\MSYS\mingw64\bin\cmake.exe -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
.PHONY : install/strip/fast /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
.PHONY : install/strip/fast
# Special rule for the target edit_cache
edit_cache: # Special rule for the target edit_cache
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." edit_cache:
C:\MSYS\mingw64\bin\cmake-gui.exe -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
.PHONY : edit_cache /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache # Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
.PHONY : edit_cache/fast
# Special rule for the target rebuild_cache
rebuild_cache: # Special rule for the target rebuild_cache
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." rebuild_cache:
C:\MSYS\mingw64\bin\cmake.exe -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
.PHONY : rebuild_cache /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache # Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
.PHONY : rebuild_cache/fast
# Special rule for the target list_install_components
list_install_components: # Special rule for the target list_install_components
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"headers\" \"libraries\"" list_install_components:
.PHONY : list_install_components @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"headers\" \"libraries\""
.PHONY : list_install_components
# Special rule for the target list_install_components
list_install_components/fast: list_install_components # Special rule for the target list_install_components
list_install_components/fast: list_install_components
.PHONY : list_install_components/fast
.PHONY : list_install_components/fast
# Special rule for the target install/local
install/local: preinstall # Special rule for the target install/local
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." install/local: preinstall
C:\MSYS\mingw64\bin\cmake.exe -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
.PHONY : install/local /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
.PHONY : install/local
# Special rule for the target install/local
install/local/fast: preinstall/fast # Special rule for the target install/local
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." install/local/fast: preinstall/fast
C:\MSYS\mingw64\bin\cmake.exe -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
.PHONY : install/local/fast /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
.PHONY : install/local/fast
# Special rule for the target install
install: preinstall # Special rule for the target install
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." install: preinstall
C:\MSYS\mingw64\bin\cmake.exe -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
.PHONY : install /usr/bin/cmake -P cmake_install.cmake
.PHONY : install
# Special rule for the target install
install/fast: preinstall/fast # Special rule for the target install
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." install/fast: preinstall/fast
C:\MSYS\mingw64\bin\cmake.exe -P cmake_install.cmake @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
.PHONY : install/fast /usr/bin/cmake -P cmake_install.cmake
.PHONY : install/fast
# The main all target
all: cmake_check_build_system # The main all target
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\MassiveAtoms\Documents\C++\Parkmanne\CMakeFiles C:\Users\MassiveAtoms\Documents\C++\Parkmanne\thirdparty\SQLiteCpp\sqlite3\CMakeFiles\progress.marks all: cmake_check_build_system
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f CMakeFiles\Makefile2 thirdparty/SQLiteCpp/sqlite3/all cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(CMAKE_COMMAND) -E cmake_progress_start /home/pyrostefan/Documents/Parkmanne/Parkmanne/CMakeFiles /home/pyrostefan/Documents/Parkmanne/Parkmanne/thirdparty/SQLiteCpp/sqlite3/CMakeFiles/progress.marks
$(CMAKE_COMMAND) -E cmake_progress_start C:\Users\MassiveAtoms\Documents\C++\Parkmanne\CMakeFiles 0 cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f CMakeFiles/Makefile2 thirdparty/SQLiteCpp/sqlite3/all
.PHONY : all $(CMAKE_COMMAND) -E cmake_progress_start /home/pyrostefan/Documents/Parkmanne/Parkmanne/CMakeFiles 0
.PHONY : all
# The main clean target
clean: # The main clean target
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f CMakeFiles\Makefile2 thirdparty/SQLiteCpp/sqlite3/clean clean:
.PHONY : clean cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f CMakeFiles/Makefile2 thirdparty/SQLiteCpp/sqlite3/clean
.PHONY : clean
# The main clean target
clean/fast: clean # The main clean target
clean/fast: clean
.PHONY : clean/fast
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all # Prepare targets for installation.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f CMakeFiles\Makefile2 thirdparty/SQLiteCpp/sqlite3/preinstall preinstall: all
.PHONY : preinstall cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f CMakeFiles/Makefile2 thirdparty/SQLiteCpp/sqlite3/preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast: # Prepare targets for installation.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f CMakeFiles\Makefile2 thirdparty/SQLiteCpp/sqlite3/preinstall preinstall/fast:
.PHONY : preinstall/fast cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f CMakeFiles/Makefile2 thirdparty/SQLiteCpp/sqlite3/preinstall
.PHONY : preinstall/fast
# clear depends
depend: # clear depends
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 1 depend:
.PHONY : depend cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
# Convenience name for target.
thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/rule: # Convenience name for target.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f CMakeFiles\Makefile2 thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/rule thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/rule:
.PHONY : thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/rule cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f CMakeFiles/Makefile2 thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/rule
.PHONY : thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/rule
# Convenience name for target.
sqlite3: thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/rule # Convenience name for target.
sqlite3: thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/rule
.PHONY : sqlite3
.PHONY : sqlite3
# fast build rule for target.
sqlite3/fast: # fast build rule for target.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\sqlite3\CMakeFiles\sqlite3.dir\build.make thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build sqlite3/fast:
.PHONY : sqlite3/fast cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build.make thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build
.PHONY : sqlite3/fast
sqlite3.obj: sqlite3.c.obj
sqlite3.o: sqlite3.c.o
.PHONY : sqlite3.obj
.PHONY : sqlite3.o
# target to build an object file
sqlite3.c.obj: # target to build an object file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\sqlite3\CMakeFiles\sqlite3.dir\build.make thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/sqlite3.c.obj sqlite3.c.o:
.PHONY : sqlite3.c.obj cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build.make thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/sqlite3.c.o
.PHONY : sqlite3.c.o
sqlite3.i: sqlite3.c.i
sqlite3.i: sqlite3.c.i
.PHONY : sqlite3.i
.PHONY : sqlite3.i
# target to preprocess a source file
sqlite3.c.i: # target to preprocess a source file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\sqlite3\CMakeFiles\sqlite3.dir\build.make thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/sqlite3.c.i sqlite3.c.i:
.PHONY : sqlite3.c.i cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build.make thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/sqlite3.c.i
.PHONY : sqlite3.c.i
sqlite3.s: sqlite3.c.s
sqlite3.s: sqlite3.c.s
.PHONY : sqlite3.s
.PHONY : sqlite3.s
# target to generate assembly for a file
sqlite3.c.s: # target to generate assembly for a file
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(MAKE) -f thirdparty\SQLiteCpp\sqlite3\CMakeFiles\sqlite3.dir\build.make thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/sqlite3.c.s sqlite3.c.s:
.PHONY : sqlite3.c.s cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(MAKE) -f thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/build.make thirdparty/SQLiteCpp/sqlite3/CMakeFiles/sqlite3.dir/sqlite3.c.s
.PHONY : sqlite3.c.s
# Help Target
help: # Help Target
@echo The following are some of the valid targets for this Makefile: help:
@echo ... all (the default if no target is provided) @echo "The following are some of the valid targets for this Makefile:"
@echo ... clean @echo "... all (the default if no target is provided)"
@echo ... depend @echo "... clean"
@echo ... install/strip @echo "... depend"
@echo ... edit_cache @echo "... install/strip"
@echo ... sqlite3 @echo "... edit_cache"
@echo ... rebuild_cache @echo "... sqlite3"
@echo ... list_install_components @echo "... rebuild_cache"
@echo ... install/local @echo "... list_install_components"
@echo ... install @echo "... install/local"
@echo ... sqlite3.obj @echo "... install"
@echo ... sqlite3.i @echo "... sqlite3.o"
@echo ... sqlite3.s @echo "... sqlite3.i"
.PHONY : help @echo "... sqlite3.s"
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make. #=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles # Special rule to run CMake to check the build system integrity.
# because they might be regenerated. # No rule that depends on this can have commands that come from listfiles
cmake_check_build_system: # because they might be regenerated.
cd /d C:\Users\MassiveAtoms\Documents\C++\Parkmanne && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0 cmake_check_build_system:
.PHONY : cmake_check_build_system cd /home/pyrostefan/Documents/Parkmanne/Parkmanne && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

View File

@ -1,34 +1,39 @@
# Install script for directory: C:/Users/MassiveAtoms/Documents/C++/Parkmanne/thirdparty/SQLiteCpp/sqlite3 # Install script for directory: /home/pyrostefan/Documents/Parkmanne/Parkmanne/thirdparty/SQLiteCpp/sqlite3
# Set the install prefix # Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX) if(NOT DEFINED CMAKE_INSTALL_PREFIX)
set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/park") set(CMAKE_INSTALL_PREFIX "/usr/local")
endif() endif()
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
# Set the install configuration name. # Set the install configuration name.
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
if(BUILD_TYPE) if(BUILD_TYPE)
string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
else() else()
set(CMAKE_INSTALL_CONFIG_NAME "") set(CMAKE_INSTALL_CONFIG_NAME "")
endif() endif()
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
endif() endif()
# Set the component getting installed. # Set the component getting installed.
if(NOT CMAKE_INSTALL_COMPONENT) if(NOT CMAKE_INSTALL_COMPONENT)
if(COMPONENT) if(COMPONENT)
message(STATUS "Install component: \"${COMPONENT}\"") message(STATUS "Install component: \"${COMPONENT}\"")
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
else() else()
set(CMAKE_INSTALL_COMPONENT) set(CMAKE_INSTALL_COMPONENT)
endif() endif()
endif() endif()
# Is this installation the result of a crosscompile? # Install shared libraries without execute permission?
if(NOT DEFINED CMAKE_CROSSCOMPILING) if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
set(CMAKE_CROSSCOMPILING "FALSE") set(CMAKE_INSTALL_SO_NO_EXE "1")
endif() endif()
# Is this installation the result of a crosscompile?
if(NOT DEFINED CMAKE_CROSSCOMPILING)
set(CMAKE_CROSSCOMPILING "FALSE")
endif()