Author: kuemmel
Date: Sat May 21 11:50:41 2011
New Revision: 38796
URL: http://www.lyx.org/trac/changeset/38796

Log:
cmake: generate ready-to-use nsis files

Modified:
   lyx-devel/trunk/CMakeLists.txt
   
lyx-devel/trunk/development/Win32/packaging/installer/include/declarations.nsh.cmake
   lyx-devel/trunk/development/Win32/packaging/installer/lyx.nsi.cmake
   lyx-devel/trunk/development/Win32/packaging/installer/settings.nsh.cmake

Modified: lyx-devel/trunk/CMakeLists.txt
==============================================================================
--- lyx-devel/trunk/CMakeLists.txt      Sat May 21 10:57:52 2011        (r38795)
+++ lyx-devel/trunk/CMakeLists.txt      Sat May 21 11:50:41 2011        (r38796)
@@ -118,6 +118,7 @@
        set(LYX_NLS ON)
        if (WIN32)
                set(LYX_HUNSPELL ON)
+               set(LYX_BUNDLE ON)
        endif()
        set(LYX_CONSOLE OFF)
        set(LYX_PACKAGE_SUFFIX ON)
@@ -208,6 +209,7 @@
                if(PACKAGE_VERSION MATCHES "^\([0-9]+\)\\.\([0-9]+\).*$")
                        set(LYX_MAJOR_VERSION ${CMAKE_MATCH_1})
                        set(LYX_MINOR_VERSION ${CMAKE_MATCH_2})
+                       set(LYX_PATCH_VERSION 0) # TODO 2.1.0svn, 
LYX_PATCH_VERSION == 0
                        set(LYX_DIR_VER 
"LYX_DIR_${CMAKE_MATCH_1}${CMAKE_MATCH_2}x")
                        set(LYX_USERDIR_VER 
"LYX_USERDIR_${CMAKE_MATCH_1}${CMAKE_MATCH_2}x")
                        set(LYX_INSTALL_SUFFIX 
"${CMAKE_MATCH_1}.${CMAKE_MATCH_2}")
@@ -278,6 +280,13 @@
                set(CMAKE_INSTALL_PREFIX LYX_INSTALLED CACHE PATH "LyX default 
install prefix" FORCE)
        endif()
 endif()
+if(IS_ABSOLUTE)
+       set(CMAKE_INSTALL_PREFIX_ABSOLUTE ${CMAKE_INSTALL_PREFIX})
+else()
+       set(CMAKE_INSTALL_PREFIX_ABSOLUTE 
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_PREFIX})
+endif()
+
+
 
 if(NOT LYX_DATA_SUBDIR)
        if (WIN32)
@@ -657,14 +666,18 @@
 # installing from that rpm package.
 FIND_PROGRAM(LYX_SVNVERSION svnversion)
 #message(STATUS "svnversion = ${LYX_SVNVERSION}")
-if(NOT ${LYX_SVNVERSION} MATCHES "-NOTFOUND")
+if(LYX_SVNVERSION)
        EXECUTE_PROCESS(COMMAND ${LYX_SVNVERSION} WORKING_DIRECTORY 
"${TOP_SRC_DIR}" OUTPUT_VARIABLE CPACK_RPM_PACKAGE_RELEASE 
OUTPUT_STRIP_TRAILING_WHITESPACE)
        # We use this value also to set the package-patch-value
        if(CPACK_RPM_PACKAGE_RELEASE MATCHES "^\([0-9]+\)")
-               set(CPACK_PACKAGE_VERSION_PATCH ${CMAKE_MATCH_1})
+               set(CPACK_PACKAGE_VERSION_PATCH ${CMAKE_MATCH_1}) # TODO this 
is not the patch level
+               set(LYX_REVISION_VERSION ${CMAKE_MATCH_1})
        endif()
+else()
+       set(LYX_REVISION_VERSION svn) #TODO use date
 endif()
 
+
 # we do not have a readme or welcome data,
 # so we do not provide infofiles for
 # CPACK_RESOURCE_FILE_README and CPACK_RESOURCE_FILE_WELCOME
@@ -682,17 +695,24 @@
 set(CPACK_SOURCE_GENERATOR TGZ ZIP TBZ2)
 
 
