mirror of https://github.com/Chlumsky/msdfgen.git
Versioning rework
This commit is contained in:
parent
496b656d8a
commit
3f917b8019
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
include(cmake/version.cmake)
|
||||
|
||||
option(MSDFGEN_CORE_ONLY "Only build the core library with no dependencies" OFF)
|
||||
option(MSDFGEN_BUILD_STANDALONE "Build the msdfgen standalone executable" ON)
|
||||
|
|
@ -39,13 +40,7 @@ if(MSDFGEN_USE_VCPKG)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
set(MSDFGEN_VERSION_MAJOR 1)
|
||||
set(MSDFGEN_VERSION_MINOR 10)
|
||||
set(MSDFGEN_VERSION_REVISION 0)
|
||||
set(MSDFGEN_VERSION 1.10)
|
||||
string(TIMESTAMP MSDFGEN_COPYRIGHT_YEAR "%Y")
|
||||
|
||||
# Version is specified in vcpkg.json
|
||||
project(msdfgen VERSION ${MSDFGEN_VERSION} LANGUAGES CXX)
|
||||
|
||||
file(GLOB_RECURSE MSDFGEN_CORE_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "core/*.h" "core/*.hpp")
|
||||
|
|
@ -131,6 +126,7 @@ if(MSDFGEN_BUILD_STANDALONE)
|
|||
endif()
|
||||
add_executable(msdfgen ${MSDFGEN_STANDALONE_SOURCES})
|
||||
target_compile_definitions(msdfgen PUBLIC MSDFGEN_STANDALONE)
|
||||
target_compile_definitions(msdfgen PRIVATE MSDFGEN_VERSION_UNDERLINE=${MSDFGEN_VERSION_UNDERLINE})
|
||||
set_property(TARGET msdfgen PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
target_link_libraries(msdfgen PRIVATE msdfgen::msdfgen)
|
||||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT msdfgen)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
# This script reads version from vcpkg.json and sets it to ${MSDFGEN_VERSION} etc.
|
||||
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
file(STRINGS "${CMAKE_CURRENT_LIST_DIR}/../vcpkg.json" MSDFGEN_VCPKG_JSON)
|
||||
|
||||
string(REGEX MATCH "\"version\"[ \t\n\r]*:[ \t\n\r]*\"[^\"]*\"" MSDFGEN_TMP_VERSION_PAIR ${MSDFGEN_VCPKG_JSON})
|
||||
string(REGEX REPLACE "\"version\"[ \t\n\r]*:[ \t\n\r]*\"([^\"]*)\"" "\\1" MSDFGEN_VERSION ${MSDFGEN_TMP_VERSION_PAIR})
|
||||
string(REGEX REPLACE "^([0-9]*)\\.([0-9]*)\\.([0-9]*)" "\\1" MSDFGEN_VERSION_MAJOR ${MSDFGEN_VERSION})
|
||||
string(REGEX REPLACE "^([0-9]*)\\.([0-9]*)\\.([0-9]*)" "\\2" MSDFGEN_VERSION_MINOR ${MSDFGEN_VERSION})
|
||||
string(REGEX REPLACE "^([0-9]*)\\.([0-9]*)\\.([0-9]*)" "\\3" MSDFGEN_VERSION_REVISION ${MSDFGEN_VERSION})
|
||||
string(LENGTH ${MSDFGEN_VERSION} MSDFGEN_VERSION_LENGTH)
|
||||
string(REPEAT "-" ${MSDFGEN_VERSION_LENGTH} MSDFGEN_VERSION_UNDERLINE)
|
||||
string(TIMESTAMP MSDFGEN_COPYRIGHT_YEAR "%Y")
|
||||
|
||||
unset(MSDFGEN_TMP_VERSION_PAIR)
|
||||
unset(MSDFGEN_VERSION_LENGTH)
|
||||
unset(MSDFGEN_VCPKG_JSON)
|
||||
15
main.cpp
15
main.cpp
|
|
@ -279,25 +279,30 @@ static const char * writeOutput(const BitmapConstRef<float, N> &bitmap, const ch
|
|||
#define STRINGIZE_(x) #x
|
||||
#define STRINGIZE(x) STRINGIZE_(x)
|
||||
#define MSDFGEN_VERSION_STRING STRINGIZE(MSDFGEN_VERSION)
|
||||
#ifdef MSDFGEN_VERSION_UNDERLINE
|
||||
#define VERSION_UNDERLINE STRINGIZE(MSDFGEN_VERSION_UNDERLINE)
|
||||
#else
|
||||
#define VERSION_UNDERLINE "--------"
|
||||
#endif
|
||||
|
||||
#if defined(MSDFGEN_USE_SKIA) && defined(MSDFGEN_USE_OPENMP)
|
||||
#define TITLE_SUFFIX " with Skia & OpenMP"
|
||||
#define EXTRA_UNDERLINE "-------------------"
|
||||
#define SUFFIX_UNDERLINE "-------------------"
|
||||
#elif defined(MSDFGEN_USE_SKIA)
|
||||
#define TITLE_SUFFIX " with Skia"
|
||||
#define EXTRA_UNDERLINE "----------"
|
||||
#define SUFFIX_UNDERLINE "----------"
|
||||
#elif defined(MSDFGEN_USE_OPENMP)
|
||||
#define TITLE_SUFFIX " with OpenMP"
|
||||
#define EXTRA_UNDERLINE "------------"
|
||||
#define SUFFIX_UNDERLINE "------------"
|
||||
#else
|
||||
#define TITLE_SUFFIX
|
||||
#define EXTRA_UNDERLINE
|
||||
#define SUFFIX_UNDERLINE
|
||||
#endif
|
||||
|
||||
static const char *helpText =
|
||||
"\n"
|
||||
"Multi-channel signed distance field generator by Viktor Chlumsky v" MSDFGEN_VERSION_STRING TITLE_SUFFIX "\n"
|
||||
"---------------------------------------------------------------------" EXTRA_UNDERLINE "\n"
|
||||
"------------------------------------------------------------------" VERSION_UNDERLINE SUFFIX_UNDERLINE "\n"
|
||||
" Usage: msdfgen"
|
||||
#ifdef _WIN32
|
||||
".exe"
|
||||
|
|
|
|||
Loading…
Reference in New Issue