changeset 55:b2fe898b6957

Get RATHAXES_PATH from the registry and allow the installer to add rathaxes in the PATH
author Louis Opter <kalessin@kalessin.fr>
date Fri, 27 Jan 2012 20:12:21 +0100
parents 1f78508dbaa2
children 37d5953fc236
files maintainers_refactor_the_build_system_to_allow_standalone_rathaxes_projects_with_cmake.patch
diffstat 1 files changed, 88 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/maintainers_refactor_the_build_system_to_allow_standalone_rathaxes_projects_with_cmake.patch	Thu Jan 26 21:40:22 2012 +0100
+++ b/maintainers_refactor_the_build_system_to_allow_standalone_rathaxes_projects_with_cmake.patch	Fri Jan 27 20:12:21 2012 +0100
@@ -47,7 +47,15 @@
  # Subdirectories ###############################################################
  
  IF (PDFLATEX_COMPILER AND PS2PDF_CONVERTER)
-@@ -87,7 +77,7 @@
+@@ -60,7 +50,6 @@
+     MESSAGE(STATUS "ps2pdf (shipped with ghostscript) and pdflatex needed to generate documentation.")
+ ENDIF (PDFLATEX_COMPILER AND PS2PDF_CONVERTER)
+ 
+-ADD_SUBDIRECTORY(maintainers)
+ ADD_SUBDIRECTORY(rathaxes)
+ 
+ # Install rules ################################################################
+@@ -87,7 +76,7 @@
  SET(PACKAGE_NAME "rathaxes")
  SET(IGNORE_PATTERNS
      "/\\\\.hg.*"
@@ -56,6 +64,37 @@
      "/CMakeFiles/"
      "CMakeCache.txt"
      ".*install.*\\\\.(cmake|txt)$"
+@@ -95,6 +84,8 @@
+     ".*CPack.*([^t][^x][^t])$"
+     "/Test_.*/"
+     "/build/"
++    ".*\\\\.r?tree$"
++    ".*\\\\.pp$"
+     # delete some legacy stuff and save some space:
+     "/management/"
+     "/epitech/2009/"
+@@ -110,7 +101,7 @@
+ SET(CPACK_PACKAGE_DESCRIPTION_FILE "${RATHAXES_SOURCE_DIR}/maintainers/CMakeScripts/CPackDescription.txt")
+ SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Rathaxes, the cross-platform driver generator.")
+ SET(CPACK_PACKAGE_INSTALL_DIRECTORY ${PACKAGE_FILE_NAME})
+-SET(CPACK_PACKAGE_VENDOR "Rathaxes Team")
++SET(CPACK_PACKAGE_VENDOR "Rathaxes")
+ 
+ SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_SOURCE_FILE_NAME})
+ SET(CPACK_SOURCE_IGNORE_FILES ${IGNORE_PATTERNS})
+@@ -125,9 +116,11 @@
+ ENDIF (UNIX)
+ 
+ IF (WIN32)
+-    SET(CPACK_NSIS_CREATE_ICONS_EXTRA "CreateShortCut '\$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Rathaxes.lnk' '%comspec%' '/k bin\\\\rathaxesvars.bat'")
+     SET(CPACK_GENERATOR "NSIS")
+     SET(CPACK_SOURCE_GENERATOR "ZIP")
++    SET(CPACK_NSIS_MODIFY_PATH ON)
+ ENDIF (WIN32)
+ 
++ADD_SUBDIRECTORY(maintainers)
++
+ INCLUDE(CPack)
 diff --git a/maintainers/CMakeLists.txt b/maintainers/CMakeLists.txt
 --- a/maintainers/CMakeLists.txt
 +++ b/maintainers/CMakeLists.txt
@@ -282,7 +321,17 @@
 diff --git a/maintainers/bin/CMakeLists.txt b/maintainers/bin/CMakeLists.txt
 --- a/maintainers/bin/CMakeLists.txt
 +++ b/maintainers/bin/CMakeLists.txt
-@@ -19,7 +19,7 @@
+@@ -10,16 +10,14 @@
+     # On windows you have to use relative paths and install the proper
+     # shortcut using nsis.
+     SET(PATH_PREFIX "")
+-    SET(RATHAXES_SCRIPT_NAME "rathaxesvars.bat")
+-
+-    INSTALL(PROGRAMS "${CMAKE_CURRENT_SOURCE_DIR}/rathaxes.bat" DESTINATION bin)
++    SET(RATHAXES_SCRIPT_NAME "rathaxes.bat")
+ ELSE (WIN32)
+     SET(PATH_PREFIX "${CMAKE_INSTALL_PREFIX}")
+     SET(RATHAXES_SCRIPT_NAME "rathaxes")
  ENDIF (WIN32)
  
  SET(CNORM_PATH "${PATH_PREFIX}/lib/rathaxes/cnorm/")
