fix: versioning
This commit is contained in:
parent
4d28033073
commit
486b45c680
3 changed files with 18 additions and 7 deletions
|
@ -1,6 +1,6 @@
|
||||||
cmake_minimum_required (VERSION 3.7)
|
cmake_minimum_required (VERSION 3.7)
|
||||||
project(core
|
project(core
|
||||||
VERSION 0.1.0
|
VERSION 0.1.1
|
||||||
LANGUAGES C)
|
LANGUAGES C)
|
||||||
|
|
||||||
add_executable(core src/main.c)
|
add_executable(core src/main.c)
|
||||||
|
@ -10,7 +10,6 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wpedantic -Werror -Wall -Wextra
|
||||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -fprofile-arcs -ftest-coverage")
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -fprofile-arcs -ftest-coverage")
|
||||||
|
|
||||||
add_definitions("-DMG_ENABLE_EXTRA_ERRORS_DESC")
|
add_definitions("-DMG_ENABLE_EXTRA_ERRORS_DESC")
|
||||||
add_definitions("-DEMGAUWA_CORE_VERSION=${CMAKE_PROJECT_VERSION}")
|
|
||||||
|
|
||||||
aux_source_directory(src/ SRC_DIR)
|
aux_source_directory(src/ SRC_DIR)
|
||||||
aux_source_directory(src/models MODELS_SRC)
|
aux_source_directory(src/models MODELS_SRC)
|
||||||
|
@ -21,10 +20,12 @@ aux_source_directory(src/endpoints ENDPOINTS_SRC)
|
||||||
add_dependencies(core migrations)
|
add_dependencies(core migrations)
|
||||||
|
|
||||||
configure_file("core.ini" "core.ini" COPYONLY)
|
configure_file("core.ini" "core.ini" COPYONLY)
|
||||||
|
configure_file("version.h.in" "version.h" @ONLY)
|
||||||
|
|
||||||
|
|
||||||
target_sources(core PRIVATE ${SRC_DIR} ${HANDLERS_SRC} ${HELPERS_SRC} ${MODELS_SRC} ${ENDPOINTS_SRC})
|
target_sources(core PRIVATE ${SRC_DIR} ${HANDLERS_SRC} ${HELPERS_SRC} ${MODELS_SRC} ${ENDPOINTS_SRC})
|
||||||
target_include_directories(core PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
target_include_directories(core PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||||
target_include_directories(core PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/vendor)
|
target_include_directories(core PRIVATE ${CMAKE_BINARY_DIR})
|
||||||
|
|
||||||
add_custom_target(migrations
|
add_custom_target(migrations
|
||||||
COMMAND ./compile_migrations.sh
|
COMMAND ./compile_migrations.sh
|
||||||
|
@ -34,17 +35,17 @@ add_custom_target(migrations
|
||||||
add_custom_target(run
|
add_custom_target(run
|
||||||
COMMAND ./core start
|
COMMAND ./core start
|
||||||
DEPENDS core
|
DEPENDS core
|
||||||
WORKING_DIRECTORY ${CMAKE_PROJECT_DIR}
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
)
|
)
|
||||||
add_custom_target(debug
|
add_custom_target(debug
|
||||||
COMMAND valgrind ./core start
|
COMMAND valgrind ./core start
|
||||||
DEPENDS core
|
DEPENDS core
|
||||||
WORKING_DIRECTORY ${CMAKE_PROJECT_DIR}
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
)
|
)
|
||||||
add_custom_target(debug-full
|
add_custom_target(debug-full
|
||||||
COMMAND valgrind --leak-check=full --show-leak-kinds=all ./core start
|
COMMAND valgrind --leak-check=full --show-leak-kinds=all ./core start
|
||||||
DEPENDS core
|
DEPENDS core
|
||||||
WORKING_DIRECTORY ${CMAKE_PROJECT_DIR}
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
)
|
)
|
||||||
add_custom_target(docs
|
add_custom_target(docs
|
||||||
COMMAND doxygen
|
COMMAND doxygen
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <logger.h>
|
#include <logger.h>
|
||||||
#include <helpers.h>
|
#include <helpers.h>
|
||||||
|
#include <version.h>
|
||||||
|
|
||||||
static const char *const usage[] = {
|
static const char *const usage[] = {
|
||||||
"core [options] [[--] args]",
|
"core [options] [[--] args]",
|
||||||
|
@ -16,12 +17,13 @@ static const char *const usage[] = {
|
||||||
void
|
void
|
||||||
helper_parse_cli(int argc, const char **argv, config_t *config)
|
helper_parse_cli(int argc, const char **argv, config_t *config)
|
||||||
{
|
{
|
||||||
|
int version = 0;
|
||||||
struct argparse_option options[] =
|
struct argparse_option options[] =
|
||||||
{
|
{
|
||||||
OPT_HELP(),
|
OPT_HELP(),
|
||||||
OPT_GROUP("Basic options"),
|
OPT_GROUP("Basic options"),
|
||||||
OPT_STRING('c', "config", &config->file, "path to config file", NULL, 0, OPT_NONEG),
|
OPT_STRING('c', "config", &config->file, "path to config file", NULL, 0, OPT_NONEG),
|
||||||
|
OPT_BOOLEAN('v', "version", &version, "print version", NULL, 0, OPT_NONEG),
|
||||||
OPT_END(),
|
OPT_END(),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -34,6 +36,12 @@ helper_parse_cli(int argc, const char **argv, config_t *config)
|
||||||
);
|
);
|
||||||
argc = argparse_parse(&argparse, argc, argv);
|
argc = argparse_parse(&argparse, argc, argv);
|
||||||
|
|
||||||
|
if(version)
|
||||||
|
{
|
||||||
|
printf("%s\n", EMGAUWA_CORE_VERSION);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
if(argc == 1)
|
if(argc == 1)
|
||||||
{
|
{
|
||||||
config->run_type = RUN_TYPE_INVALID;
|
config->run_type = RUN_TYPE_INVALID;
|
||||||
|
|
2
version.h.in
Normal file
2
version.h.in
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
#define EMGAUWA_CORE_VERSION "@CMAKE_PROJECT_VERSION@"
|
||||||
|
|
Loading…
Reference in a new issue