1 # ---------------------------------------------------------------------------
3 # Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
4 # ---------------------------------------------------------------------------
5 # SquirrelJME is under the Mozilla Public License Version 2.0.
6 # See license.mkd for licensing and copyright information.
7 # ---------------------------------------------------------------------------
8 # DESCRIPTION: Identify SquirrelJME version
11 file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/squirreljme-version"
12 SQUIRRELJME_VERSION LIMIT_COUNT 1)
14 "Building for SquirrelJME ${SQUIRRELJME_VERSION}!")
16 # Make Windows compatible version
17 set(SQUIRRELJME_VERSION_WINDOWS "${SQUIRRELJME_VERSION}.0")
18 string(REGEX REPLACE "\\." "," SQUIRRELJME_VERSION_WINDOWS_RC
19 "${SQUIRRELJME_VERSION_WINDOWS}")
21 # Put down the configure time
22 string(TIMESTAMP SQUIRRELJME_VERSION_ID_TIME "%Y-%m-%dT%H:%M:%SZ" UTC)
24 "Configure time is ${SQUIRRELJME_VERSION_ID_TIME}.")
26 # Load Fossil manifest, if possible
27 if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../manifest.uuid" AND
28 NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../manifest.uuid")
29 file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/../manifest.uuid"
30 SQUIRRELJME_VERSION_ID_FOSSIL LIMIT_COUNT 1)
31 set(SQUIRRELJME_VERSION_ID "fossil:${SQUIRRELJME_VERSION_ID_FOSSIL}")
33 # Try to get version from Git Commit
34 execute_process(COMMAND git rev-parse HEAD
35 WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
37 RESULT_VARIABLE SQUIRRELJME_VERSION_ID_GIT_CODE
38 OUTPUT_VARIABLE SQUIRRELJME_VERSION_ID_GIT
39 ERROR_VARIABLE SQUIRRELJME_VERSION_GIT_ERROR
40 OUTPUT_STRIP_TRAILING_WHITESPACE)
42 if("${SQUIRRELJME_VERSION_ID_GIT_CODE}" EQUAL 0)
43 set(SQUIRRELJME_VERSION_ID "git:${SQUIRRELJME_VERSION_ID_GIT}")
45 # Otherwise use a basic timestamp
46 set(SQUIRRELJME_VERSION_ID "unknown:${SQUIRRELJME_VERSION_ID_TIME}")
52 "Version ID: ${SQUIRRELJME_VERSION_ID}")