Re: Cmake: determening Ceph version when there is no git checkout.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 11 Jul 2017, Willem Jan Withagen wrote:
> Hi,
> 
> I'm doing some work to be ready when Luminous gets fully released.
> But I now run into the following code from src/CMakeLists.txtx
> ====
> # the src/.git_version file may be written out by make-dist; otherwise
> # we pull the git version from .git
> option(ENABLE_GIT_VERSION "build Ceph with git version string" ON)
> if(${ENABLE_GIT_VERSION})
>   get_git_head_revision(GIT_REFSPEC CEPH_GIT_VER)
>   git_describe(CEPH_GIT_NICE_VER --always)
>   #if building from a source tarball via make-dist
>   if(${CEPH_GIT_VER} STREQUAL "GITDIR-NOTFOUND")
>     message(STATUS "Ceph/.git directory not found, parsing
> ${CMAKE_CURRENT_SOURCE_DIR}/.git_version for CEPH_GIT_VER and
> CEPH_GIT_NICE_VER")
>     file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/.git_version
> CEPH_GIT_SHA_AND_TAG)
>     list(GET CEPH_GIT_SHA_AND_TAG 0 CEPH_GIT_VER)
>     list(GET CEPH_GIT_SHA_AND_TAG 1 CEPH_GIT_NICE_VER)
>   endif(${CEPH_GIT_VER} STREQUAL "GITDIR-NOTFOUND")
>   # remove 'v' prefix from raw git version
>   string(SUBSTRING ${CEPH_GIT_NICE_VER} 1 -1 CEPH_GIT_NICE_VER)
> else(${ENABLE_GIT_VERSION})
>   set(CEPH_GIT_VER "no_version")
>   set(CEPH_GIT_NICE_VER "Development")
> endif(${ENABLE_GIT_VERSION})
> ====
> 
> This build the Ceph version from data in the .git repo.
> But that is not how FreeBSD packaging works. There a tarbal is fetched
> but that does not contain any git info.
> 
> Work is done in:
> 	/usr/ports/net/ceph/work/ceph-12.1.0
> and that is about all where I can extract some versioning from.
> 
> Does anybody have suggestions for an easy way out?
> Other than hardcode it in the Makefile as an option to CMake.

Take a look at the make-dist script; it puts the git version info in a 
tarball that has everything needed to build.  (i.e., it writes out 
the .git_version file referenced above.)

sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux