summaryrefslogtreecommitdiff
path: root/distribution
diff options
context:
space:
mode:
Diffstat (limited to 'distribution')
-rw-r--r--distribution/CMakeLists.txt3
-rw-r--r--distribution/osx/CMakeLists.txt2
-rwxr-xr-xdistribution/osx/gtk-bundle/xtrkcad-launcher.sh4
-rw-r--r--distribution/osx/gtk-bundle/xtrkcad-template.dmg.zipbin3990654 -> 2641265 bytes
-rw-r--r--distribution/posix/CMakeLists.txt42
-rw-r--r--distribution/win32/nsis/CMakeLists.txt12
-rw-r--r--distribution/win32/nsis/install.nsh27
-rw-r--r--distribution/win32/nsis/uninstall.nsh29
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
index bb6972a..2e7663b 100644
--- a/distribution/osx/gtk-bundle/xtrkcad-template.dmg.zip
+++ b/distribution/osx/gtk-bundle/xtrkcad-template.dmg.zip
Binary files differ
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"