diff --git a/BUILDING.md b/BUILDING.md index 3de3f8b8e4..859049bf59 100755 --- a/BUILDING.md +++ b/BUILDING.md @@ -63,6 +63,12 @@ add `-D BASISU_SUPPORT_OPENCL=ON` to the CMake configure command. > There is very little advantage to using OpenCL in the context > of `libktx`. It is disabled in the default build configuration. +> **Note:** +> +> When building from the `tar.gz` and not from the git repository directly, it is recommended to pass the variable `KTX_GIT_VERSION_FULL` with the associated git tag (e.g `v4.3.2`) +> ```bash +> cmake . -G Ninja -B build -DKTX_GIT_VERSION_FULL=v4.3.2 +> ``` Building -------- diff --git a/cmake/version.cmake b/cmake/version.cmake index d435a5d52b..097f754d8f 100644 --- a/cmake/version.cmake +++ b/cmake/version.cmake @@ -109,8 +109,9 @@ function(generate_version _var ) endfunction() # Get latest tag from git if not passed to cmake -if(NOT KTX_VERSION_FULL) - git_describe_raw(KTX_VERSION_FULL --abbrev=0 --match v[0-9]*) +# This property can be passed to cmake when building from tar.gz +if(NOT KTX_GIT_VERSION_FULL) + git_describe_raw(KTX_GIT_VERSION_FULL --abbrev=0 --match v[0-9]*) endif() #message("KTX full version: ${KTX_VERSION_FULL}") @@ -119,7 +120,7 @@ endif() # First try a full regex ( vMAJOR.MINOR.PATCH-TWEAK ) string(REGEX MATCH "^v([0-9]*)\.([0-9]*)\.([0-9]*)(-[^\.]*)" - KTX_VERSION ${KTX_VERSION_FULL}) + KTX_VERSION ${KTX_GIT_VERSION_FULL}) if(KTX_VERSION) set(KTX_VERSION_MAJOR ${CMAKE_MATCH_1}) @@ -129,7 +130,7 @@ if(KTX_VERSION) else() # If full regex failed, go for vMAJOR.MINOR.PATCH string(REGEX MATCH "^v([0-9]*)\.([0-9]*)\.([^\.]*)" - KTX_VERSION ${KTX_VERSION_FULL}) + KTX_VERSION ${KTX_GIT_VERSION_FULL}) if(KTX_VERSION) set(KTX_VERSION_MAJOR ${CMAKE_MATCH_1}) @@ -176,7 +177,7 @@ function( create_version_header dest_path target ) add_custom_command( OUTPUT ${version_h_output} # On Windows this command has to be invoked by a shell in order to work - COMMAND ${BASH_EXECUTABLE} -c "\"scripts/mkversion\" \"-v\" \"${KTX_VERSION_FULL}\" \"-o\" \"version.h\" \"${dest_path}\"" + COMMAND ${BASH_EXECUTABLE} -c "\"scripts/mkversion\" \"-v\" \"${KTX_GIT_VERSION_FULL}\" \"-o\" \"version.h\" \"${dest_path}\"" WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "Generate ${version_h_output}" VERBATIM @@ -184,7 +185,7 @@ function( create_version_header dest_path target ) else() add_custom_command( OUTPUT ${version_h_output} - COMMAND scripts/mkversion -v ${KTX_VERSION_FULL} -o version.h ${dest_path} + COMMAND scripts/mkversion -v ${KTX_GIT_VERSION_FULL} -o version.h ${dest_path} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "Generate ${version_h_output}" VERBATIM