Compare commits
	
		
			29 Commits
		
	
	
		
			f41ccf5257
			...
			billing
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| ad188addfd | |||
|   | 61c27028bf | ||
| 9fcd1214c7 | |||
| 1c840a04f5 | |||
| 97dc792773 | |||
| 5b39b46ec8 | |||
| 79a6b9a1e0 | |||
|   | ef5ae9dac8 | ||
|   | 8c2cbb8a11 | ||
|   | a79081febf | ||
|   | 6706f6a58e | ||
| dafa1ab97a | |||
| cd2f723a04 | |||
| 0c06192f81 | |||
| 3eb00a0da9 | |||
| 1aa6a67ebc | |||
| 574092db34 | |||
| 95b54f54ea | |||
| ab5c685963 | |||
|   | 5e2b91fda6 | ||
|   | 312a27521c | ||
|   | 88b718105b | ||
| f5c18d27f3 | |||
|   | 3e594b946d | ||
|   | d3ac836657 | ||
|   | 70fcbc274b | ||
|   | 01eb2d50a5 | ||
|   | e3451369e6 | ||
|   | 99e509aa03 | 
| @@ -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 | ||||||
|   | |||||||
							
								
								
									
										104
									
								
								CMakeLists.txt
									
									
									
									
									
								
							
							
						
						
									
										104
									
								
								CMakeLists.txt
									
									
									
									
									
								
							| @@ -1,50 +1,54 @@ | |||||||
| cmake_minimum_required(VERSION 3.11) |  | ||||||
| project(park) |  | ||||||
|  | cmake_minimum_required(VERSION 3.10) | ||||||
| set(CMAKE_CXX_STANDARD 11) | project(park) | ||||||
| add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/thirdparty/SQLiteCpp) |  | ||||||
|  | set(CMAKE_CXX_STANDARD 11) | ||||||
| include_directories( | add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/thirdparty/SQLiteCpp) | ||||||
|         ${CMAKE_CURRENT_LIST_DIR}/thirdparty/SQLiteCpp/include |  | ||||||
| ) | include_directories( | ||||||
|  |         ${CMAKE_CURRENT_LIST_DIR}/thirdparty/SQLiteCpp/include | ||||||
|  | ) | ||||||
| add_executable(park |  | ||||||
|         main.cpp |  | ||||||
|  | add_executable(park | ||||||
|         data.cpp |         main.cpp | ||||||
|         headers/data.h |  | ||||||
|         encrypt.cpp |         data.cpp | ||||||
|         headers/encrypt.h |         headers/data.h | ||||||
|  |         encrypt.cpp | ||||||
|         Customer.cpp |         headers/encrypt.h | ||||||
|         headers/Customer.h  |  | ||||||
|         Park_spot.cpp |         Customer.cpp | ||||||
|         headers/Park_spot.h |         headers/Customer.h | ||||||
|         Park_time.cpp |         Park_spot.cpp | ||||||
|         headers/Park_time.h |         headers/Park_spot.h | ||||||
|         Query.cpp |         Park_time.cpp | ||||||
|         headers/Query.h |         headers/Park_time.h | ||||||
|  ) |         Query.cpp | ||||||
|  |         headers/Query.h | ||||||
|  |         Interface.cpp | ||||||
|  |         headers/Interface.h | ||||||
|  |     ) | ||||||
| if (UNIX) |  | ||||||
|         target_link_libraries(park |  | ||||||
|         SQLiteCpp |  | ||||||
|         sqlite3 |  | ||||||
|         pthread | if (UNIX) | ||||||
|         dl  |         target_link_libraries(park | ||||||
|         sodium |         SQLiteCpp | ||||||
|         ) |         sqlite3 | ||||||
| elseif (MSYS OR MINGW)  |         pthread | ||||||
|         target_link_libraries(park |         dl | ||||||
|         SQLiteCpp |         sodium | ||||||
|         sqlite3 |         ) | ||||||
|         pthread | elseif (MSYS OR MINGW) | ||||||
|         ssp  |         target_link_libraries(park | ||||||
|         libsodium |         SQLiteCpp | ||||||
|         ) |         sqlite3 | ||||||
| endif() |         pthread | ||||||
|  |         ssp | ||||||
|  |         libsodium | ||||||
|  |         ) | ||||||
|  | endif() | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										66
									
								
								Customer.cpp
									
									
									
									
									
								
							
							
						
						
									
										66
									
								
								Customer.cpp
									
									
									
									
									
								
							| @@ -1,20 +1,25 @@ | |||||||