@@ -291,16 +340,32 @@
  SET(CODEWORKER_PATH "${PATH_PREFIX}/lib/rathaxes/codeworker${CMAKE_EXECUTABLE_SUFFIX}")
  
  CONFIGURE_FILE("${RATHAXES_SCRIPT_NAME}.in" "${RATHAXES_SCRIPT_NAME}" @ONLY)
-diff --git a/maintainers/bin/rathaxes.bat b/maintainers/bin/rathaxes.bat
+diff --git a/maintainers/bin/rathaxes.bat b/maintainers/bin/rathaxes.bat.in
+rename from maintainers/bin/rathaxes.bat
+rename to maintainers/bin/rathaxes.bat.in
 --- a/maintainers/bin/rathaxes.bat
-+++ b/maintainers/bin/rathaxes.bat
-@@ -1,6 +1,3 @@
++++ b/maintainers/bin/rathaxes.bat.in
+@@ -1,6 +1,18 @@
  @echo off
  
 -rem We have to explicitely give the path of the script as the first argument on
 -rem Windows.
--
++for /f "tokens=2,*" %%a in ('reg query HKLM\Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_NAME@ /ve ^| findstr "(Default)"') do set RATHAXES_PATH=%%b
+ 
 -%CODEWORKER% --quiet %INCLUDE_PATHS% -script %COMPILER_PATH%/rathaxes.cws -args %COMPILER_PATH%/rathaxes.cws %LOCAL_CACHE_PATH% %*
++rem This variable is simply used as a shortcut to the Rathaxes install
++rem directory (since we never know where it can be on Windows). Useful to
++rem specify some paths in the documentation. This is also used by the
++rem FindCodeWorker CMake finder.
++set CNORM_PATH="%RATHAXES_PATH%@CNORM_PATH@"
++set RATHAXES_LIB="%RATHAXES_PATH%@RATHAXES_LIB@"
++set COMPILER_PATH="%RATHAXES_PATH%@RATHAXES_LIB@/compiler"
++set LOCAL_CACHE_PATH="%LOCALAPPDATA%\\Rathaxes\\cache\\"
++
++set INCLUDE_PATHS=-I %CNORM_PATH% -I %COMPILER_PATH%
++
++set CODEWORKER="%RATHAXES_PATH%@CODEWORKER_PATH@"
++
 +%CODEWORKER% --quiet %INCLUDE_PATHS% -script %COMPILER_PATH%/rathaxes.cws -args %RATHAXES_LIB% %LOCAL_CACHE_PATH% %*
 diff --git a/maintainers/bin/rathaxes.in b/maintainers/bin/rathaxes.in
 --- a/maintainers/bin/rathaxes.in
@@ -320,24 +385,25 @@
 -         -script $COMPILER_PATH/rathaxes.cws -args $COMPILER_PATH $LOCAL_CACHE_PATH $*
 +         -script $COMPILER_PATH/rathaxes.cws -args $RATHAXES_LIB $LOCAL_CACHE_PATH $*
 diff --git a/maintainers/bin/rathaxesvars.bat.in b/maintainers/bin/rathaxesvars.bat.in
+deleted file mode 100644
 --- a/maintainers/bin/rathaxesvars.bat.in
-+++ b/maintainers/bin/rathaxesvars.bat.in
-@@ -2,8 +2,14 @@
- 
- echo -- Setting up the Rathaxes environment
- 
-+rem This variable is simply used as a shortcut to the Rathaxes install
-+rem directory (since we never know where it can be on Windows). Useful to
-+rem specify some paths in the documentation. This is also used by the
-+rem FindCodeWorker CMake finder.
-+set RATHAXES_PATH=%CD%
- set CNORM_PATH="%CD%@CNORM_PATH@"
++++ /dev/null
+@@ -1,15 +0,0 @@
+-@echo off
+-
+-echo -- Setting up the Rathaxes environment
+-
+-set CNORM_PATH="%CD%@CNORM_PATH@"
 -set COMPILER_PATH="%CD%@COMPILER_PATH@"
-+set RATHAXES_LIB="%CD%@RATHAXES_LIB@"
-+set COMPILER_PATH="%CD%@RATHAXES_LIB@/compiler"
- set LOCAL_CACHE_PATH="%LOCALAPPDATA%\\Rathaxes\\cache\\"
- 
- set INCLUDE_PATHS=-I %CNORM_PATH% -I %COMPILER_PATH%
+-set LOCAL_CACHE_PATH="%LOCALAPPDATA%\\Rathaxes\\cache\\"
+-
+-set INCLUDE_PATHS=-I %CNORM_PATH% -I %COMPILER_PATH%
+-
+-set CODEWORKER="%CD%@CODEWORKER_PATH@"
+-
+-echo -- Adding Rathaxes to the search path
+-
+-set PATH=%CD%/bin;%PATH%
 diff --git a/rathaxes/CMakeLists.txt b/rathaxes/CMakeLists.txt
 --- a/rathaxes/CMakeLists.txt
 +++ b/rathaxes/CMakeLists.txt