update Cmake with git tags
This commit is contained in:
@@ -8,26 +8,53 @@ enable_language(C)
|
||||
SET (VERSION_MAJOR "0")
|
||||
SET (VERSION_MINOR "99")
|
||||
SET (VERSION_PATCH "26")
|
||||
SET (VERSION_SUB "0")
|
||||
SET (VERSION_DEVEL "0")
|
||||
SET (VERSION_SUFFIX ".0")
|
||||
|
||||
SET (MARS_NWE_VERSION_BASE "${VERSION_MAJOR}.${VERSION_MINOR}.pl${VERSION_PATCH}")
|
||||
SET (MARS_NWE_VERSION "${MARS_NWE_VERSION_BASE}")
|
||||
|
||||
IF (VERSION_SUB)
|
||||
SET (VERSION_PATCH "${VERSION_PATCH}${VERSION_SUFFIX}")
|
||||
ENDIF (VERSION_SUB)
|
||||
find_package(Git QUIET)
|
||||
|
||||
IF (VERSION_DEVEL)
|
||||
# for snapshot Version Number
|
||||
find_package(Subversion)
|
||||
IF (Subversion_FOUND)
|
||||
Subversion_WC_INFO(${PROJECT_SOURCE_DIR} CASA)
|
||||
MESSAGE("Current revision is ${CASA_WC_REVISION}")
|
||||
ENDIF (Subversion_FOUND)
|
||||
SET (VERSION_PATCH "${VERSION_PATCH}.${CASA_WC_REVISION})${VERSION_SUFFIX}")
|
||||
ENDIF (VERSION_DEVEL)
|
||||
if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||
execute_process(
|
||||
COMMAND "${GIT_EXECUTABLE}" describe --tags --exact-match
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE GIT_EXACT_TAG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_QUIET
|
||||
)
|
||||
|
||||
SET (MARS_NWE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.pl${VERSION_PATCH}")
|
||||
if(GIT_EXACT_TAG STREQUAL "v${MARS_NWE_VERSION_BASE}" OR
|
||||
GIT_EXACT_TAG STREQUAL "${MARS_NWE_VERSION_BASE}")
|
||||
set(MARS_NWE_VERSION "${MARS_NWE_VERSION_BASE}")
|
||||
else()
|
||||
execute_process(
|
||||
COMMAND "${GIT_EXECUTABLE}" rev-list --count HEAD
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE GIT_COMMIT_COUNT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND "${GIT_EXECUTABLE}" rev-parse --short HEAD
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE GIT_SHORT_SHA
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND "${GIT_EXECUTABLE}" diff --quiet
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
RESULT_VARIABLE GIT_DIRTY_RESULT
|
||||
)
|
||||
|
||||
set(MARS_NWE_VERSION
|
||||
"${MARS_NWE_VERSION_BASE}-dev.${GIT_COMMIT_COUNT}+g${GIT_SHORT_SHA}")
|
||||
|
||||
if(NOT GIT_DIRTY_RESULT EQUAL 0)
|
||||
string(APPEND MARS_NWE_VERSION "-dirty")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
INCLUDE(${CMAKE_ROOT}/Modules/GNUInstallDirs.cmake)
|
||||
INCLUDE(${CMAKE_MODULE_PATH}/MarsNweInstallDirs.cmake)
|
||||
@@ -81,12 +108,8 @@ IF (NOT MAX_FILES)
|
||||
SET (MAX_FILES "256")
|
||||
ENDIF (NOT MAX_FILES)
|
||||
|
||||
|
||||
|
||||
find_package( Crypt REQUIRED)
|
||||
find_package( GDBM REQUIRED)
|
||||
|
||||
|
||||
find_package(Crypt REQUIRED)
|
||||
find_package(GDBM REQUIRED)
|
||||
|
||||
message(STATUS "Mars Nwe version: ${MARS_NWE_VERSION}")
|
||||
message(STATUS "bin: ${CMAKE_INSTALL_FULL_BINDIR}")
|
||||
@@ -103,8 +126,6 @@ message(STATUS "Mars Nwe data: ${MARS_NWE_DATA_DIR}")
|
||||
message(STATUS "Mars Nwe log: ${MARS_NWE_LOG_DIR}")
|
||||
message(STATUS "Mars Nwe pid: ${MARS_NWE_PID_DIR}")
|
||||
|
||||
|
||||
|
||||
# put the include dirs which are in the source or build tree
|
||||
# before all other include dirs, so the headers in the sources
|
||||
# are prefered over the already installed ones
|
||||
@@ -116,7 +137,6 @@ add_custom_target(uninstall
|
||||
|
||||
add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
|
||||
|
||||
|
||||
add_subdirectory(include)
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(opt)
|
||||
@@ -132,7 +152,7 @@ set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
|
||||
set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
|
||||
set(CPACK_PACKAGE_VERSION_PATCH "pl${VERSION_PATCH}")
|
||||
set(CPACK_SOURCE_GENERATOR "TBZ2")
|
||||
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "mars_nwe-${VERSION}")
|
||||
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "mars_nwe-${MARS_NWE_VERSION}")
|
||||
SET(CPACK_SOURCE_IGNORE_FILES CMakeCache.txt CMakeFiles progress.make cmake_install.cmake CPackConfig.cmake CPackSourceConfig.cmake "\\\\.git" "\\\\.svn" "\\\\.swp$" "\\\\.cvs" "\\\\.tar.gz" "\\\\.o")
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${MARS_NWE_VERSION}")
|
||||
include(CPack)
|
||||
|
||||
Reference in New Issue
Block a user