comparison maintainers_refactor_the_build_system_to_allow_standalone_rathaxes_projects_with_cmake.patch @ 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
comparison
equal deleted inserted replaced
53:92b87bf82dd8 54:1f78508dbaa2
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 @@
51 SET(PACKAGE_NAME "rathaxes")
52 SET(IGNORE_PATTERNS
53 "/\\\\.hg.*"
54 - ".*\\\\.sw.?$"
55 + ".*\\\\.sw.$"
56 "/CMakeFiles/"
57 "CMakeCache.txt"
58 ".*install.*\\\\.(cmake|txt)$"
50 diff --git a/maintainers/CMakeLists.txt b/maintainers/CMakeLists.txt 59 diff --git a/maintainers/CMakeLists.txt b/maintainers/CMakeLists.txt
51 --- a/maintainers/CMakeLists.txt 60 --- a/maintainers/CMakeLists.txt
52 +++ b/maintainers/CMakeLists.txt 61 +++ b/maintainers/CMakeLists.txt
53 @@ -10,6 +10,10 @@ 62 @@ -10,6 +10,10 @@
54 INSTALL(PROGRAMS ${CODEWORKER_BINARY_PATH} 63 INSTALL(PROGRAMS ${CODEWORKER_BINARY_PATH}
102 INCLUDE(FindPackageHandleStandardArgs) 111 INCLUDE(FindPackageHandleStandardArgs)
103 diff --git a/maintainers/CMakeScripts/FindRathaxes.cmake b/maintainers/CMakeScripts/FindRathaxes.cmake 112 diff --git a/maintainers/CMakeScripts/FindRathaxes.cmake b/maintainers/CMakeScripts/FindRathaxes.cmake
104 new file mode 100644 113 new file mode 100644
105 --- /dev/null 114 --- /dev/null
106 +++ b/maintainers/CMakeScripts/FindRathaxes.cmake 115 +++ b/maintainers/CMakeScripts/FindRathaxes.cmake
107 @@ -0,0 +1,18 @@ 116 @@ -0,0 +1,19 @@
108 +# Package Finder for Rathaxes and CMake. 117 +# Package Finder for Rathaxes and CMake.
109 +# 118 +#
110 +# This finder simply seek for the rathaxes compiler and stores its path in the 119 +# This finder simply seek for the rathaxes compiler and stores its path in the
111 +# variable RATHAXES_BINARY_PATH, if rathaxes is found. 120 +# variable RATHAXES_BINARY_PATH, if rathaxes is found.
112 +# 121 +#
113 +# This finder is used internally by UseRathaxes. 122 +# This finder is used internally by UseRathaxes.
114 + 123 +
115 +IF (NOT RATHAXES_BINARY_PATH) 124 +IF (NOT RATHAXES_BINARY_PATH)
116 + FIND_PROGRAM(RATHAXES_BINARY_PATH 125 + FIND_PROGRAM(RATHAXES_BINARY_PATH
117 + NAMES 126 + NAMES
118 + rathaxes) 127 + rathaxes
128 + rathaxes.bat)
119 +ELSE (NOT RATHAXES_BINARY_PATH) 129 +ELSE (NOT RATHAXES_BINARY_PATH)
120 + SET(RATHAXES_FIND_QUIETLY TRUE) 130 + SET(RATHAXES_FIND_QUIETLY TRUE)
121 +ENDIF (NOT RATHAXES_BINARY_PATH) 131 +ENDIF (NOT RATHAXES_BINARY_PATH)
122 + 132 +
123 +INCLUDE(FindPackageHandleStandardArgs) 133 +INCLUDE(FindPackageHandleStandardArgs)
208 - "${RATHAXES_SOURCE_DIR}/maintainers/CMakeScripts/Templates/Windows_Makefile") 218 - "${RATHAXES_SOURCE_DIR}/maintainers/CMakeScripts/Templates/Windows_Makefile")
209 + SET(WINDOWS_MAKEFILE "${_USE_RATHAXES_LIST_DIR}/Templates/Windows_Makefile") 219 + SET(WINDOWS_MAKEFILE "${_USE_RATHAXES_LIST_DIR}/Templates/Windows_Makefile")
210 220
211 SET(KERNEL_OBJECT_NAME "${RATHAXES_SOURCE}_${SYSTEM}.sys") 221 SET(KERNEL_OBJECT_NAME "${RATHAXES_SOURCE}_${SYSTEM}.sys")
212 ADD_CUSTOM_COMMAND(OUTPUT "${KERNEL_OBJECT_NAME}" 222 ADD_CUSTOM_COMMAND(OUTPUT "${KERNEL_OBJECT_NAME}"
213 @@ -237,3 +235,59 @@ 223 @@ -237,3 +235,58 @@
214 MESSAGE(STATUS "Don't know how to build kernel modules for ${SYSTEM} (yet)") 224 MESSAGE(STATUS "Don't know how to build kernel modules for ${SYSTEM} (yet)")
215 ENDIF (${SYSTEM} MATCHES "Linux") 225 ENDIF (${SYSTEM} MATCHES "Linux")
216 ENDFUNCTION(ADD_RATHAXES_LKM NAME RATHAXES_SOURCE) 226 ENDFUNCTION(ADD_RATHAXES_LKM NAME RATHAXES_SOURCE)
217 + 227 +
218 +# Like FIND_PACKAGE but also search in the Rathaxes directories. Usage: 228 +# Like FIND_PACKAGE but also search in the Rathaxes directories. Usage:
219 +# 229 +#
220 +# FIND_RATHAXES_PACKAGE(PACKAGE [REQUIRED]) 230 +# FIND_RATHAXES_PACKAGE(PACKAGE [REQUIRED])
221 +FUNCTION(FIND_RATHAXES_PACKAGE NAME) 231 +FUNCTION(FIND_RATHAXES_PACKAGE NAME)
222 + FOREACH(I ${CMAKE_SYSTEM_PREFIX_PATH})
223 + LIST(APPEND CMAKE_MODULE_PATH ${I}/share/rathaxes/CMakeScripts)
224 + ENDFOREACH(I ${CMAKE_SYSTEM_PREFIX_PATH})
225 + # The environment variable is set by rathaxesvars.bat on Windows 232 + # The environment variable is set by rathaxesvars.bat on Windows
226 + LIST(APPEND CMAKE_MODULE_PATH $ENV{RATHAXES_PATH}/usr/) 233 + FOREACH(I ${CMAKE_SYSTEM_PREFIX_PATH} $ENV{RATHAXES_PATH})
234 + LIST(APPEND CMAKE_MODULE_PATH "${I}/share/rathaxes/CMakeScripts")
235 + ENDFOREACH(I ${CMAKE_SYSTEM_PREFIX_PATH} $ENV{RATHAXES_PATH})
227 + FIND_PACKAGE(${NAME} ${ARGV2}) 236 + FIND_PACKAGE(${NAME} ${ARGV2})
228 +ENDFUNCTION(FIND_RATHAXES_PACKAGE NAME) 237 +ENDFUNCTION(FIND_RATHAXES_PACKAGE NAME)
229 + 238 +
230 +# Code ######################################################################### 239 +# Code #########################################################################
231 + 240 +
319 328
320 +rem This variable is simply used as a shortcut to the Rathaxes install 329 +rem This variable is simply used as a shortcut to the Rathaxes install
321 +rem directory (since we never know where it can be on Windows). Useful to 330 +rem directory (since we never know where it can be on Windows). Useful to
322 +rem specify some paths in the documentation. This is also used by the 331 +rem specify some paths in the documentation. This is also used by the
323 +rem FindCodeWorker CMake finder. 332 +rem FindCodeWorker CMake finder.
324 +set RATHAXES_PATH="%CD%" 333 +set RATHAXES_PATH=%CD%
325 set CNORM_PATH="%CD%@CNORM_PATH@" 334 set CNORM_PATH="%CD%@CNORM_PATH@"
326 -set COMPILER_PATH="%CD%@COMPILER_PATH@" 335 -set COMPILER_PATH="%CD%@COMPILER_PATH@"
327 +set RATHAXES_LIB="%CD%@RATHAXES_LIB@" 336 +set RATHAXES_LIB="%CD%@RATHAXES_LIB@"
328 +set COMPILER_PATH="%CD%%RATHAXES_LIB%/compiler" 337 +set COMPILER_PATH="%CD%@RATHAXES_LIB@/compiler"
329 set LOCAL_CACHE_PATH="%LOCALAPPDATA%\\Rathaxes\\cache\\" 338 set LOCAL_CACHE_PATH="%LOCALAPPDATA%\\Rathaxes\\cache\\"
330 339
331 set INCLUDE_PATHS=-I %CNORM_PATH% -I %COMPILER_PATH% 340 set INCLUDE_PATHS=-I %CNORM_PATH% -I %COMPILER_PATH%
332 diff --git a/rathaxes/CMakeLists.txt b/rathaxes/CMakeLists.txt 341 diff --git a/rathaxes/CMakeLists.txt b/rathaxes/CMakeLists.txt
333 --- a/rathaxes/CMakeLists.txt 342 --- a/rathaxes/CMakeLists.txt
368 + 377 +
369 +ADD_SUBDIRECTORY(helloworld) 378 +ADD_SUBDIRECTORY(helloworld)
370 +ADD_SUBDIRECTORY(syntax) 379 +ADD_SUBDIRECTORY(syntax)
371 +ADD_SUBDIRECTORY(e1000) 380 +ADD_SUBDIRECTORY(e1000)
372 +ADD_SUBDIRECTORY(windows_minimal_lkm) 381 +ADD_SUBDIRECTORY(windows_minimal_lkm)
382 diff --git a/rathaxes/samples/windows_minimal_lkm/CMakeLists.txt b/rathaxes/samples/windows_minimal_lkm/CMakeLists.txt
383 --- a/rathaxes/samples/windows_minimal_lkm/CMakeLists.txt
384 +++ b/rathaxes/samples/windows_minimal_lkm/CMakeLists.txt
385 @@ -3,5 +3,9 @@
386 BLT log.blt lkm.blt)
387
388 IF (WIN32)
389 - ADD_RATHAXES_LKM(minimal_lkm minimal_lkm_src)
390 + IF ("_not_a_var_$ENV{DDKBUILDENV}" STREQUAL "_not_a_var_chk")
391 + ADD_RATHAXES_LKM(minimal_lkm minimal_lkm_src)
392 + ELSE ("_not_a_var_$ENV{DDKBUILDENV}" STREQUAL "_not_a_var_chk")
393 + MESSAGE(STATUS "Not in the Checked Windows Driver Development Kit environment, not building the Windows LKM")
394 + ENDIF ("_not_a_var_$ENV{DDKBUILDENV}" STREQUAL "_not_a_var_chk")
395 ENDIF (WIN32)