From 54153816234f9b1acacf1ee0f8cd267e9fa7c79e Mon Sep 17 00:00:00 2001 From: Jens Lorenz Date: Fri, 11 Nov 2016 15:42:18 +0100 Subject: CMAKE: Added missing quotation marks and enhanced the version extraction. Signed-off-by: Jens Lorenz --- CMakeLists.txt | 4 ++-- cmake/MacroVersionFromGit.cmake | 31 ++++++++++++++++++++++++++++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6204e12..5865dcd 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -134,7 +134,7 @@ if(WITH_TESTS) #check if we can find the google stuff pkg_check_modules (GTEST "gtest >= 1.6.0") pkg_check_modules (GMOCK "gmock >= 1.6.0") - if (NOT(${GTEST_FOUND} AND ${GMOCK_FOUND})) + if (NOT("${GTEST_FOUND}" AND "${GMOCK_FOUND}")) message (STATUS "Building and installing with shipped sources") add_subdirectory(googleMock) set(GMOCK_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/googleMock/include") @@ -144,7 +144,7 @@ if(WITH_TESTS) configure_file( ${CMAKE_SOURCE_DIR}/cmake/gtest.pc.in ${CMAKE_BINARY_DIR}/gtest.pc @ONLY ) configure_file( ${CMAKE_SOURCE_DIR}/cmake/gmock.pc.in ${CMAKE_BINARY_DIR}/gmock.pc @ONLY ) install(FILES ${CMAKE_BINARY_DIR}/gmock.pc ${CMAKE_BINARY_DIR}/gtest.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT devel) - endif (NOT(${GTEST_FOUND} AND ${GMOCK_FOUND})) + endif (NOT("${GTEST_FOUND}" AND "${GMOCK_FOUND}")) endif(WITH_TESTS) configure_package_config_file ( diff --git a/cmake/MacroVersionFromGit.cmake b/cmake/MacroVersionFromGit.cmake index d146754..75a1a97 100644 --- a/cmake/MacroVersionFromGit.cmake +++ b/cmake/MacroVersionFromGit.cmake @@ -1,7 +1,32 @@ # get the current git version -execute_process(COMMAND git describe --tags WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - OUTPUT_VARIABLE DAEMONVERSION - OUTPUT_STRIP_TRAILING_WHITESPACE) +execute_process(COMMAND git tag + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE TAG_LIST + OUTPUT_STRIP_TRAILING_WHITESPACE) + +STRING (REPLACE "\n" ";" TAG_LIST ${TAG_LIST}) + +set (VERSION_LIST) + +foreach (element ${TAG_LIST}) + STRING (REGEX MATCH "^[0-9]+\\.." SINGLE_VERSION ${element}) + LIST (APPEND VERSION_LIST ${SINGLE_VERSION}) +endforeach (element) + +LIST (REVERSE VERSION_LIST) + +LIST (GET VERSION_LIST 0 VERSION_MISSING_MINOR) + +execute_process(COMMAND git --no-pager log --pretty=oneline HEAD...${VERSION_MISSING_MINOR} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE COMMIT_LIST + OUTPUT_STRIP_TRAILING_WHITESPACE) + +STRING (REPLACE "\n" ";" COMMIT_LIST ${COMMIT_LIST}) + +LIST (LENGTH COMMIT_LIST MINOR_VERSION) + +SET (DAEMONVERSION "${VERSION_MISSING_MINOR}.${MINOR_VERSION}") if (NOT DAEMONVERSION) #Can be changed via passing -DVERSION="XXX" to cmake -- cgit v1.2.1