From a92192d16b1fb1df3e80d0e41063f62d3c3a0315 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 11 Aug 2024 09:58:21 -0400 Subject: [PATCH] automatically include release version in binary package name --- cmake/packaging/build_linux_tgz.sh | 5 +++-- cmake/packaging/build_macos_dmg.sh | 9 ++++---- cmake/packaging/build_windows_cross_zip.sh | 5 +++-- tools/lammps-gui/CMakeLists.txt | 24 ++++++++++++++++------ 4 files changed, 29 insertions(+), 14 deletions(-) diff --git a/cmake/packaging/build_linux_tgz.sh b/cmake/packaging/build_linux_tgz.sh index ea2fb7fb10..276da019ae 100755 --- a/cmake/packaging/build_linux_tgz.sh +++ b/cmake/packaging/build_linux_tgz.sh @@ -2,9 +2,10 @@ APP_NAME=lammps-gui DESTDIR=${PWD}/../LAMMPS_GUI +VERSION="$1" echo "Delete old files, if they exist" -rm -rf ${DESTDIR} ../LAMMPS_GUI-Linux-amd64.tar.gz +rm -rf ${DESTDIR} ../LAMMPS_GUI-Linux-amd64*.tar.gz echo "Create staging area for deployment and populate" DESTDIR=${DESTDIR} cmake --install . --prefix "/" @@ -71,7 +72,7 @@ do \ done pushd .. -tar -czvvf LAMMPS_GUI-Linux-amd64.tar.gz LAMMPS_GUI +tar -czvvf LAMMPS_GUI-Linux-amd64-${VERSION}.tar.gz LAMMPS_GUI popd echo "Cleanup dir" diff --git a/cmake/packaging/build_macos_dmg.sh b/cmake/packaging/build_macos_dmg.sh index 4da3e40eaf..6e6877d2dd 100755 --- a/cmake/packaging/build_macos_dmg.sh +++ b/cmake/packaging/build_macos_dmg.sh @@ -1,9 +1,10 @@ #!/bin/bash APP_NAME=lammps-gui +VERSION="$1" echo "Delete old files, if they exist" -rm -f ${APP_NAME}.dmg ${APP_NAME}-rw.dmg LAMMPS_GUI-macOS-multiarch.dmg +rm -f ${APP_NAME}.dmg ${APP_NAME}-rw.dmg LAMMPS_GUI-macOS-multiarch*.dmg echo "Create initial dmg file with macdeployqt" macdeployqt lammps-gui.app -dmg @@ -96,12 +97,12 @@ sync echo "Unmount modified disk image and convert to compressed read-only image" hdiutil detach "${DEVICE}" -hdiutil convert "${APP_NAME}-rw.dmg" -format UDZO -o "LAMMPS_GUI-macOS-multiarch.dmg" +hdiutil convert "${APP_NAME}-rw.dmg" -format UDZO -o "LAMMPS_GUI-macOS-multiarch-${VERSION}.dmg" echo "Attach icon to .dmg file" echo "read 'icns' (-16455) \"lammps-gui.app/Contents/Resources/lammps.icns\";" > icon.rsrc -Rez -a icon.rsrc -o LAMMPS_GUI-macOS-multiarch.dmg -SetFile -a C LAMMPS_GUI-macOS-multiarch.dmg +Rez -a icon.rsrc -o LAMMPS_GUI-macOS-multiarch-${VERSION}.dmg +SetFile -a C LAMMPS_GUI-macOS-multiarch-${VERSION}.dmg rm icon.rsrc echo "Delete temporary disk images" diff --git a/cmake/packaging/build_windows_cross_zip.sh b/cmake/packaging/build_windows_cross_zip.sh index d02b9cf761..1d7a2ce146 100755 --- a/cmake/packaging/build_windows_cross_zip.sh +++ b/cmake/packaging/build_windows_cross_zip.sh @@ -3,9 +3,10 @@ APP_NAME=lammps-gui DESTDIR=${PWD}/LAMMPS_GUI SYSROOT="$1" +VERSION="$2" echo "Delete old files, if they exist" -rm -rvf ${DESTDIR}/LAMMPS_GUI ${DESTDIR}/LAMMPS-Win10-amd64.zip +rm -rvf ${DESTDIR}/LAMMPS_GUI ${DESTDIR}/LAMMPS-Win10-amd64*.zip echo "Create staging area for deployment and populate" DESTDIR=${DESTDIR} cmake --install . --prefix "/" @@ -60,5 +61,5 @@ cat > ${DESTDIR}/bin/qt.conf < TYPE BIN) if(BUILD_SHARED_LIBS) @@ -295,6 +301,9 @@ elseif(MSVC) get_filename_component(INSTNAME ${CMAKE_INSTALL_PREFIX} NAME) install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -D INSTNAME=${INSTNAME} -D VC_INIT=\"${VC_INIT}\" -D QT5_BIN_DIR=\"${QT5_BIN_DIR}\" -P \"${CMAKE_SOURCE_DIR}/packaging/build_windows_vs.cmake\" WORKING_DIRECTORY \"${CMAKE_INSTALL_PREFIX}/..\" COMMAND_ECHO STDOUT)") elseif((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) + file(STRINGS ${LAMMPS_DIR}/src/version.h line REGEX LAMMPS_VERSION) + string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z][A-Za-z][A-Za-z])[A-Za-z]* ([0-9]+)\"" + "\\1\\2\\3" LAMMPS_RELEASE "${line}") install(TARGETS lammps-gui DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES $ TYPE BIN) if(BUILD_SHARED_LIBS) @@ -302,12 +311,15 @@ elseif((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) endif() install(FILES $ TYPE BIN) add_custom_target(zip - COMMAND sh -vx ${LAMMPS_DIR}/cmake/packaging/build_windows_cross_zip.sh ${CMAKE_INSTALL_PREFIX} + COMMAND sh -vx ${LAMMPS_DIR}/cmake/packaging/build_windows_cross_zip.sh ${CMAKE_INSTALL_PREFIX} ${LAMMPS_RELEASE} DEPENDS lmp lammps-gui COMMENT "Create zip file with windows binaries" - BYPRODUCT LAMMPS-Win10-amd64.zip + BYPRODUCT LAMMPS-Win10-amd64-${LAMMPS_VERSION}.zip WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) elseif((CMAKE_SYSTEM_NAME STREQUAL "Linux") AND NOT LAMMPS_GUI_USE_PLUGIN) + file(STRINGS ${LAMMPS_DIR}/src/version.h line REGEX LAMMPS_VERSION) + string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z][A-Za-z][A-Za-z])[A-Za-z]* ([0-9]+)\"" + "\\1\\2\\3" LAMMPS_RELEASE "${line}") install(TARGETS lammps-gui DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/lammps-gui.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications/) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/lammps-gui.appdata.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/appdata/) @@ -336,10 +348,10 @@ elseif((CMAKE_SYSTEM_NAME STREQUAL "Linux") AND NOT LAMMPS_GUI_USE_PLUGIN) ) add_custom_target(tgz - COMMAND ${LAMMPS_DIR}/cmake/packaging/build_linux_tgz.sh + COMMAND ${LAMMPS_DIR}/cmake/packaging/build_linux_tgz.sh ${LAMMPS_RELEASE} DEPENDS lammps-gui COMMENT "Create compressed tar file of LAMMPS-GUI with dependent libraries and wrapper" - BYPRODUCT LAMMPS-Linux-amd64.tar.gz + BYPRODUCT LAMMPS-Linux-amd64-${LAMMPS_RELEASE}.tar.gz WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) endif()