comparison maintainers_refactor_the_build_system_to_allow_standalone_rathaxes_projects_with_cmake.patch @ 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
comparison
equal deleted inserted replaced
54:1f78508dbaa2 55:b2fe898b6957
45 -ENDIF (CMAKE_COMPILER_IS_GNUCC) 45 -ENDIF (CMAKE_COMPILER_IS_GNUCC)
46 - 46 -
47 # Subdirectories ############################################################### 47 # Subdirectories ###############################################################
48 48
49 IF (PDFLATEX_COMPILER AND PS2PDF_CONVERTER) 49 IF (PDFLATEX_COMPILER AND PS2PDF_CONVERTER)
50 @@ -87,7 +77,7 @@ 50 @@ -60,7 +50,6 @@
51 MESSAGE(STATUS "ps2pdf (shipped with ghostscript) and pdflatex needed to generate documentation.")
52 ENDIF (PDFLATEX_COMPILER AND PS2PDF_CONVERTER)
53
54 -ADD_SUBDIRECTORY(maintainers)
55 ADD_SUBDIRECTORY(rathaxes)
56
57 # Install rules ################################################################
58 @@ -87,7 +76,7 @@
51 SET(PACKAGE_NAME "rathaxes") 59 SET(PACKAGE_NAME "rathaxes")
52 SET(IGNORE_PATTERNS 60 SET(IGNORE_PATTERNS
53 "/\\\\.hg.*" 61 "/\\\\.hg.*"
54 - ".*\\\\.sw.?$" 62 - ".*\\\\.sw.?$"
55 + ".*\\\\.sw.$" 63 + ".*\\\\.sw.$"
56 "/CMakeFiles/" 64 "/CMakeFiles/"
57 "CMakeCache.txt" 65 "CMakeCache.txt"
58 ".*install.*\\\\.(cmake|txt)$" 66 ".*install.*\\\\.(cmake|txt)$"
67 @@ -95,6 +84,8 @@
68 ".*CPack.*([^t][^x][^t])$"
69 "/Test_.*/"
70 "/build/"
71 + ".*\\\\.r?tree$"
72 + ".*\\\\.pp$"
73 # delete some legacy stuff and save some space:
74 "/management/"
75 "/epitech/2009/"
76 @@ -110,7 +101,7 @@
77 SET(CPACK_PACKAGE_DESCRIPTION_FILE "${RATHAXES_SOURCE_DIR}/maintainers/CMakeScripts/CPackDescription.txt")
78 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Rathaxes, the cross-platform driver generator.")
79 SET(CPACK_PACKAGE_INSTALL_DIRECTORY ${PACKAGE_FILE_NAME})
80 -SET(CPACK_PACKAGE_VENDOR "Rathaxes Team")
81 +SET(CPACK_PACKAGE_VENDOR "Rathaxes")
82
83 SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${PACKAGE_SOURCE_FILE_NAME})
84 SET(CPACK_SOURCE_IGNORE_FILES ${IGNORE_PATTERNS})
85 @@ -125,9 +116,11 @@
86 ENDIF (UNIX)
87
88 IF (WIN32)
89 - SET(CPACK_NSIS_CREATE_ICONS_EXTRA "CreateShortCut '\$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Rathaxes.lnk' '%comspec%' '/k bin\\\\rathaxesvars.bat'")
90 SET(CPACK_GENERATOR "NSIS")
91 SET(CPACK_SOURCE_GENERATOR "ZIP")
92 + SET(CPACK_NSIS_MODIFY_PATH ON)
93 ENDIF (WIN32)
94
95 +ADD_SUBDIRECTORY(maintainers)
96 +
97 INCLUDE(CPack)
59 diff --git a/maintainers/CMakeLists.txt b/maintainers/CMakeLists.txt 98 diff --git a/maintainers/CMakeLists.txt b/maintainers/CMakeLists.txt
60 --- a/maintainers/CMakeLists.txt 99 --- a/maintainers/CMakeLists.txt
61 +++ b/maintainers/CMakeLists.txt 100 +++ b/maintainers/CMakeLists.txt
62 @@ -10,6 +10,10 @@ 101 @@ -10,6 +10,10 @@
63 INSTALL(PROGRAMS ${CODEWORKER_BINARY_PATH} 102 INSTALL(PROGRAMS ${CODEWORKER_BINARY_PATH}
280 + SET(CMAKE_C_FLAGS "-pipe -Wextra -Wall -std=c99") 319 + SET(CMAKE_C_FLAGS "-pipe -Wextra -Wall -std=c99")
281 +ENDIF (CMAKE_COMPILER_IS_GNUCC) 320 +ENDIF (CMAKE_COMPILER_IS_GNUCC)
282 diff --git a/maintainers/bin/CMakeLists.txt b/maintainers/bin/CMakeLists.txt 321 diff --git a/maintainers/bin/CMakeLists.txt b/maintainers/bin/CMakeLists.txt
283 --- a/maintainers/bin/CMakeLists.txt 322 --- a/maintainers/bin/CMakeLists.txt
284 +++ b/maintainers/bin/CMakeLists.txt 323 +++ b/maintainers/bin/CMakeLists.txt
285 @@ -19,7 +19,7 @@ 324 @@ -10,16 +10,14 @@
325 # On windows you have to use relative paths and install the proper
326 # shortcut using nsis.
327 SET(PATH_PREFIX "")
328 - SET(RATHAXES_SCRIPT_NAME "rathaxesvars.bat")
329 -
330 - INSTALL(PROGRAMS "${CMAKE_CURRENT_SOURCE_DIR}/rathaxes.bat" DESTINATION bin)
331 + SET(RATHAXES_SCRIPT_NAME "rathaxes.bat")
332 ELSE (WIN32)
333 SET(PATH_PREFIX "${CMAKE_INSTALL_PREFIX}")
334 SET(RATHAXES_SCRIPT_NAME "rathaxes")
286 ENDIF (WIN32) 335 ENDIF (WIN32)
287 336
288 SET(CNORM_PATH "${PATH_PREFIX}/lib/rathaxes/cnorm/") 337 SET(CNORM_PATH "${PATH_PREFIX}/lib/rathaxes/cnorm/")
289 -SET(COMPILER_PATH "${PATH_PREFIX}/lib/rathaxes/compiler/") 338 -SET(COMPILER_PATH "${PATH_PREFIX}/lib/rathaxes/compiler/")
290 +SET(RATHAXES_LIB "${PATH_PREFIX}/lib/rathaxes") 339 +SET(RATHAXES_LIB "${PATH_PREFIX}/lib/rathaxes")
291 SET(CODEWORKER_PATH "${PATH_PREFIX}/lib/rathaxes/codeworker${CMAKE_EXECUTABLE_SUFFIX}") 340 SET(CODEWORKER_PATH "${PATH_PREFIX}/lib/rathaxes/codeworker${CMAKE_EXECUTABLE_SUFFIX}")
292 341
293 CONFIGURE_FILE("${RATHAXES_SCRIPT_NAME}.in" "${RATHAXES_SCRIPT_NAME}" @ONLY) 342 CONFIGURE_FILE("${RATHAXES_SCRIPT_NAME}.in" "${RATHAXES_SCRIPT_NAME}" @ONLY)
294 diff --git a/maintainers/bin/rathaxes.bat b/maintainers/bin/rathaxes.bat 343 diff --git a/maintainers/bin/rathaxes.bat b/maintainers/bin/rathaxes.bat.in
344 rename from maintainers/bin/rathaxes.bat
345 rename to maintainers/bin/rathaxes.bat.in
295 --- a/maintainers/bin/rathaxes.bat 346 --- a/maintainers/bin/rathaxes.bat
296 +++ b/maintainers/bin/rathaxes.bat 347 +++ b/maintainers/bin/rathaxes.bat.in
297 @@ -1,6 +1,3 @@ 348 @@ -1,6 +1,18 @@
298 @echo off 349 @echo off
299 350
300 -rem We have to explicitely give the path of the script as the first argument on 351 -rem We have to explicitely give the path of the script as the first argument on
301 -rem Windows. 352 -rem Windows.
302 - 353 +for /f "tokens=2,*" %%a in ('reg query HKLM\Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_NAME@ /ve ^| findstr "(Default)"') do set RATHAXES_PATH=%%b
354
303 -%CODEWORKER% --quiet %INCLUDE_PATHS% -script %COMPILER_PATH%/rathaxes.cws -args %COMPILER_PATH%/rathaxes.cws %LOCAL_CACHE_PATH% %* 355 -%CODEWORKER% --quiet %INCLUDE_PATHS% -script %COMPILER_PATH%/rathaxes.cws -args %COMPILER_PATH%/rathaxes.cws %LOCAL_CACHE_PATH% %*
356 +rem This variable is simply used as a shortcut to the Rathaxes install
357 +rem directory (since we never know where it can be on Windows). Useful to
358 +rem specify some paths in the documentation. This is also used by the
359 +rem FindCodeWorker CMake finder.
360 +set CNORM_PATH="%RATHAXES_PATH%@CNORM_PATH@"
361 +set RATHAXES_LIB="%RATHAXES_PATH%@RATHAXES_LIB@"
362 +set COMPILER_PATH="%RATHAXES_PATH%@RATHAXES_LIB@/compiler"
363 +set LOCAL_CACHE_PATH="%LOCALAPPDATA%\\Rathaxes\\cache\\"
364 +
365 +set INCLUDE_PATHS=-I %CNORM_PATH% -I %COMPILER_PATH%
366 +
367 +set CODEWORKER="%RATHAXES_PATH%@CODEWORKER_PATH@"
368 +
304 +%CODEWORKER% --quiet %INCLUDE_PATHS% -script %COMPILER_PATH%/rathaxes.cws -args %RATHAXES_LIB% %LOCAL_CACHE_PATH% %* 369 +%CODEWORKER% --quiet %INCLUDE_PATHS% -script %COMPILER_PATH%/rathaxes.cws -args %RATHAXES_LIB% %LOCAL_CACHE_PATH% %*
305 diff --git a/maintainers/bin/rathaxes.in b/maintainers/bin/rathaxes.in 370 diff --git a/maintainers/bin/rathaxes.in b/maintainers/bin/rathaxes.in
306 --- a/maintainers/bin/rathaxes.in 371 --- a/maintainers/bin/rathaxes.in
307 +++ b/maintainers/bin/rathaxes.in 372 +++ b/maintainers/bin/rathaxes.in
308 @@ -1,10 +1,11 @@ 373 @@ -1,10 +1,11 @@
318 383
319 exec @CODEWORKER_PATH@ --quiet $INCLUDE_PATHS \ 384 exec @CODEWORKER_PATH@ --quiet $INCLUDE_PATHS \
320 - -script $COMPILER_PATH/rathaxes.cws -args $COMPILER_PATH $LOCAL_CACHE_PATH $* 385 - -script $COMPILER_PATH/rathaxes.cws -args $COMPILER_PATH $LOCAL_CACHE_PATH $*
321 + -script $COMPILER_PATH/rathaxes.cws -args $RATHAXES_LIB $LOCAL_CACHE_PATH $* 386 + -script $COMPILER_PATH/rathaxes.cws -args $RATHAXES_LIB $LOCAL_CACHE_PATH $*
322 diff --git a/maintainers/bin/rathaxesvars.bat.in b/maintainers/bin/rathaxesvars.bat.in 387 diff --git a/maintainers/bin/rathaxesvars.bat.in b/maintainers/bin/rathaxesvars.bat.in
388 deleted file mode 100644
323 --- a/maintainers/bin/rathaxesvars.bat.in 389 --- a/maintainers/bin/rathaxesvars.bat.in
324 +++ b/maintainers/bin/rathaxesvars.bat.in 390 +++ /dev/null
325 @@ -2,8 +2,14 @@ 391 @@ -1,15 +0,0 @@
326 392 -@echo off
327 echo -- Setting up the Rathaxes environment 393 -
328 394 -echo -- Setting up the Rathaxes environment
329 +rem This variable is simply used as a shortcut to the Rathaxes install 395 -
330 +rem directory (since we never know where it can be on Windows). Useful to 396 -set CNORM_PATH="%CD%@CNORM_PATH@"
331 +rem specify some paths in the documentation. This is also used by the
332 +rem FindCodeWorker CMake finder.
333 +set RATHAXES_PATH=%CD%
334 set CNORM_PATH="%CD%@CNORM_PATH@"
335 -set COMPILER_PATH="%CD%@COMPILER_PATH@" 397 -set COMPILER_PATH="%CD%@COMPILER_PATH@"
336 +set RATHAXES_LIB="%CD%@RATHAXES_LIB@" 398 -set LOCAL_CACHE_PATH="%LOCALAPPDATA%\\Rathaxes\\cache\\"
337 +set COMPILER_PATH="%CD%@RATHAXES_LIB@/compiler" 399 -
338 set LOCAL_CACHE_PATH="%LOCALAPPDATA%\\Rathaxes\\cache\\" 400 -set INCLUDE_PATHS=-I %CNORM_PATH% -I %COMPILER_PATH%
339 401 -
340 set INCLUDE_PATHS=-I %CNORM_PATH% -I %COMPILER_PATH% 402 -set CODEWORKER="%CD%@CODEWORKER_PATH@"
403 -
404 -echo -- Adding Rathaxes to the search path
405 -
406 -set PATH=%CD%/bin;%PATH%
341 diff --git a/rathaxes/CMakeLists.txt b/rathaxes/CMakeLists.txt 407 diff --git a/rathaxes/CMakeLists.txt b/rathaxes/CMakeLists.txt
342 --- a/rathaxes/CMakeLists.txt 408 --- a/rathaxes/CMakeLists.txt
343 +++ b/rathaxes/CMakeLists.txt 409 +++ b/rathaxes/CMakeLists.txt
344 @@ -26,4 +26,17 @@ 410 @@ -26,4 +26,17 @@
345 411