From 7643245470df5bd828569fe465bb13f0e02c47f2 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Thu, 7 Jan 2016 22:33:39 -0500 Subject: BuildLibuv.cmake: make case consistent --- third-party/cmake/BuildLibuv.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/third-party/cmake/BuildLibuv.cmake b/third-party/cmake/BuildLibuv.cmake index 5debe5c071..1d8d69e64e 100644 --- a/third-party/cmake/BuildLibuv.cmake +++ b/third-party/cmake/BuildLibuv.cmake @@ -41,18 +41,18 @@ set(UNIX_CFGCMD sh ${DEPS_BUILD_DIR}/src/libuv/autogen.sh && CC=${DEPS_C_COMPILER}) if(UNIX) - BuildLibUv( + BuildLibuv( CONFIGURE_COMMAND ${UNIX_CFGCMD} INSTALL_COMMAND ${MAKE_PRG} V=1 install) elseif(MINGW AND CMAKE_CROSSCOMPILING) # Build libuv for the host - BuildLibUv(TARGET libuv_host + BuildLibuv(TARGET libuv_host CONFIGURE_COMMAND sh ${DEPS_BUILD_DIR}/src/libuv_host/autogen.sh && ${DEPS_BUILD_DIR}/src/libuv_host/configure --with-pic --disable-shared --prefix=${HOSTDEPS_INSTALL_DIR} CC=${HOST_C_COMPILER} INSTALL_COMMAND ${MAKE_PRG} V=1 install) # Build libuv for the target - BuildLibUv( + BuildLibuv( CONFIGURE_COMMAND ${UNIX_CFGCMD} --host=${CROSS_TARGET} INSTALL_COMMAND ${MAKE_PRG} V=1 install) @@ -70,7 +70,7 @@ elseif(WIN32 AND MSVC) else() set(VS_ARCH x64) endif() - BuildLibUv( + BuildLibuv( # By default this creates Debug builds BUILD_COMMAND set PYTHON=${PYTHON_EXECUTABLE} COMMAND ${DEPS_BUILD_DIR}/src/libuv/vcbuild.bat static debug ${VS_ARCH} INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/lib -- cgit From b4b45363396ed717230a78f8a4968e2dd12c014a Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Sun, 13 Dec 2015 12:29:02 -0500 Subject: version: semver.org compliance We use `git describe` to stamp pre-release versions (dev builds). But `git describe` uses the result of the most-recent tag (the current _release_ version)--so we must munge it with the _next_ (i.e. unreleased) version. Also fix non-git builds: do not invoke git_describe(NVIM_VERSION_MEDIUM) if we're not in a git tree, else it gets the dummy value "HEAD-HASH-NOTFOUND". Example :version output in non-git build: NVIM 0.1.2-dev Example :version output in git build: NVIM v0.1.2-176-g9c3c2b5 --- CMakeLists.txt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 29ef806612..321a919494 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,15 +51,25 @@ if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Dev" CACHE STRING "Choose the type of build." FORCE) endif() -# If not in a git repo (e.g., a tarball) these tokens set the version string, -# otherwise the result of `git describe` is used. +# If not in a git repo (e.g., a tarball) these tokens define the complete +# version string, else it is combined with the result of `git describe`. set(NVIM_VERSION_MAJOR 0) set(NVIM_VERSION_MINOR 1) -set(NVIM_VERSION_PATCH 1) +set(NVIM_VERSION_PATCH 2) +set(NVIM_VERSION_PRERELEASE "-dev") # for package maintainers file(TO_CMAKE_PATH ${CMAKE_CURRENT_LIST_DIR}/.git FORCED_GIT_DIR) include(GetGitRevisionDescription) -git_describe(NVIM_VERSION_MEDIUM) +get_git_head_revision(GIT_REFSPEC NVIM_VERSION_COMMIT) +if(NVIM_VERSION_COMMIT) # is a git repo + git_describe(NVIM_VERSION_MEDIUM) + # `git describe` annotates the most recent tagged release; for pre-release + # builds we must replace that with the unreleased version. + string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+" + "v${NVIM_VERSION_MAJOR}.${NVIM_VERSION_MINOR}.${NVIM_VERSION_PATCH}" + NVIM_VERSION_MEDIUM + ${NVIM_VERSION_MEDIUM}) +endif() set(NVIM_VERSION_BUILD_TYPE "${CMAKE_BUILD_TYPE}") # NVIM_VERSION_CFLAGS set further below. -- cgit