-set(CPACK_PACKAGE_NAME LyX)
-if(APPLE)
-       set(CPACK_GENERATOR DragNDrop)  
-elseif(WIN32)
-       set(CPACK_GENERATOR ZIP)
-       #TODO set(CPACK_GENERATOR ZIP NSIS)
-elseif()
-       # .sh on linux?
-endif()
-
 if(LYX_CPACK)
+
+       set(CPACK_PACKAGE_NAME LyX)
+       if(APPLE)
+               set(CPACK_GENERATOR DragNDrop)  
+       elseif(WIN32)
+               message(STATUS "Configuring NSIS files")
+               
configure_file(development/Win32/packaging/installer/lyx.nsi.cmake 
${CMAKE_BINARY_DIR}/installer/lyx.nsi @ONLY)
+               
configure_file(development/Win32/packaging/installer/settings.nsh.cmake 
${CMAKE_BINARY_DIR}/installer/settings-cmake.nsh @ONLY)
+               
configure_file(development/Win32/packaging/installer/include/declarations.nsh.cmake
 ${CMAKE_BINARY_DIR}/installer/declarations-cmake.nsh @ONLY)
+               set(CPACK_GENERATOR ZIP)
+               message(STATUS "NSIS files are created in 
${CMAKE_BINARY_DIR}/installer")
+               message(STATUS "A zipped only release could be created by 
building the 'PACKAGE' project")
+       elseif()
+               # .sh on linux?
+       endif()
+
+
        include(CPack)
 endif()
 

Modified: 
lyx-devel/trunk/development/Win32/packaging/installer/include/declarations.nsh.cmake
==============================================================================
--- 
lyx-devel/trunk/development/Win32/packaging/installer/include/declarations.nsh.cmake
        Sat May 21 10:57:52 2011        (r38795)
+++ 
lyx-devel/trunk/development/Win32/packaging/installer/include/declarations.nsh.cmake
        Sat May 21 11:50:41 2011        (r38796)
@@ -11,8 +11,8 @@
 #--------------------------------
 # File locations
 
-!define FILES_LICENSE "license.rtf"
-!define FILES_ICONS "..\icons"
+!define FILES_LICENSE "${FILES_INSTALLER}\license.rtf"
+!define FILES_ICONS "${FILES_INSTALLER}\..\icons"
 !define FILES_PDFVIEW "${FILES_DEPS}\bin"
 !define FILES_MSVC "${FILES_DEPS}\bin"
 !define FILES_PYTHON "${FILES_DEPS}\python"
@@ -41,7 +41,7 @@
 # Names and version
 
 !define APP_NAME "LyX"
-!define APP_VERSION_NUMBER 
"${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}.${APP_VERSION_REVISION}.${APP_VERSION_BUILD}"
+!define APP_VERSION_NUMBER 
"${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}.${APP_VERSION_PATCH}.${APP_VERSION_REVISION}"
 !define APP_SERIES_NAME "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}"
 !define APP_SERIES_KEY "${APP_VERSION_MAJOR}${APP_VERSION_MINOR}"
 !define APP_DIR "${APP_NAME}${APP_SERIES_KEY}"
@@ -82,8 +82,8 @@
 !endif
 
 !define SETUP_ICON "${FILES_ICONS}\lyx.ico"
-!define SETUP_HEADERIMAGE "graphics\header.bmp"
-!define SETUP_WIZARDIMAGE "graphics\wizard.bmp"
+!define SETUP_HEADERIMAGE "${FILES_INSTALLER}\graphics\header.bmp"
+!define SETUP_WIZARDIMAGE "${FILES_INSTALLER}\graphics\wizard.bmp"
 !define SETUP_UNINSTALLER "Uninstall-${APP_NAME}.exe"
 !define SETUP_UNINSTALLER_KEY "${APP_NAME}${APP_SERIES_KEY}"
 

Modified: lyx-devel/trunk/development/Win32/packaging/installer/lyx.nsi.cmake
==============================================================================
--- lyx-devel/trunk/development/Win32/packaging/installer/lyx.nsi.cmake Sat May 
21 10:57:52 2011        (r38795)
+++ lyx-devel/trunk/development/Win32/packaging/installer/lyx.nsi.cmake Sat May 
21 11:50:41 2011        (r38796)
@@ -6,9 +6,11 @@
 
 */
 
-!include settings.nsh
+!addincludedir @CMAKE_SOURCE_DIR@/development/Win32/packaging/installer
+
+!include settings-cmake.nsh
+!include declarations-cmake.nsh
 
-!include include\declarations.nsh
 !include include\variables.nsh
 !include include\nsis.nsh
 !include include\filelist.nsh

Modified: 
lyx-devel/trunk/development/Win32/packaging/installer/settings.nsh.cmake
==============================================================================
--- lyx-devel/trunk/development/Win32/packaging/installer/settings.nsh.cmake    
Sat May 21 10:57:52 2011        (r38795)
+++ lyx-devel/trunk/development/Win32/packaging/installer/settings.nsh.cmake    
Sat May 21 11:50:41 2011        (r38796)
@@ -9,12 +9,13 @@
 #--------------------------------
 # Version number
 
-!define APP_VERSION_MAJOR 2
-!define APP_VERSION_MINOR 0
-!define APP_VERSION_REVISION 0
-!define APP_VERSION_BUILD 0 # Start with 1 for the installer releases of each 
version
+!define APP_VERSION_MAJOR @LYX_MAJOR_VERSION@
+!define APP_VERSION_MINOR @LYX_MINOR_VERSION@
+!define APP_VERSION_PATCH @LYX_PATCH_VERSION@
+!define APP_VERSION_REVISION @LYX_REVISION_VERSION@
+#!define APP_VERSION_BUILD 0 # isn't revision number enough?
 
-!define /date APP_VERSION "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}svn 
%Y%m%d" # Version to display
+!define /date APP_VERSION 
"@LYX_MAJOR_VERSION@.@LYX_MINOR_VERSION@.@LYX_PATCH_VERSION@-@LYX_REVISION_VERSION@"
 # Version to display
 
 #--------------------------------
 # Installer file name
@@ -22,22 +23,23 @@
 # Typical names for the release are "LyX-2.0.0-1-Installer.exe" etc.
 
 !ifndef ExeFile
-  !define /date ExeFile 
"LyX-${APP_VERSION_MAJOR}${APP_VERSION_MINOR}svn-%Y%m%d-Installer.exe"
+  !define /date ExeFile "LyX-${APP_VERSION}-Installer.exe"
 !endif
 !ifndef BundleExeFile
-  !define /date BundleExeFile 
"LyX-${APP_VERSION_MAJOR}${APP_VERSION_MINOR}svn-%Y%m%d-Installer-Bundle.exe"
+  !define /date BundleExeFile "LyX-${APP_VERSION}-Installer-Bundle.exe"
 !endif
 !ifndef MinimalExeFile
-  !define /date MinimalExeFile 
"LyX-${APP_VERSION_MAJOR}${APP_VERSION_MINOR}svn-%Y%m%d-Installer-Minimal.exe"
+  !define /date MinimalExeFile "LyX-${APP_VERSION}-Installer-Minimal.exe"
 !endif
 
 #--------------------------------
 # File locations
 
-!define FILES_LYX "C:\LyX\lyx-20-install"
-!define FILES_DEPS "C:\LyX\lyx-20-build\msvc2010-deps\deps20"
-!define FILES_BUNDLE "C:\LyX\depsbundle"
-!define FILES_QT "C:\Qt\qt-everywhere-opensource-src-4.7.1"
+!define FILES_LYX "@CMAKE_INSTALL_PREFIX_ABSOLUTE@"
+!define FILES_DEPS "@LYX_DEPENDENCIES_DIR@/deps20"
+!define FILES_BUNDLE "@CMAKE_BINARY_DIR@/depsbundle" #TODO Where is it? Where 
does it comes from?
+!define FILES_QT "@QT_INCLUDE_DIR@/.."
+!define FILES_INSTALLER 
"@CMAKE_SOURCE_DIR@/development/Win32/packaging/installer"
 
 #--------------------------------
 # MiKTeX

Reply via email to