@@ -51,6 +51,11 @@ MESSAGE( STATUS "CMAKE_SYSTEM_PROCESSOR: " ${CMAKE_SYSTEM_PROCESSOR} )
5151MESSAGE ( STATUS "CMAKE_HOST_SYSTEM_PROCESSOR: " ${CMAKE_HOST_SYSTEM_PROCESSOR} )
5252MESSAGE ( STATUS "CMAKE_SYSTEM_INFO_FILE: " ${CMAKE_SYSTEM_INFO_FILE} )
5353
54+ function (get_major_version VERSION_STRING OUTPUT_VARIABLE )
55+ string (REGEX MATCH "^([0-9]+)" MAJOR_VERSION ${VERSION_STRING} )
56+ set (${OUTPUT_VARIABLE} "${CMAKE_MATCH_1} " PARENT_SCOPE)
57+ endfunction ()
58+
5459# Get OS name and version.
5560include (GetOsReleaseInfo)
5661if (WIN32 )
@@ -61,13 +66,28 @@ if (WIN32)
6166elseif (APPLE )
6267 # Get MacOS release info.
6368 GetOsReleaseInfo(MAC_RELEASE_NAME MAC_RELEASE_VER)
69+
70+ # MAC_RELEASE_NAME used to resolve to something like `macOS Catalina`. Now On Github's Action,
71+ # the output is `macOS Unknown`. If the code name of the OS is Unknown, it is better to remove it completely.
72+ # Replace ` Unknown` by ``.
73+ string (REPLACE " Unknown" " " MAC_RELEASE_NAME "${MAC_RELEASE_NAME} " )
74+
75+ # Extract release MAJOR version
76+ get_major_version(${MAC_RELEASE_VER} MAC_RELEASE_VER_MAJOR)
77+
6478 MESSAGE ( STATUS "MAC_RELEASE_NAME: " ${MAC_RELEASE_NAME} )
6579 MESSAGE ( STATUS "MAC_RELEASE_VER: " ${MAC_RELEASE_VER} )
80+ MESSAGE ( STATUS "MAC_RELEASE_VER_MAJOR: " ${MAC_RELEASE_VER_MAJOR} )
6681elseif (UNIX )
6782 # Get Linux distribution info.
6883 GetOsReleaseInfo(LINUX_DIST_NAME LINUX_DIST_VER )
84+
85+ # Extract distribution MAJOR version
86+ get_major_version(${LINUX_DIST_VER} LINUX_DIST_VER_MAJOR)
87+
6988 MESSAGE ( STATUS "LINUX_DIST_NAME: " ${LINUX_DIST_NAME} )
7089 MESSAGE ( STATUS "LINUX_DIST_VER: " ${LINUX_DIST_VER} )
90+ MESSAGE ( STATUS "LINUX_DIST_VER_MAJOR: " ${LINUX_DIST_VER_MAJOR} )
7191endif ()
7292
7393
@@ -283,8 +303,8 @@ elseif (APPLE)
283303 string (TOLOWER "${MAC_RELEASE_NAME} " MAC_RELEASE_NAME)
284304 string (REPLACE " " "." MAC_RELEASE_NAME "${MAC_RELEASE_NAME} " )
285305
286- # Updating the package filename to `bin2cpp-2.4.0-macos.catalina-x86_64.tar.gz`.
287- set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME} -${CPACK_PACKAGE_VERSION} -${MAC_RELEASE_NAME} -${CMAKE_HOST_SYSTEM_PROCESSOR} " )
306+ # Updating the package filename to `bin2cpp-2.4.0-macos.catalina.10 -x86_64.tar.gz` or `bin2cpp-3.0.1-macos.14-arm64 .tar.gz`.
307+ set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME} -${CPACK_PACKAGE_VERSION} -${MAC_RELEASE_NAME} . ${MAC_RELEASE_VER_MAJOR} -${CMAKE_HOST_SYSTEM_PROCESSOR} " )
288308elseif (UNIX )
289309 # Default package filename example : `bin2cpp-2.4.0-Linux.tar.gz`.
290310 #
@@ -297,8 +317,8 @@ elseif (UNIX)
297317 string (TOLOWER "${LINUX_DIST_NAME} " LINUX_DIST_NAME)
298318 string (REPLACE " " "." LINUX_DIST_NAME "${LINUX_DIST_NAME} " )
299319
300- # Updating the package filename to `bin2cpp-2.4.0 -ubuntu-x86_64.tar.gz`.
301- set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME} -${CPACK_PACKAGE_VERSION} -${LINUX_DIST_NAME} -${CMAKE_HOST_SYSTEM_PROCESSOR} " )
320+ # Updating the package filename to `bin2cpp-3.0.1 -ubuntu.24-x86_64.tar.gz` or `bin2cpp-3.0.1-centos.10 -x86_64.tar.gz`.
321+ set (CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME} -${CPACK_PACKAGE_VERSION} -${LINUX_DIST_NAME} . ${LINUX_DIST_VER_MAJOR} -${CMAKE_HOST_SYSTEM_PROCESSOR} " )
302322endif ()
303323
304324
0 commit comments