[CMAKE]
authorAmine Khaldi <amine.khaldi@reactos.org>
Tue, 27 Jul 2010 23:55:52 +0000 (23:55 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Tue, 27 Jul 2010 23:55:52 +0000 (23:55 +0000)
- Add rtl to build.

svn path=/branches/cmake-bringup/; revision=48319

CMakeLists.txt
lib/CMakeLists.txt
lib/rtl/CMakeLists.txt
toolchain-mingw32.cmake

index 5ffdc61..574a491 100644 (file)
@@ -20,6 +20,9 @@ export(TARGETS widl wmc FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPA
 
 else()
 
+# Activate support for asm source files
+enable_language(ASM)
+
 set(IMPORT_EXECUTABLES "${REACTOS_SOURCE_DIR}/build/ImportExecutables.cmake" CACHE FILEPATH "Host executables")
 include(${IMPORT_EXECUTABLES})
 
@@ -68,3 +71,4 @@ add_subdirectory(include/reactos/mc)
 add_subdirectory(lib)
 
 endif()
+
index 446eea5..622bd0a 100644 (file)
@@ -16,7 +16,7 @@ add_subdirectory(nls)
 #add_subdirectory(pseh)
 add_subdirectory(recyclebin)
 add_subdirectory(rossym)
-#add_subdirectory(rtl)
+add_subdirectory(rtl)
 add_subdirectory(sdk)
 add_subdirectory(smlib)
 add_subdirectory(tdilib)
index 589763f..fda6e4c 100644 (file)
@@ -1,4 +1,28 @@
 
-file(GLOB_RECURSE SOURCE "*.c")
+include_directories(.)
+
+add_definitions(-D_NTOSKRNL_)
+add_definitions(-DNO_RTL_INLINES)
+add_definitions(-D_NTSYSTEM_)
+add_definitions(-D_NTDLLBUILD_)
+
+file(GLOB_RECURSE ARCH_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}/*.c ${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}/*.S)
+
+get_directory_property(defines COMPILE_DEFINITIONS)
+
+foreach(arg ${defines})
+  set(result_defs "${result_defs} -D${arg}")
+endforeach(arg ${defines})
+
+set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> -x assembler-with-cpp -o <OBJECT> ${result_defs} -D__ASM__ <FLAGS> -c <SOURCE>")
+
+file(GLOB SOURCE "*.c")
+
+list(REMOVE_ITEM SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/avlsupp.c
+                        ${CMAKE_CURRENT_SOURCE_DIR}/mem.c
+                        ${CMAKE_CURRENT_SOURCE_DIR}/memgen.c
+    )
+
+add_library(rtl ${ARCH_SOURCE} ${SOURCE})
+add_dependencies(rtl psdk)
 
-add_library(rtl ${SOURCE})
\ No newline at end of file
index a82e604..7deaee2 100644 (file)
@@ -1,3 +1,6 @@
+
+SET(ARCH i386)
+
 # Choose the right MinGW prefix
 if (CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
 set(MINGW_PREFIX "")
@@ -13,6 +16,8 @@ SET(CMAKE_SYSTEM_PROCESSOR i686)
 SET(CMAKE_C_COMPILER ${MINGW_PREFIX}gcc)
 SET(CMAKE_CXX_COMPILER ${MINGW_PREFIX}g++)
 
+SET(CMAKE_ASM_COMPILER ${MINGW_PREFIX}gcc)
+
 # adjust the default behaviour of the FIND_XXX() commands:
 # search headers and libraries in the target environment, search 
 # programs in the host environment