| #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_, int role_) | ||||||
|     : 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_}, | ||||||
|  |       role{role_} { | ||||||
|     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 +36,34 @@ 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(43, to_string(role)); | ||||||
|  |     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 +71,15 @@ 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 = '', role = '' where id = '';"; | ||||||
|     statement.insert(44, password); |     statement.insert(98, to_string(id)); | ||||||
|  |     statement.insert(84, to_string(role)); | ||||||
|  |     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 +99,3 @@ int Customer::auto_increment_db() { | |||||||
|     max_id.reset(); |     max_id.reset(); | ||||||
|     return id; |     return id; | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										371
									
								
								Interface.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										371
									
								
								Interface.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,371 @@ | |||||||
|  | #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 | ||||||
|  |  | ||||||
|  | bool verify(void); | ||||||
|  |  | ||||||
|  | void interface(vector<Park_spot>& spots) { | ||||||
|  |     /* | ||||||
|  |     string introduction = "P A R K M A N N E"; //logo animation, disable during testing | ||||||
|  |     text_animation(introduction, 50); | ||||||
|  |     */ | ||||||
|  |    __label__ exit; | ||||||
|  |     cout << "\nWelcome to the parking system. Please login..."; | ||||||
|  |     int id; | ||||||
|  |     string password; | ||||||
|  |     cout << "\nEnter your id: "; | ||||||
|  |     cin >> id; | ||||||
|  |     cin.ignore(10000, '\n'); | ||||||
|  |     Customer c = query_customer_with_id(id); | ||||||
|  |     cout << "\nEnter your password: "; | ||||||
|  |     std::getline(cin, password); | ||||||
|  |      | ||||||
|  |     while (!(verify_password(c.password, password))) { | ||||||
|  |         cout << "ERROR: wrong password. Please retype your password or type [x] to exit:\n"; | ||||||
|  |         std::getline(cin, password); | ||||||
|  |         if(password=="x")goto exit; | ||||||
|  |     } | ||||||
|  |     if (query_role_customer(id) == 1) { | ||||||
|  |         interface_admin(spots); | ||||||
|  |     } else if (query_role_customer(id) == 0) { | ||||||
|  |         interface_member(spots, c); | ||||||
|  |     } else { | ||||||
|  |         cout << "ERROR ROLE_INVALID!"; | ||||||
|  |     } | ||||||
|  |     exit:; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void interface_member(vector<Park_spot>& spots, Customer& c) { | ||||||
|  |     __label__ begin, exit; | ||||||
|  |     cout << "\nLogged in succesfully!\n"; | ||||||
|  |      | ||||||
|  |     begin: | ||||||
|  |     cout <<"Hello! "<<c.name<< ", please select an option:\n[1]Parking\n[2]Monthly report\n" | ||||||
|  |     "[3]Edit information\n[4]Exit\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; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     case 3: { | ||||||
|  |         cout << "Has not been implemented yet\n"; | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     case 4: { | ||||||
|  |         cout << "Exiting...\n"; | ||||||
|  |         goto exit; | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     default: | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  |     goto begin; | ||||||
|  |     exit:; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void interface_admin(vector<Park_spot>& spots) { | ||||||
|  |     __label__ begin,exit; | ||||||
|  |     begin: | ||||||
|  |     cout << "\nWelcome to the admin interface\n"; | ||||||
|  |     cout << "\n[1] Reports & analytics"; | ||||||
|  |     cout << "\n[2] Parking spots"; | ||||||
|  |     cout << "\n[3] Make new user"; | ||||||
|  |     cout << "\n[4] Exit"; | ||||||
|  |     cout << "\nEnter option number: "; | ||||||
|  |     int option; | ||||||
|  |     cin >> option; | ||||||
|  |     cin.ignore(10000, '\n'); | ||||||
|  |     switch (option) { | ||||||
|  |     case 1: { | ||||||
|  |         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] Return\n"; | ||||||
|  |         cout << "Enter option number: "; | ||||||
|  |         int option_1; | ||||||
|  |         cin >> option_1; | ||||||
|  |         cin.ignore(10000, '\n'); | ||||||
|  |         switch (option_1) { | ||||||
|  |         case 1: { | ||||||
|  |             report_all_spots(); | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         case 2: { | ||||||
|  |             report_all_spots(true); | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         case 3: { | ||||||
|  |             report_single_spot(); | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         case 4: { | ||||||
|  |             report_single_spot(true); | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         case 5:{ | ||||||
|  |             goto begin; | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         break; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     case 2: { | ||||||
|  |         cout << "[1] See current status of parking spots\n"; | ||||||
|  |         cout << "[2] Make new parking spot\n"; | ||||||
|  |         cout << "[3] Return\n"; | ||||||
|  |         cout << "Enter option number: "; | ||||||
|  |         int option_2; | ||||||
|  |         cin >> option_2; | ||||||
|  |         cin.ignore(10000, '\n'); | ||||||
|  |         switch (option_2) { | ||||||
|  |         case 1: { | ||||||
|  |             current_status_parkspots(spots); | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         case 2: { | ||||||
|  |             new_parkspot(spots); | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         case 3:{ | ||||||
|  |             goto begin; | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         default: | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  |     case 3: { | ||||||
|  |         cout << "[1] Make new customer\n"; | ||||||
|  |         cout << "[2] Make new admin\n"; | ||||||
|  |         cout << "[3] Return\n"; | ||||||
|  |         cout << "Enter option number: "; | ||||||
|  |         int option_3; | ||||||
|  |         cin >> option_3; | ||||||
|  |         cin.ignore(10000, '\n'); | ||||||
|  |         switch (option_3) { | ||||||
|  |         case 1: { | ||||||
|  |             new_customer(); | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         case 2: { | ||||||
|  |             new_admin(); | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         case 3:{ | ||||||
|  |             goto begin; | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         default: | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         case 4: {goto exit;break;} | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     default: | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  |     goto begin; | ||||||
|  |     exit:; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // --------- individual things. | ||||||
|  |  | ||||||
|  | void park(Customer& c, vector<Park_spot>& spots) { | ||||||
|  |     __label__ exit; | ||||||
|  |     cout << "You have selected parking option.\n"; | ||||||
|  |     if (!(c.parked())) { | ||||||
|  |         cout << "The following spots fit your vehicle and are available: \n"; | ||||||
|  |         for (Park_spot i : spots) { | ||||||
|  |             if ((i.v_type == c.vehicle)&(i.taken==false)) { | ||||||
|  |                 cout << i.id << ", "; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         cout << "\nWhere do you want to park? Or type [0] to exit."; | ||||||
|  |         int parkID; | ||||||
|  |         cin >> parkID; | ||||||
|  |         if (!parkID)goto exit; | ||||||
|  |         cin.ignore(10000, '\n'); | ||||||
|  |         for (Park_spot& i : spots) { | ||||||
|  |             if (i.id == parkID) { | ||||||
|  |                 if (verify()) | ||||||
|  |                 { | ||||||
|  |                 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[1] Yes\n[2] 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."; // exit to customer login | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     exit:; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void new_customer() { | ||||||
|  |     int vtype; | ||||||
|  |     string name; | ||||||
|  |     string password; | ||||||
|  |     string telephone; | ||||||
|  |     int role = 0; | ||||||
|  |     cout << "\nWhat's the name of the customer? "; | ||||||
|  |     std::getline(cin, name); | ||||||
|  |     cout << "\nWhat's the vehicle type? \n[1]Twowheeler\n[2] Fourwheeler\n"; | ||||||
|  |     cin >> vtype; | ||||||
|  |     cin.ignore(10000, '\n'); | ||||||
|  |     cout << "What's the telephone number? +"; | ||||||
|  |     std::getline(cin, telephone); | ||||||
|  |     cout << "\nWhat's the password? "; | ||||||
|  |     std::getline(cin, password); | ||||||
|  |     Customer newcustomer{name, password, Vehicle_type(vtype), telephone, role}; | ||||||
|  |     cout << "\nNew customer sucessfully created\n"; | ||||||
|  |     if (verify())newcustomer.update_db(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void new_admin() { | ||||||
|  |     int vtype = 2; // revision required! Needs to be set to NULL | ||||||
|  |     string name; | ||||||
|  |     string password; | ||||||
|  |     string telephone; | ||||||
|  |     int role = 1; | ||||||
|  |     cout << "\nWhat's the name of the admin? "; | ||||||
|  |     std::getline(cin, name); | ||||||
|  |     cout << "\nWhat's the telephone number? +"; | ||||||
|  |     std::getline(cin, telephone); | ||||||
|  |     cout << "\nWhat's the password?"; | ||||||
|  |     std::getline(cin, password); | ||||||
|  |     Customer newcustomer{name, password, Vehicle_type(vtype), telephone, role}; | ||||||
|  |     cout << "\nNew customer sucessfully created\n"; | ||||||
|  |     if(verify())newcustomer.update_db(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void new_parkspot(vector<Park_spot>& spots) { | ||||||
|  |     cout << "What type of parking spot? \n[1] Twowheeler\n[2] Fourwheeler\n"; | ||||||
|  |     int vtype; | ||||||
|  |     cin >> vtype; | ||||||
|  |     cin.ignore(10000, '\n'); | ||||||
|  |     Park_spot newspot{Vehicle_type(vtype)}; | ||||||
|  |     if(verify()){spots.push_back(newspot); | ||||||
|  |     cout << "New parking spot sucessfully created.\n";} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // time stuff----------------------------------------------------- | ||||||
|  |  | ||||||
|  | pair<int, int> create_month_period() { | ||||||
|  |     std::time_t t = std::time(0); | ||||||
|  |     std::tm* date = std::localtime(&t); | ||||||
|  |     int month, year = 0; | ||||||
|  |     cout << "Which month do you want a report on?[6 2018 for June 2018]\n"; | ||||||
|  |     cin >> month >> year; | ||||||
|  |     date->tm_year = year - 1900; | ||||||
|  |     date->tm_mday = 1; | ||||||
|  |     date->tm_mon = month - 1; | ||||||
|  |     pair<int, int> period; | ||||||
|  |     period.first = mktime(date); | ||||||
|  |     date->tm_mon = month; | ||||||
|  |     period.second = mktime(date); | ||||||
|  |     return period; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | pair<int, int> create_week_period() { | ||||||
|  |     std::time_t t = std::time(0); | ||||||
|  |     std::tm* date = std::localtime(&t); | ||||||
|  |     int day, month, year = 0; | ||||||
|  |     cout << "Which month do you want a report on?[ 20 6 2018 for June 20th, 2018]\n"; | ||||||
|  |     cin >> day >> month >> year; | ||||||
|  |     date->tm_year = year - 1900; | ||||||
|  |     date->tm_mday = day; | ||||||
|  |     date->tm_mon = month - 1; | ||||||
|  |     date->tm_hour = 0; | ||||||
|  |     date->tm_min = 0; | ||||||
|  |     pair<int, int> period; | ||||||
|  |     period.first = mktime(date); | ||||||
|  |     period.second = period.first + 604800; // plus 7 days in seconds. | ||||||
|  |     return period; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // ------------------------------ report stuff | ||||||
|  |  | ||||||
|  | void report_all_spots(bool weekly) { | ||||||
|  |     pair<int, int> period; | ||||||
|  |     if (weekly) { | ||||||
|  |         period = create_week_period(); // remove the pair<int, int> | ||||||
|  |     } else { | ||||||
|  |         period = create_month_period(); // ^ | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     cout << "working timeperiods: " << period.first << ", " << period.second; // DEBUG | ||||||
|  |  | ||||||
|  |     reports_from_allparkspots(period); // TODO: namechange of reports_from_allparkspots in  query? | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void report_single_spot(bool weekly) { | ||||||
|  |     cout << "Which parking spot would you like a report on?\n"; | ||||||
|  |     cout << "Parking spot ID: "; | ||||||
|  |     int spotID; | ||||||
|  |     cin >> spotID; | ||||||
|  |     cin.ignore(10000, '\n'); | ||||||
|  |     pair<int, int> period; | ||||||
|  |     if (weekly) { | ||||||
|  |         period = create_week_period(); // remove the pair<int, int> | ||||||
|  |     } else { | ||||||
|  |          period = create_month_period(); | ||||||
|  |     } | ||||||
|  |     reports_from_parkspot(spotID, period); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void report_customer(int customerID, bool weekly) { | ||||||
|  |     // use report_customer(0) to make interactive | ||||||
|  |     // so admin can call the interactive version, but customer can only call | ||||||
|  |     // report_customer(own_cid) | ||||||
|  |     if (!customerID) { | ||||||
|  |         cout << "What customer do you want a report on? ID: "; | ||||||
|  |         cin >> customerID; | ||||||
|  |     } | ||||||
|  |     pair<int, int> period; | ||||||
|  |     if (weekly) { | ||||||
|  |         pair<int, int> period = create_week_period(); | ||||||
|  |     } else { | ||||||
|  |         pair<int, int> period = create_month_period(); | ||||||
|  |     } | ||||||
|  |     reports_from_customer(customerID, period); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | bool verify(void) | ||||||
|  | { | ||||||
|  | string ver; | ||||||
|  | std::cout<<"\nAre you sure you want to commit these actions?" | ||||||
|  | 	"\n[No] Revert." | ||||||
|  | 	"\n[Yes] Commit."; | ||||||
|  | std::cin>>ver; | ||||||
|  | if (ver=="YES"|ver=="Yes"|ver=="yes") return true; | ||||||
|  | else return false; | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -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)); | ||||||
|   | |||||||
| @@ -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,26 @@ 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}); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // text animtion duh | ||||||
|  | void text_animation(const string& text, unsigned int pause_time) { | ||||||
|  |     for (const char m : text) // range loop; for each character in string | ||||||
|  |     { | ||||||
|  |         cout << m << flush; | ||||||
|  |         sleep_for(milliseconds(pause_time)); | ||||||
|  |     } | ||||||
|  | } | ||||||
|   | |||||||
							
								
								
									
										140
									
								
								Query.cpp
									
									
									
									
									
								
							
							
						
						
									
										140
									
								
								Query.cpp
									
									
									
									
									
								
							| @@ -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,45 +61,109 @@ 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 |  | ||||||
|         // cout << "{" << result.id << "," <<result.password <<"," << int(verhicle) << "}\n"; |  | ||||||
|         return result; |         return result; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | int query_role_customer(int id) { | ||||||
|  |     SQLite::Statement query(data::db, "SELECT * FROM Customer WHERE id = ?;"); | ||||||
|  |     query.bind(1, id); | ||||||
|  |     while (query.executeStep()) { | ||||||
|  |         int role = query.getColumn(5); | ||||||
|  |         return role; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
| // -------------- paroking spots | //------------------------------- parkspot info | ||||||
|  |  | ||||||
| // vector<Park_spot>  query_all_parking_spots() { | // -- parkspots info, report gen | ||||||
| //     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; |  | ||||||
| // } |  | ||||||
|  |  | ||||||
|  | Park_spot query_parkspot_with_id(int id, vector<Park_spot>& parkspots) { | ||||||
|  |     for (Park_spot& i : parkspots) { | ||||||
|  |         if (i.id == id) { | ||||||
|  |             return i; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void reports_from_parkspot(int spotid, pair<int, int> period) { | ||||||
| vector<Park_spot> populate_spots(){ |     vector<Park_time> park_times; | ||||||
|         vector<Park_spot> spots; |     SQLite::Statement query(data::db, | ||||||
|     SQLite::Statement query(data::db, "SELECT * FROM Park_spot WHERE id > 0;"); |                             "SELECT * FROM Park_time WHERE spot_id = ? AND start > ? AND end < ?;"); | ||||||
|     // query.bind(1, 2); |     query.bind(1, spotid); | ||||||
|  |     query.bind(2, period.first); | ||||||
|  |     query.bind(3, period.second); | ||||||
|     while (query.executeStep()) { |     while (query.executeStep()) { | ||||||
|         int id = query.getColumn(0); |         int id = query.getColumn(0); | ||||||
|         int taken = query.getColumn(1); |         int cid = query.getColumn(1); | ||||||
|         int cid = query.getColumn(2); |         int start = query.getColumn(3); | ||||||
|         // park_customers.push_back(query_customer_with_id(cid)); |         int duration = query.getColumn(5); | ||||||
|         spots.push_back({id, taken, cid}); |         Park_time result{id, cid, spotid, start, duration}; | ||||||
|  |         park_times.push_back(result); | ||||||
|     } |     } | ||||||
|     return spots; |     query.reset(); | ||||||
|  |  | ||||||
|  |     for (auto i : park_times) { | ||||||
|  |         cout << i; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void reports_from_allparkspots(pair<int, int> period) { | ||||||
|  |     vector<Park_time> park_times; | ||||||
|  |     SQLite::Statement query(data::db, "SELECT * FROM Park_time WHERE start > ? AND end < ?;"); | ||||||
|  |     query.bind(1, period.first); | ||||||
|  |     query.bind(2, period.second); | ||||||
|  |  | ||||||
|  |     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"; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | vector<Park_time> reports_from_customer(int cid, pair<int, int> period) { | ||||||
|  |     vector<Park_time> park_times; | ||||||
|  |     SQLite::Statement query( | ||||||
|  |         data::db, "SELECT * FROM Park_time WHERE customer_id = ? AND start > ? AND end < ?;"); | ||||||
|  |     query.bind(1, cid); | ||||||
|  |     query.bind(2, period.first); | ||||||
|  |     query.bind(3, period.second); | ||||||
|  |     while (query.executeStep()) { | ||||||
|  |         int id = query.getColumn(0); | ||||||
|  |         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; | ||||||
|  |     } | ||||||
|  |     return park_times; | ||||||
| } | } | ||||||
							
								
								
									
										19
									
								
								data.cpp
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								data.cpp
									
									
									
									
									
								
							| @@ -3,18 +3,27 @@ | |||||||
| 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. And since this definitely needs to be run at least once, why | ||||||
|  |         not include it here? you can't (well, shouldn't be able to) login into anything if this | ||||||
|  |         doesn't run, since you need to compare passwords to login | ||||||
|  |          */ | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     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)"); | ||||||
|   | |||||||
							
								
								
									
										20
									
								
								encrypt.cpp
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								encrypt.cpp
									
									
									
									
									
								
							| @@ -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; | ||||||
|   | |||||||
| @@ -9,42 +9,53 @@ | |||||||
|  |  | ||||||
| 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_, |     int role; | ||||||
|              Verhicle_type verhicle_, // TODO: how init. p_time instances? |     Customer(string name_, string password_, Vehicle_type vehicle_, string telephone_, int role); | ||||||
|              vector<Park_time> instances); |     Customer(int id_, string name_, string password_, Vehicle_type vehicle_, | ||||||
|  |              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 | ||||||
							
								
								
									
										19
									
								
								headers/Interface.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								headers/Interface.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | #include "Query.h" | ||||||
|  |  | ||||||
|  | using std::cin; | ||||||
|  |  | ||||||
|  | void interface(vector<Park_spot>& spots); | ||||||
|  | void interface_member(vector<Park_spot>& spots, Customer& c); | ||||||
|  | void interface_admin(vector<Park_spot>& spots); | ||||||
|  | void park(Customer& c, vector<Park_spot>& spots); | ||||||
|  | void new_customer(); | ||||||
|  | void new_admin(); | ||||||
|  | void new_parkspot(vector<Park_spot>& spots); | ||||||
|  |  | ||||||
|  | // time creation | ||||||
|  | pair<int, int> create_month_period(); | ||||||
|  | pair<int, int> create_week_period(); | ||||||
|  |  | ||||||
|  | // report stuff | ||||||
|  | void report_single_spot(bool weekly = false); | ||||||
|  | void report_all_spots(bool weekly = false); | ||||||
| @@ -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: | ||||||
|   | |||||||
| @@ -8,22 +8,48 @@ | |||||||
| #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; | ||||||
|  | using std::flush; | ||||||
| using std::string; | using std::string; | ||||||
| using std::to_string; | using std::to_string; | ||||||
|  | using std::chrono::milliseconds; | ||||||
|  | using std::this_thread::sleep_for; | ||||||
| /* | /* | ||||||
|  |  | ||||||
|  |  | ||||||
| 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 +67,10 @@ class Park_time { | |||||||
|     int start_to_int();      // helper |     int start_to_int();      // helper | ||||||
| }; | }; | ||||||
|  |  | ||||||
| #endif // Park_time | // test function | ||||||
|  | void Wait(int sec); | ||||||
|  |  | ||||||
|  | // function that slowly outputs each character one by one | ||||||
|  | void text_animation(const string& text, unsigned int pause_time); | ||||||
|  |  | ||||||
|  | #endif // Park_time | ||||||
|   | |||||||
| @@ -3,18 +3,66 @@ | |||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #include "Park_spot.h" | #include "Park_spot.h" | ||||||
|  | using std::pair; | ||||||
|  |  | ||||||
| #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); | ||||||
|  | Park_spot query_parkspot_with_id(int id, vector<Park_spot>& parkspots); | ||||||
|  | int query_role_customer(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(); | vector<Park_spot> populate_spots(); | ||||||
|  |  | ||||||
|  | void reports_from_parkspot(int spotid, pair<int, int> period); | ||||||
|  | void reports_from_allparkspots(pair<int, int> period); | ||||||
|  | void current_status_parkspots(vector<Park_spot>& spots); | ||||||
|  | vector<Park_time> reports_from_customer(int cid, pair<int, int> period); | ||||||
|  |  | ||||||
|  | #endif // CUSTOMER_H | ||||||
|  |  | ||||||
| #endif // CUSTOMER_H |  | ||||||
|   | |||||||
| @@ -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 | ||||||
|   | |||||||
| @@ -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); | ||||||
|   | |||||||
							
								
								
									
										110
									
								
								main.cpp
									
									
									
									
									
								
							
							
						
						
									
										110
									
								
								main.cpp
									
									
									
									
									
								
							| @@ -1,65 +1,71 @@ | |||||||
| #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}); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| static vector<Park_spot> parking_spots = populate_spots(); // to save the parking spots in memory |  | ||||||
| static vector<Customer> park_customers; // save the customers that are parked in here |  | ||||||
|  |  | ||||||
| int main() { | int main() { | ||||||
|     Customer sagar = query_customer_with_name("stefan udit")[0]; |      | ||||||
|     Customer sagar1 = query_customer_with_id(2); |     while (true) {interface(parking_spots); }          | ||||||
|     cout << sagar.id << "," << sagar.name << "," << sagar.password<< "\n"; |          | ||||||
|     cout << sagar1.id << "," << sagar1.name << "," << sagar1.password; |  | ||||||
|     cout << parking_spots.size(); |  | ||||||
|  |  | ||||||
|     for (auto i : parking_spots){ |  | ||||||
|         cout << "\n" << i.id << "," << i.parked_customer; |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     populate_spots(); |  | ||||||
|  |  | ||||||
|  | /* | ||||||
|  | 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; | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| // 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; |  | ||||||
| // } |  | ||||||
							
								
								
									
										5
									
								
								newParkManne.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								newParkManne.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | #include <iostream> | ||||||
|  |  | ||||||
|  | void say_hello(){ | ||||||
|  |     std::cout << "Hello, from newParkManne!\n"; | ||||||
|  | } | ||||||
							
								
								
									
										
											BIN
										
									
								
								old_test.db3
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								old_test.db3
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										29
									
								
								readme.md
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								readme.md
									
									
									
									
									
								
							| @@ -11,4 +11,31 @@ 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.  |  | ||||||
|  | ######TO-DO List: | ||||||
|  | - [x] Admin login | ||||||
|  | - [ ] Billing report menu | ||||||
|  | - [ ] Report from a specific month i.e. january | ||||||
|  | - [ ] Edit option in menu | ||||||
|  | - [ ] Option to confirm edit after input | ||||||
|  | - [ ] Divide menu in sub menus | ||||||
|  | - [ ] Analytics of customer (e.g. # customers with 2-wheeler or list of customer and telephone numbers etc.) | ||||||
|  |  | ||||||
|  | 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: | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										791
									
								
								thirdparty/SQLiteCpp/Makefile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										791
									
								
								thirdparty/SQLiteCpp/Makefile
									
									
									
									
										vendored
									
									
								
							| @@ -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 | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										139
									
								
								thirdparty/SQLiteCpp/cmake_install.cmake
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										139
									
								
								thirdparty/SQLiteCpp/cmake_install.cmake
									
									
									
									
										vendored
									
									
								
							| @@ -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() | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										459
									
								
								thirdparty/SQLiteCpp/sqlite3/Makefile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										459
									
								
								thirdparty/SQLiteCpp/sqlite3/Makefile
									
									
									
									
										vendored
									
									
								
							| @@ -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 | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										73
									
								
								thirdparty/SQLiteCpp/sqlite3/cmake_install.cmake
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										73
									
								
								thirdparty/SQLiteCpp/sqlite3/cmake_install.cmake
									
									
									
									
										vendored
									
									
								
							| @@ -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() | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user