Compare commits

...

3 Commits

4 changed files with 48 additions and 17 deletions

View File

@ -14,6 +14,17 @@ execute_process(
OUTPUT_VARIABLE GIT_COMMIT_MSG OUTPUT_VARIABLE GIT_COMMIT_MSG
OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(
COMMAND git log -1 --pretty=%cD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT_DATE
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(
COMMAND git log -1 --pretty="%cN <%ce>"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT_AUTHOR
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
find_package(SDL2 REQUIRED) find_package(SDL2 REQUIRED)
@ -30,8 +41,13 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE
"-DGIT_COMMIT_HASH=\"${GIT_COMMIT_HASH}\"") "-DGIT_COMMIT_HASH=\"${GIT_COMMIT_HASH}\"")
string(REPLACE "\n" "\\n" GIT_COMMIT_MSG "${GIT_COMMIT_MSG}") string(REPLACE "\n" "\\n" GIT_COMMIT_MSG "${GIT_COMMIT_MSG}")
string(REPLACE "\"" "" GIT_COMMIT_AUTHOR "${GIT_COMMIT_AUTHOR}")
target_compile_definitions(${PROJECT_NAME} PRIVATE target_compile_definitions(${PROJECT_NAME} PRIVATE
"-DGIT_COMMIT_MSG=\"${GIT_COMMIT_MSG}\"") "-DGIT_COMMIT_MSG=\"${GIT_COMMIT_MSG}\"")
target_compile_definitions(${PROJECT_NAME} PRIVATE "-DGIT_COMMIT_DATE=\"${GIT_COMMIT_DATE}\"")
target_compile_definitions(${PROJECT_NAME} PRIVATE "-DGIT_COMMIT_AUTHOR=\"${GIT_COMMIT_AUTHOR}\"")
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)

@ -1 +1 @@
Subproject commit 2e4e5bff3d5170ec0fc14e265c66660edc9eca83 Subproject commit c5a1cda97599296205dadb724fda79d0577494f3

View File

@ -69,7 +69,10 @@ static int show_help() {
} }
int buildinfo() { int buildinfo() {
std::cout << "CeeV build " << bright_cyan(bold(GIT_COMMIT_HASH)) << "\n\n"; std::cout << "CeeV build " << bright_cyan(bold(GIT_COMMIT_HASH)) << "\n";
std::cout << "Commit date: " << bright_cyan(bold(GIT_COMMIT_DATE)) << "\n";
std::cout << "Commited by: " << bright_cyan(bold(GIT_COMMIT_AUTHOR))
<< "\n\n";
std::cout << "Commit message:\n"; std::cout << "Commit message:\n";
std::cout << bright_cyan(bold(GIT_COMMIT_MSG)) << std::endl; std::cout << bright_cyan(bold(GIT_COMMIT_MSG)) << std::endl;
return 0; return 0;
@ -213,10 +216,8 @@ int devel(std::deque<std::string> args) {
return devel_roadmap(); return devel_roadmap();
if (a1 == "sdl2") if (a1 == "sdl2")
return devel_sdl2(args); return devel_sdl2(args);
if (a1 == "lang") { if (a1 == "lang")
std::cerr << "Not implemented" << std::endl; return devel_lang(args);
return 1;
}
std::string kw; std::string kw;
if (a1.substr(0, 2) == "--") { if (a1.substr(0, 2) == "--") {
@ -262,17 +263,12 @@ int devel_help() {
int devel_roadmap() { int devel_roadmap() {
std::cout << "CeeV roadmap:\n"; std::cout << "CeeV roadmap:\n";
std::cout << "*" << bg_bright_green("INPROG") std::cout << "* " << HALTED << ":\tGet a working SDL prototype.\n";
<< ":\tGet a working SDL prototype.\n"; std::cout << "* " << INPROG << ":\tMake a language parser.\n";
std::cout << "*" << bg_yellow(green("TODO")) std::cout << "* " << TODO << " :\tMake a language compiler.\n";
<< " :\tMake a language parser.\n"; std::cout << "* " << TODO << " :\tTest the language.\n";
std::cout << "*" << bg_yellow(green("TODO")) std::cout << "* " << STATUS << ":\t";
<< " :\tMake a language compiler.\n"; std::cout << "The beginning work on the language has begun." << std::endl;
std::cout << "*" << bg_yellow(green("TODO")) << " :\tTest the language.\n";
std::cout << "*" << bg_green(bold("STATUS")) << ": ";
std::cout << "SDL is currently blocking, the rest depends on SDL to be in a "
"prototype stage, at least."
<< std::endl;
return 0; return 0;
} }
int devel_sdl2(std::deque<std::string> args) { int devel_sdl2(std::deque<std::string> args) {
@ -330,6 +326,11 @@ int devel_sdl2(std::deque<std::string> args) {
return 0; return 0;
} }
int devel_lang(std::deque<std::string> args) {
std::cerr << "Not implemented yet" << std::endl;
return 1;
}
int main(int argc, char **argv) { int main(int argc, char **argv) {
if (argc <= 1) { if (argc <= 1) {
return usage(); return usage();

View File

@ -27,6 +27,14 @@
#define GIT_COMMIT_MSG "Unknown" #define GIT_COMMIT_MSG "Unknown"
#endif #endif
#ifndef GIT_COMMIT_DATE
#define GIT_COMMIT_DATE "Unknown"
#endif
#ifndef GIT_COMMIT_AUTHOR
#define GIT_COMMIT_AUTHOR "Unknown"
#endif
#undef GET_PROGRAM_NAME #undef GET_PROGRAM_NAME
#ifdef __GLIBC__ #ifdef __GLIBC__
#define GET_PROGRAM_NAME() program_invocation_short_name #define GET_PROGRAM_NAME() program_invocation_short_name
@ -34,6 +42,11 @@
#define GET_PROGRAM_NAME() getprogname() #define GET_PROGRAM_NAME() getprogname()
#endif #endif
#define INPROG bg_bright_green("INPROG")
#define TODO bg_yellow(green("TODO"))
#define HALTED bg_red(white("HALTED"))
#define STATUS bg_green(bold("STATUS"))
namespace fs = std::filesystem; namespace fs = std::filesystem;
struct config_data { struct config_data {
@ -55,4 +68,5 @@ int devel(std::deque<std::string> args);
int devel_help(); int devel_help();
int devel_roadmap(); int devel_roadmap();
int devel_sdl2(std::deque<std::string> args); int devel_sdl2(std::deque<std::string> args);
int devel_lang(std::deque<std::string> args);
int main(int argc, char **argv); int main(int argc, char **argv);