changeset 54:1f78508dbaa2

Wip on the build system, windows fixes (todo: put RATHAXES_PATH in the registry)
author Louis Opter <louis@lse.epitech.net>
date Thu, 26 Jan 2012 21:40:22 +0100
parents 92b87bf82dd8
children b2fe898b6957
files maintainers_refactor_the_build_system_to_allow_standalone_rathaxes_projects_with_cmake.patch
diffstat 1 files changed, 32 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/maintainers_refactor_the_build_system_to_allow_standalone_rathaxes_projects_with_cmake.patch	Thu Jan 26 18:50:49 2012 +0100
+++ b/maintainers_refactor_the_build_system_to_allow_standalone_rathaxes_projects_with_cmake.patch	Thu Jan 26 21:40:22 2012 +0100
@@ -47,6 +47,15 @@
  # Subdirectories ###############################################################
  
  IF (PDFLATEX_COMPILER AND PS2PDF_CONVERTER)
+@@ -87,7 +77,7 @@
+ SET(PACKAGE_NAME "rathaxes")
+ SET(IGNORE_PATTERNS
+     "/\\\\.hg.*"
+-    ".*\\\\.sw.?$"
++    ".*\\\\.sw.$"
+     "/CMakeFiles/"
+     "CMakeCache.txt"
+     ".*install.*\\\\.(cmake|txt)$"
 diff --git a/maintainers/CMakeLists.txt b/maintainers/CMakeLists.txt
 --- a/maintainers/CMakeLists.txt
 +++ b/maintainers/CMakeLists.txt
@@ -104,7 +113,7 @@
 new file mode 100644
 --- /dev/null
 +++ b/maintainers/CMakeScripts/FindRathaxes.cmake
-@@ -0,0 +1,18 @@
+@@ -0,0 +1,19 @@
 +# Package Finder for Rathaxes and CMake.
 +#
 +# This finder simply seek for the rathaxes compiler and stores its path in the
@@ -115,7 +124,8 @@
 +IF (NOT RATHAXES_BINARY_PATH)
 +    FIND_PROGRAM(RATHAXES_BINARY_PATH
 +                 NAMES
-+                 rathaxes)
++                 rathaxes
++                 rathaxes.bat)
 +ELSE (NOT RATHAXES_BINARY_PATH)
 +    SET(RATHAXES_FIND_QUIETLY TRUE)
 +ENDIF (NOT RATHAXES_BINARY_PATH)
@@ -210,7 +220,7 @@
  
          SET(KERNEL_OBJECT_NAME "${RATHAXES_SOURCE}_${SYSTEM}.sys")
          ADD_CUSTOM_COMMAND(OUTPUT "${KERNEL_OBJECT_NAME}"
-@@ -237,3 +235,59 @@
+@@ -237,3 +235,58 @@
  	MESSAGE(STATUS "Don't know how to build kernel modules for ${SYSTEM} (yet)")
  ENDIF (${SYSTEM} MATCHES "Linux")
  ENDFUNCTION(ADD_RATHAXES_LKM NAME RATHAXES_SOURCE)
@@ -219,11 +229,10 @@
 +#
 +# FIND_RATHAXES_PACKAGE(PACKAGE [REQUIRED])
 +FUNCTION(FIND_RATHAXES_PACKAGE NAME)
-+    FOREACH(I ${CMAKE_SYSTEM_PREFIX_PATH})
-+        LIST(APPEND CMAKE_MODULE_PATH ${I}/share/rathaxes/CMakeScripts)
-+    ENDFOREACH(I ${CMAKE_SYSTEM_PREFIX_PATH})
 +    # The environment variable is set by rathaxesvars.bat on Windows
-+    LIST(APPEND CMAKE_MODULE_PATH $ENV{RATHAXES_PATH}/usr/)
++    FOREACH(I ${CMAKE_SYSTEM_PREFIX_PATH} $ENV{RATHAXES_PATH})
++        LIST(APPEND CMAKE_MODULE_PATH "${I}/share/rathaxes/CMakeScripts")
++    ENDFOREACH(I ${CMAKE_SYSTEM_PREFIX_PATH} $ENV{RATHAXES_PATH})
 +    FIND_PACKAGE(${NAME} ${ARGV2})
 +ENDFUNCTION(FIND_RATHAXES_PACKAGE NAME)
 +
@@ -321,11 +330,11 @@
 +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 RATHAXES_PATH=%CD%
  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 COMPILER_PATH="%CD%@RATHAXES_LIB@/compiler"
  set LOCAL_CACHE_PATH="%LOCALAPPDATA%\\Rathaxes\\cache\\"
  
  set INCLUDE_PATHS=-I %CNORM_PATH% -I %COMPILER_PATH%
@@ -370,3 +379,17 @@
 +ADD_SUBDIRECTORY(syntax)
 +ADD_SUBDIRECTORY(e1000)
 +ADD_SUBDIRECTORY(windows_minimal_lkm)
+diff --git a/rathaxes/samples/windows_minimal_lkm/CMakeLists.txt b/rathaxes/samples/windows_minimal_lkm/CMakeLists.txt
+--- a/rathaxes/samples/windows_minimal_lkm/CMakeLists.txt
++++ b/rathaxes/samples/windows_minimal_lkm/CMakeLists.txt
+@@ -3,5 +3,9 @@
+                      BLT log.blt lkm.blt)
+ 
+ IF (WIN32)
+-    ADD_RATHAXES_LKM(minimal_lkm minimal_lkm_src)
++    IF ("_not_a_var_$ENV{DDKBUILDENV}" STREQUAL "_not_a_var_chk")
++        ADD_RATHAXES_LKM(minimal_lkm minimal_lkm_src)
++    ELSE ("_not_a_var_$ENV{DDKBUILDENV}" STREQUAL "_not_a_var_chk")
++        MESSAGE(STATUS "Not in the Checked Windows Driver Development Kit environment, not building the Windows LKM")
++    ENDIF ("_not_a_var_$ENV{DDKBUILDENV}" STREQUAL "_not_a_var_chk")
+ ENDIF (WIN32)