diff --git a/CHANGES b/CHANGES index 7a0f2d766..dbab77ae2 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +0.6.0: (Future) +Misc: + - All: Only update version info if needed + 0.5.0: (2016-09-19) Features: - Game Boy support diff --git a/CMakeLists.txt b/CMakeLists.txt index af387274f..c181d9dd8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -122,7 +122,7 @@ function(find_feature FEATURE_NAME FEATURE_REQUIRES) endfunction() # Version information -add_custom_target(version-info ALL ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_SOURCE_DIR}/src/core/version.c.in +add_custom_target(version-info ALL COMMAND ${CMAKE_COMMAND} -DBINARY_NAME=${BINARY_NAME} -DCONFIG_FILE=${CMAKE_CURRENT_SOURCE_DIR}/src/core/version.c.in diff --git a/version.cmake b/version.cmake index 14620aa80..e26858ed5 100644 --- a/version.cmake +++ b/version.cmake @@ -43,6 +43,10 @@ if(NOT GIT_BRANCH) set(GIT_BRANCH "(unknown)") endif() -if(CONFIG_FILE AND OUT_FILE) - configure_file("${CONFIG_FILE}" "${OUT_FILE}") +if(NOT VERSION_STRING_CACHE OR NOT VERSION_STRING STREQUAL VERSION_STRING_CACHE) + set(VERSION_STRING_CACHE ${VERSION_STRING} CACHE STRING "" FORCE) + + if(CONFIG_FILE AND OUT_FILE) + configure_file("${CONFIG_FILE}" "${OUT_FILE}") + endif() endif()