@@ -87,38 +87,41 @@ set(localedir "${CMAKE_INSTALL_FULL_DATAROOTDIR}/locale")
87
87
configure_file (gncla-dir.h.in gncla-dir.h)
88
88
89
89
90
- ### Create gnc-vcs-info.h
91
- # This can only be done when building from a vcs (git/svn/bzr/svk) working directory.
92
- # This file is shipped in the distribution tarball, so no need to generate it in that case anyway.
93
- # The meta-cmake gymnastics here come from https://cmake.org/pipermail/cmake/2010-July/038015.html
94
- if (BUILDING_FROM_VCS)
95
- set (VCS_INFO_BASE_DIR ${CMAKE_BINARY_DIR} )
96
- else ()
97
- set (VCS_INFO_BASE_DIR ${CMAKE_SOURCE_DIR} )
98
- endif ()
99
- set (VCS_INFO_FILE ${VCS_INFO_BASE_DIR} /libgnucash/core-utils/gnc-vcs-info.h CACHE STRING "path to gnc-vcs-info.h file" )
100
-
101
- if (BUILDING_FROM_VCS)
102
- file (WRITE ${CMAKE_CURRENT_BINARY_DIR} /gnc-vcs-info.h.in
90
+ ### Build rules for gnc-vcs-info.h
91
+ # When building from a distribution tarball simply use the one
92
+ # found in the source tree.
93
+ # When building from a git working directory extract the neede information from git.
94
+ # Otherwise work from the PROJECT_VERSION variable and today's date, but annotate
95
+ # the version info to indicate it's inaccurate.
96
+
97
+ if (GENERATE_VCS_INFO)
98
+ file (WRITE ${CMAKE_CURRENT_BINARY_DIR} /gnc-vcs-info.h.in
103
99
"/* Autogenerated. Do not change. */
104
100
#define GNC_VCS_REV \" @GNC_VCS_REV@\"
105
101
#define GNC_VCS_REV_DATE \" @GNC_VCS_REV_DATE@\"
106
102
#define GNC_VCS_REV_YEAR \" @GNC_VCS_REV_YEAR@\"
107
- #define GNC_VCS_REV_Y_M \" @GNC_VCS_REV_Y_M@\"
108
- " )
109
-
110
- add_custom_target (gnc-vcs-info ALL
111
- BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR} /gnc-vcs-info.h
112
- COMMAND ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_BINARY_DIR} /gnc-vcs-info.h.in
113
- -D DST=${CMAKE_CURRENT_BINARY_DIR} /gnc-vcs-info.h
114
- -D SRC_DIR=${CMAKE_SOURCE_DIR}
115
- -D SHELL="${SHELL} "
116
- -P ${CMAKE_SOURCE_DIR} /cmake/git2version-info.cmake
117
- )
103
+ #define GNC_VCS_REV_Y_M \" @GNC_VCS_REV_Y_M@\" " )
104
+
105
+ if (BUILDING_FROM_VCS)
106
+ add_custom_target (gnc-vcs-info ALL
107
+ BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR} /gnc-vcs-info.h
108
+ COMMAND ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_BINARY_DIR} /gnc-vcs-info.h.in
109
+ -D DST=${CMAKE_CURRENT_BINARY_DIR} /gnc-vcs-info.h
110
+ -D SRC_DIR=${CMAKE_SOURCE_DIR}
111
+ -D SHELL="${SHELL} "
112
+ -P ${CMAKE_SOURCE_DIR} /cmake/git2version-info.cmake)
113
+ else ()
114
+ add_custom_target (gnc-vcs-info ALL
115
+ BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR} /gnc-vcs-info.h
116
+ COMMAND ${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_BINARY_DIR} /gnc-vcs-info.h.in
117
+ -D DST=${CMAKE_CURRENT_BINARY_DIR} /gnc-vcs-info.h
118
+ -D PROJECT_VERSION=${PROJECT_VERSION}
119
+ -P ${CMAKE_SOURCE_DIR} /cmake/no -vcs2version-info.cmake)
120
+ endif ()
118
121
else ()
119
122
add_custom_target (gnc-vcs-info DEPENDS ${VCS_INFO_FILE} )
120
123
endif ()
121
- dist_add_generated (${BUILDING_FROM_VCS } gnc-vcs-info.h)
124
+ dist_add_generated (${GENERATE_VCS_INFO } gnc-vcs-info.h)
122
125
123
126
# Dist files
124
127
set_local_dist(core_utils_DIST_local
0 commit comments