diff options
Diffstat (limited to 'distribution')
-rw-r--r-- | distribution/CMakeLists.txt | 3 | ||||
-rw-r--r-- | distribution/osx/CMakeLists.txt | 2 | ||||
-rwxr-xr-x | distribution/osx/gtk-bundle/xtrkcad-launcher.sh | 4 | ||||
-rw-r--r-- | distribution/osx/gtk-bundle/xtrkcad-template.dmg.zip | bin | 3990654 -> 2641265 bytes | |||
-rw-r--r-- | distribution/posix/CMakeLists.txt | 42 | ||||
-rw-r--r-- | distribution/win32/nsis/CMakeLists.txt | 12 | ||||
-rw-r--r-- | distribution/win32/nsis/install.nsh | 27 | ||||
-rw-r--r-- | distribution/win32/nsis/uninstall.nsh | 29 |
8 files changed, 89 insertions, 30 deletions
diff --git a/distribution/CMakeLists.txt b/distribution/CMakeLists.txt index fc63769..9eede85 100644 --- a/distribution/CMakeLists.txt +++ b/distribution/CMakeLists.txt @@ -5,7 +5,7 @@ SET(CPACK_PACKAGE_FILE_NAME "xtrkcad-setup-${XTRKCAD_VERSION}") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "XTrkCAD ${XTRKCAD_VERSION}") SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "XTrkCAD ${XTRKCAD_VERSION}") SET(CPACK_PACKAGE_NAME "xtrkcad") -SET(CPACK_PACKAGE_VENDOR "http://www.xtrkcad.org") +SET(CPACK_PACKAGE_VENDOR "XTrackCAD Project") SET(CPACK_PACKAGE_VERSION ${XTRKCAD_VERSION}) SET(CPACK_PACKAGE_VERSION_MAJOR ${XTRKCAD_MAJOR_VERSION}) SET(CPACK_PACKAGE_VERSION_MINOR ${XTRKCAD_MINOR_VERSION}) @@ -28,4 +28,3 @@ ENDIF(UNIX AND NOT APPLE) IF(WIN32) ADD_SUBDIRECTORY(win32) ENDIF(WIN32) - diff --git a/distribution/osx/CMakeLists.txt b/distribution/osx/CMakeLists.txt index 2561fae..6e4dd05 100644 --- a/distribution/osx/CMakeLists.txt +++ b/distribution/osx/CMakeLists.txt @@ -1,5 +1,5 @@ # Automatically generate most of our external dependencies ... -GET_TARGET_PROPERTY(XTRKCAD_LOCATION xtrkcad LOCATION) +SET(XTRKCAD_LOCATION $<TARGET_FILE:xtrkcad>) CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/dependencies.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/dependencies.cmake" @ONLY) INSTALL(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/dependencies.cmake") diff --git a/distribution/osx/gtk-bundle/xtrkcad-launcher.sh b/distribution/osx/gtk-bundle/xtrkcad-launcher.sh index 30988e5..69aac1e 100755 --- a/distribution/osx/gtk-bundle/xtrkcad-launcher.sh +++ b/distribution/osx/gtk-bundle/xtrkcad-launcher.sh @@ -36,7 +36,7 @@ if type -p "X" & > /dev/null; then fi #XTRKCAD_BUNDLE="`echo "$0" | sed -e 's/\/Contents\/MacOS\/XTrackCAD//'`" -XTRKCAD_BUNDLE="$bundle" +XTRKCAD_BUNDLE="`echo "$bundle" | sed -e 's_/Contents/MacOS/XTrackCAD_/_'`" XTRKCAD_RESOURCES="$XTRKCAD_BUNDLE/Contents/Resources" XTRKCAD_TEMP="/tmp/xtrkcad/$UID" XTRKCAD_ETC="$XTRKCAD_TEMP/etc" @@ -52,7 +52,7 @@ export GTK_DATA_PREFIX="$bundle_res" export GTK_EXE_PREFIX="$bundle_res" export GTK_PATH="$bundle_res" -export GTK2_RC_FILES="$bundle_etc/gtk-2.0/gtkrc" +# export GTK2_RC_FILES="$bundle_etc/gtk-2.0/gtkrc" XTRKCAD_PANGO_RC_FILE="$XTRKCAD_RESOURCES/etc/pango/pangorc" I18NDIR="$bundle_data/locale" diff --git a/distribution/osx/gtk-bundle/xtrkcad-template.dmg.zip b/distribution/osx/gtk-bundle/xtrkcad-template.dmg.zip Binary files differindex bb6972a..2e7663b 100644 --- a/distribution/osx/gtk-bundle/xtrkcad-template.dmg.zip +++ b/distribution/osx/gtk-bundle/xtrkcad-template.dmg.zip diff --git a/distribution/posix/CMakeLists.txt b/distribution/posix/CMakeLists.txt index 96636b0..3356005 100644 --- a/distribution/posix/CMakeLists.txt +++ b/distribution/posix/CMakeLists.txt @@ -1,6 +1,6 @@ # Setup packaging ... set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "XTrackCAD is a CAD program for designing model railroad layouts.") -set(CPACK_GENERATOR "RPM" "STGZ") +set(CPACK_GENERATOR "DEB" "RPM" "STGZ") set(CPACK_SOURCE_GENERATOR "TGZ" "TBZ2" "ZIP") set(CPACK_PACKAGE_RELEASE 1) set(CPACK_RPM_PACKAGE_LICENSE "GPL") @@ -17,12 +17,18 @@ set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/package.txt) set(CPACK_PACKAGE_VENDOR "XTrackCAD Fork Project") # common dependencies for all Linux builds -set(CPACK_RPM_PACKAGE_REQUIRES "glibc gtk2") +set(CPACK_RPM_PACKAGE_REQUIRES "glibc gtk2 zip zlib") + +set(CPACK_RPM_BUILDREQUIRES + "gcc, cmake >= 2.4.7, pkgconfig, gtk2-devel" + "gettext, gettext-devel, glibc-devel" +) # Add dependency to webkitgtk if configured if(NOT XTRKCAD_USE_BROWSER) - set(CPACK_RPM_PACKAGE_REQUIRES - "${CPACK_RPM_PACKAGE_REQUIRES} webkitgtk") + set(CPACK_RPM_PACKAGE_REQUIRES + "${CPACK_RPM_PACKAGE_REQUIRES} webkitgtk") +# message(AUTHOR_WARNING "Add dependency to webkitgtk for viewing help!") endif() # exclude these directories from the rpm @@ -40,5 +46,33 @@ set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION set(CPACK_RPM_CHANGELOG_FILE "${CMAKE_CURRENT_SOURCE_DIR}////changelog.txt") +set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) + +set(CPACK_DEBIAN_PACKAGE_NAME "XTrkCad") + +set(CPACK_DEBIAN_PACKAGE_VERSION "1:${XTRKCAD_VERSION}") + +set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64") + +set(CPACK_DEBIAN_PACKAGE_DEPENDS "zip") + +set(CPACK_DEBIAN_PACKAGE_MAINTAINER "xtrkcad@sillub.com") + +set(CPACK_PACKAGE_CONTACT "xtrkcad@sillub.com") + +set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "XTrkCad description") + +set(CPACK_DEBIAN_PACKAGE_SECTION "contrib/graphics") + +set(CPACK_DEBIAN_PACKAGE_COMPRESSION "gzip") + +set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") + +set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "xtrkcad.org") + +set(CPACK_PACKAGE_EXECUTABLES "xtrkcad;XTrkCad-5.2.1-Beta") + +set(CPACK_CREATE_DESKTOP_LINKS "xtrkcad") + include(CPack) diff --git a/distribution/win32/nsis/CMakeLists.txt b/distribution/win32/nsis/CMakeLists.txt index 40d3990..150fe43 100644 --- a/distribution/win32/nsis/CMakeLists.txt +++ b/distribution/win32/nsis/CMakeLists.txt @@ -1,17 +1,23 @@ STRING(REPLACE "/" "\\\\" NATIVE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) SET(CPACK_GENERATOR "NSIS") +SET(CPACK_PACKAGE_INSTALL_DIRECTORY "XTrackCAD") +SET(CPACK_NSIS_EXECUTABLE_NAME "bin\\\\xtrkcad.exe") +SET(CPACK_NSIS_DISPLAY_NAME "XTrackCAD ${CPACK_PACKAGE_VERSION}") SET(CPACK_PACKAGE_ICON "${NATIVE_CURRENT_SOURCE_DIR}\\\\headerimage.bmp") SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\xtrkcad.exe") SET(CPACK_NSIS_HELP_LINK "http://www.xtrkcad.org") +SET(CPACK_NSIS_MUI_FINISHPAGE_RUN "xtrkcad.exe") +set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "on") + +SET(CPACK_NSIS_STARTMENU_FOLDER "XTrackCAD") SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "; add part specific to XTrackCAD installation !include \\\"${NATIVE_CURRENT_SOURCE_DIR}\\\\install.nsh\\\"") - + SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "; add part specific to XTrackCAD uninstall !include \\\"${NATIVE_CURRENT_SOURCE_DIR}\\\\uninstall.nsh\\\"") - -INCLUDE(CPack) +INCLUDE(CPack) diff --git a/distribution/win32/nsis/install.nsh b/distribution/win32/nsis/install.nsh index dc4ed80..0fc948d 100644 --- a/distribution/win32/nsis/install.nsh +++ b/distribution/win32/nsis/install.nsh @@ -5,9 +5,9 @@ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\XTrackCAD Help.lnk" "$INSTDIR\share\xtrkcad\xtrkcad.chm" "" "" 0 CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\XTrackCAD ReadMe.lnk" "notepad.exe" "$INSTDIR\share\xtrkcad\ReadMe.txt" CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\XTrackCAD CHANGELOG.lnk" "notepad.exe" "$INSTDIR\share\xtrkcad\CHANGELOG.txt" - - -; + + +; ; create file association ; ; back up old value of .xtc @@ -17,14 +17,23 @@ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\XTrackCAD CHANGELOG.lnk" "notepad. StrCmp $1 "XTrackCAD.Design" "${Index}-NoBackup" WriteRegStr HKCR ".xtc" "backup_val" $1 "${Index}-NoBackup:" - -; create the new association + + ; back up old value of .xtce + !define /redef Index "Line${__LINE__}" + ReadRegStr $1 HKCR ".xtce" "" + StrCmp $1 "" "${Index}-NoBackup" + StrCmp $1 "XTrackCAD.Design" "${Index}-NoBackup" + WriteRegStr HKCR ".xtce" "backup_xtce" $1 + "${Index}-NoBackup:" + +; create the new association WriteRegStr HKCR ".xtc" "" "XTrackCAD.Design" + WriteRegStr HKCR ".xtce" "" "XTrackCAD.Design" WriteRegStr HKCR "XTrackCAD.Design" "" "XTrackCAD Layout Design" WriteRegStr HKCR "XTrackCAD.Design\shell" "" "open" - WriteRegStr HKCR "XTrackCAD.Design\DefaultIcon" "" "$INSTDIR\bin\xtrkcad.exe,0" + WriteRegStr HKCR "XTrackCAD.Design\DefaultIcon" "" '$INSTDIR\bin\xtrkcad.exe,0' WriteRegStr HKCR "XTrackCAD.Design\shell\open\command" "" '$INSTDIR\bin\xtrkcad.exe "%1"' - + System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)' - - !undef Index
\ No newline at end of file + + !undef Index diff --git a/distribution/win32/nsis/uninstall.nsh b/distribution/win32/nsis/uninstall.nsh index b568e21..3f47586 100644 --- a/distribution/win32/nsis/uninstall.nsh +++ b/distribution/win32/nsis/uninstall.nsh @@ -1,8 +1,8 @@ ; -; additional uninstaller instructions +; additional uninstaller instructions ; -; Remove file association +; Remove file association xtc !define Index "Line${__LINE__}" ReadRegStr $1 HKCR ".xtc" "" StrCmp $1 "XTrackCAD.Design" 0 "${Index}-NoOwn" ; only do this if we own it @@ -13,18 +13,29 @@ "${Index}-Restore:" WriteRegStr HKCR ".xtc" "" $1 DeleteRegValue HKCR ".xtc" "backup_val" - + +"${Index}-NoOwn:" +; Remove file association xtce + !define /redef Index "Line${__LINE__}" + ReadRegStr $1 HKCR ".xtce" "" + StrCmp $1 "XTrackCAD.Design" 0 "${Index}-NoOwn" ; only do this if we own it + ReadRegStr $1 HKCR ".xtce" "backup_xtce" + StrCmp $1 "" 0 "${Index}-Restore" ; if backup="" then delete the whole key + DeleteRegKey HKCR ".xtce" + Goto "${Index}-NoOwn" + "${Index}-Restore:" + WriteRegStr HKCR ".xtce" "" $1 + DeleteRegValue HKCR ".xtce" "backup_xtce" + DeleteRegKey HKCR "XTrackCAD.Design" ;Delete key with association settings - + System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)' "${Index}-NoOwn:" !undef Index ; Remove shortcuts, if any -; SetShellVarContext all +SetShellVarContext all !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP - -Delete "$SMPROGRAMS\$MUI_TEMP\XTrkCad Help.lnk" -Delete "$SMPROGRAMS\$MUI_TEMP\XTrkCad ReadMe.lnk" -
\ No newline at end of file +RMDir /r "$SMPROGRAMS\$MUI_TEMP" +Delete "$desktop\XTrackCAD.lnk" |