# HG changeset patch # User Louis Opter # Date 1327610422 -3600 # Node ID 1f78508dbaa2e91c06dd1193f49921a0593f3d73 # Parent 92b87bf82dd86bb08d927ff31e9e956a7fe75119 Wip on the build system, windows fixes (todo: put RATHAXES_PATH in the registry) diff -r 92b87bf82dd8 -r 1f78508dbaa2 maintainers_refactor_the_build_system_to_allow_standalone_rathaxes_projects_with_cmake.patch --- 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)