@@ -118,25 +118,29 @@ else()
118118endif ()
119119message ("CMAKE_CXX_FLAGS = ${CMAKE_CXX_FLAGS} " )
120120
121- set (VERSION $ENV{VERSION} )
122- if ("${VERSION} " STREQUAL "" )
121+ # HACK: look for version in parent folder .env
122+ if (EXISTS ".env" )
123+ execute_process (COMMAND git log -n1 --pretty=%h .env OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE HASH_ENV)
124+ file (STRINGS ".env" CONFIG REGEX "^[ ]*[A-Za-z0-9_]+[ ]*=" )
125+ list (TRANSFORM CONFIG STRIP)
126+ list (TRANSFORM CONFIG REPLACE "([^=]+)=[ ]*(.*)" "set(\\ 1 \"\\ 2\" )\n " )
127+ message (${CONFIG} )
128+ cmake_language(EVAL CODE ${CONFIG} )
129+ message ("Parsed config" )
130+ else ()
123131 message (WARNING "VERSION IS NOT SET" )
124- # HACK: look for version in parent folder .env
125- if (EXISTS "../.env" )
126- file (STRINGS "../.env" CONFIG REGEX "^[ ]*[A-Za-z0-9_]+[ ]*=" )
127- list (TRANSFORM CONFIG STRIP)
128- list (TRANSFORM CONFIG REPLACE "([^=]+)=[ ]*(.*)" "set(\\ 1 \"\\ 2\" )\n " )
129- message (${CONFIG} )
130- cmake_language(EVAL CODE ${CONFIG} )
131- message ("Parsed config" )
132- else ()
133- # no version set
134- set (VERSION "?.?.?.?" )
135- endif ()
132+ # no version set
133+ set (VERSION "?.?.?.?" )
136134endif ()
137135
138136execute_process (COMMAND git rev-parse --short --verify HEAD OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE HASH)
139137execute_process (COMMAND git diff-index --quiet HEAD RESULT_VARIABLE GIT_CHANGED)
138+
139+ if (NOT "${HASH_ENV} " STREQUAL "${HASH} " )
140+ # add + to version if .env isn't from current commit
141+ set (VERSION "${VERSION} +" )
142+ endif ()
143+
140144set (MODIFIED_TIME "" )
141145
142146message ("Compiler is ${CMAKE_CXX_COMPILER} " )
0 commit comments