From 774fbab7ccd6588c08a1df9b88e7b370c521202d Mon Sep 17 00:00:00 2001 From: Rafael Kitover Date: Wed, 12 Jul 2023 06:19:46 +0000 Subject: [PATCH] build: write version to macOS plist Separate writing the version into the Info.plist on macOS into a separate action from the online updates Sparkle framework into a separate POST_BUILD action because we are not using Sparkle for macOS builds right now due to codesigning issues. Also sort tags by reverse tag name in the cmake git version extractor because a tag was rewritten. Signed-off-by: Rafael Kitover --- cmake/GitTagVersion.cmake | 2 +- src/wx/CMakeLists.txt | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/cmake/GitTagVersion.cmake b/cmake/GitTagVersion.cmake index 6eb25b3a..c59fb06b 100644 --- a/cmake/GitTagVersion.cmake +++ b/cmake/GitTagVersion.cmake @@ -6,7 +6,7 @@ function(git_version version revision version_release) find_package(Git) if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git") # get latest version from tag history - execute_process(COMMAND "${GIT_EXECUTABLE}" tag "--format=%(align:width=20)%(refname:short)%(end)%(if)%(*objectname)%(then)%(*objectname)%(else)%(objectname)%(end)" --sort=-creatordate OUTPUT_VARIABLE tags OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") + execute_process(COMMAND "${GIT_EXECUTABLE}" tag "--format=%(align:width=20)%(refname:short)%(end)%(if)%(*objectname)%(then)%(*objectname)%(else)%(objectname)%(end)" --sort=-v:refname OUTPUT_VARIABLE tags OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") # if no tags (e.g. shallow clone) do nothing if(tags STREQUAL "") diff --git a/src/wx/CMakeLists.txt b/src/wx/CMakeLists.txt index 81bd5740..bb3a0780 100644 --- a/src/wx/CMakeLists.txt +++ b/src/wx/CMakeLists.txt @@ -990,8 +990,6 @@ if(NOT TRANSLATIONS_ONLY) # The following commands *should* be run to make sure Sparkle is not going # to bug randomly. set(CCS3 cp -a ${SPARKLE_FRAMEWORK} ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Frameworks/Sparkle.framework) - set(CCS4 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleVersion -string "${VERSION}") - set(CCS5 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleShortVersionString -string "${VERSION}") set(CCS6 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUEnableAutomaticChecks -bool YES) #set(CCS7 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUPublicEDKey -string "${PUBLIC_KEY}") set(CCS8 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUFeedURL -string "${APPCAST_URL}") @@ -999,8 +997,6 @@ if(NOT TRANSLATIONS_ONLY) COMMAND ${CCS1} COMMAND ${CCS2} COMMAND ${CCS3} - COMMAND ${CCS4} - COMMAND ${CCS5} COMMAND ${CCS6} #COMMAND ${CCS7} COMMAND ${CCS8} @@ -1252,6 +1248,19 @@ if(NOT TRANSLATIONS_ONLY) COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/mac-translations.cmake WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) + + set(ver ${VERSION}) + + if(NOT VERSION_RELEASE) + set(ver "${ver}-${REVISION}") + endif() + + add_custom_command( + TARGET visualboyadvance-m POST_BUILD + COMMAND defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleVersion -string "${ver}" + COMMAND defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleShortVersionString -string "${ver}" + COMMAND plutil -convert xml1 ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist + ) endif() if(APPLE AND (UPSTREAM_RELEASE OR ENABLE_ONLINEUPDATES))