From 4e9593f9067423131ce76a9bd77d9ce4f4ffafa8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Sat, 4 Oct 2014 20:25:57 +0000 Subject: [PATCH] [CMAKE] - Introduce the kerneldll module type (like kernelmodedriver, but ending with .dll) and use it in various places - vfatx.dll whould in fact be a native DLL svn path=/trunk/; revision=64526 --- reactos/cmake/CMakeMacros.cmake | 11 +++++++---- reactos/dll/win32/ufatx/CMakeLists.txt | 4 ++-- reactos/drivers/base/bootvid/CMakeLists.txt | 6 ++---- reactos/drivers/base/kdrosdbg/CMakeLists.txt | 6 ++---- reactos/drivers/hid/hidclass/CMakeLists.txt | 6 +----- reactos/drivers/ksfilter/ks/CMakeLists.txt | 8 ++------ reactos/hal/halx86/CMakeLists.txt | 6 ++---- .../win32ss/drivers/displays/framebuf/CMakeLists.txt | 7 +++---- reactos/win32ss/drivers/displays/vga/CMakeLists.txt | 7 +++---- reactos/win32ss/drivers/font/ftfd/CMakeLists.txt | 4 +--- 10 files changed, 25 insertions(+), 40 deletions(-) diff --git a/reactos/cmake/CMakeMacros.cmake b/reactos/cmake/CMakeMacros.cmake index ebff1446671..8d947fa3acd 100644 --- a/reactos/cmake/CMakeMacros.cmake +++ b/reactos/cmake/CMakeMacros.cmake @@ -518,7 +518,8 @@ function(set_module_type MODULE TYPE) # Set subsystem. Also take this as an occasion # to error out if someone gave a non existing type - if((${TYPE} STREQUAL nativecui) OR (${TYPE} STREQUAL nativedll) OR (${TYPE} STREQUAL kernelmodedriver) OR (${TYPE} STREQUAL wdmdriver)) + if((${TYPE} STREQUAL nativecui) OR (${TYPE} STREQUAL nativedll) + OR (${TYPE} STREQUAL kernelmodedriver) OR (${TYPE} STREQUAL wdmdriver) OR (${TYPE} STREQUAL kerneldll)) set(__subsystem native) elseif(${TYPE} STREQUAL win32cui) set(__subsystem console) @@ -617,14 +618,16 @@ function(set_module_type MODULE TYPE) else() message(STATUS "${MODULE} has no base address") endif() - elseif((${TYPE} STREQUAL kernelmodedriver) OR (${TYPE} STREQUAL wdmdriver)) + elseif((${TYPE} STREQUAL kernelmodedriver) OR (${TYPE} STREQUAL wdmdriver) OR (${TYPE} STREQUAL kernelmodedll)) set_image_base(${MODULE} 0x00010000) endif() # Now do some stuff which is specific to each type - if((${TYPE} STREQUAL kernelmodedriver) OR (${TYPE} STREQUAL wdmdriver)) + if((${TYPE} STREQUAL kernelmodedriver) OR (${TYPE} STREQUAL wdmdriver) OR (${TYPE} STREQUAL kernelmodedll)) add_dependencies(${MODULE} bugcodes) - set_target_properties(${MODULE} PROPERTIES SUFFIX ".sys") + if((${TYPE} STREQUAL kernelmodedriver) OR (${TYPE} STREQUAL wdmdriver)) + set_target_properties(${MODULE} PROPERTIES SUFFIX ".sys") + endif() endif() if(${TYPE} STREQUAL win32ocx) diff --git a/reactos/dll/win32/ufatx/CMakeLists.txt b/reactos/dll/win32/ufatx/CMakeLists.txt index 73d77f404cd..4b7fa840a8e 100644 --- a/reactos/dll/win32/ufatx/CMakeLists.txt +++ b/reactos/dll/win32/ufatx/CMakeLists.txt @@ -7,9 +7,9 @@ list(APPEND SOURCE add_library(ufatx SHARED ${SOURCE}) -set_module_type(ufatx win32dll ENTRYPOINT 0 ) - target_link_libraries(ufatx vfatxlib) +set_module_type(ufatx nativedll ENTRYPOINT 0 ) + add_importlibs(ufatx ntdll) add_dependencies(ufatx psdk) diff --git a/reactos/drivers/base/bootvid/CMakeLists.txt b/reactos/drivers/base/bootvid/CMakeLists.txt index 4303b27b74e..6628ffd4ea5 100644 --- a/reactos/drivers/base/bootvid/CMakeLists.txt +++ b/reactos/drivers/base/bootvid/CMakeLists.txt @@ -19,12 +19,10 @@ add_library(bootvid SHARED bootvid.rc ${CMAKE_CURRENT_BINARY_DIR}/bootvid.def) -set_entrypoint(bootvid 0) -set_subsystem(bootvid native) -set_image_base(bootvid 0x00010000) +set_module_type(bootvid kerneldll ENTRYPOINT 0) add_importlibs(bootvid ntoskrnl hal) add_pch(bootvid precomp.h SOURCE) -add_dependencies(bootvid psdk bugcodes) +add_dependencies(bootvid psdk) add_cd_file(TARGET bootvid DESTINATION reactos/system32 NO_CAB FOR all) diff --git a/reactos/drivers/base/kdrosdbg/CMakeLists.txt b/reactos/drivers/base/kdrosdbg/CMakeLists.txt index 038ccdbb41b..d4f8baffd5d 100644 --- a/reactos/drivers/base/kdrosdbg/CMakeLists.txt +++ b/reactos/drivers/base/kdrosdbg/CMakeLists.txt @@ -8,12 +8,10 @@ list(APPEND SOURCE add_library(kdcom SHARED ${SOURCE}) -set_entrypoint(kdcom 0) -set_subsystem(kdcom native) -set_image_base(kdcom 0x00010000) +set_module_type(kdcom kerneldll ENTRYPOINT 0) add_importlibs(kdcom ntoskrnl hal) target_link_libraries(kdcom cportlib) -add_dependencies(kdcom psdk bugcodes) +add_dependencies(kdcom psdk) add_cd_file(TARGET kdcom DESTINATION reactos/system32 NO_CAB FOR all) diff --git a/reactos/drivers/hid/hidclass/CMakeLists.txt b/reactos/drivers/hid/hidclass/CMakeLists.txt index 93a1b68c8c2..d23d5992af0 100644 --- a/reactos/drivers/hid/hidclass/CMakeLists.txt +++ b/reactos/drivers/hid/hidclass/CMakeLists.txt @@ -13,12 +13,8 @@ add_library(hidclass SHARED hidclass.rc ${CMAKE_CURRENT_BINARY_DIR}/hidclass.def) -set_entrypoint(hidclass 0) -set_subsystem(hidclass native) -set_target_properties(hidclass PROPERTIES SUFFIX ".sys") - +set_module_type(hidclass kernelmodedriver ENTRYPOINT 0) add_importlibs(hidclass ntoskrnl hidparse hal) -add_dependencies(hidclass bugcodes) add_pch(hidclass precomp.h SOURCE) add_cd_file(TARGET hidclass DESTINATION reactos/system32/drivers NO_CAB FOR all) diff --git a/reactos/drivers/ksfilter/ks/CMakeLists.txt b/reactos/drivers/ksfilter/ks/CMakeLists.txt index 67eef69e4cc..e0a6629e111 100644 --- a/reactos/drivers/ksfilter/ks/CMakeLists.txt +++ b/reactos/drivers/ksfilter/ks/CMakeLists.txt @@ -40,15 +40,11 @@ add_library(ks SHARED ks.rc ${CMAKE_CURRENT_BINARY_DIR}/ks.def) -set_target_properties(ks PROPERTIES SUFFIX ".sys") - -set_entrypoint(ks 0) -set_subsystem(ks native) -set_image_base(ks 0x00010000) +set_module_type(ks kernelmodedriver ENTRYPOINT 0) target_link_libraries(ks ${PSEH_LIB}) add_pch(ks precomp.h SOURCE) add_importlibs(ks ntoskrnl hal) -add_dependencies(ks psdk bugcodes) +add_dependencies(ks psdk) add_cd_file(TARGET ks DESTINATION reactos/system32/drivers FOR all) diff --git a/reactos/hal/halx86/CMakeLists.txt b/reactos/hal/halx86/CMakeLists.txt index 6cba80641cd..458e5378374 100644 --- a/reactos/hal/halx86/CMakeLists.txt +++ b/reactos/hal/halx86/CMakeLists.txt @@ -34,10 +34,8 @@ function(add_hal _halname) target_link_libraries(${_halname} libcntpr) add_importlibs(${_halname} ntoskrnl) #add_pch(${_halname} include/hal.h) - add_dependencies(${_halname} psdk bugcodes asm) - set_entrypoint(${_halname} HalInitSystem 8) - set_subsystem(${_halname} native) - set_image_base(${_halname} 0x00010000) + add_dependencies(${_halname} psdk asm) + set_module_type(${_halname} kerneldll ENTRYPOINT HalInitSystem 8) add_cd_file(TARGET ${_halname} DESTINATION reactos/system32 NO_CAB FOR all) if(MSVC) add_target_link_flags(${_halname} "/ignore:4216 /ignore:4078") diff --git a/reactos/win32ss/drivers/displays/framebuf/CMakeLists.txt b/reactos/win32ss/drivers/displays/framebuf/CMakeLists.txt index 6bb890195a6..83209c9a176 100644 --- a/reactos/win32ss/drivers/displays/framebuf/CMakeLists.txt +++ b/reactos/win32ss/drivers/displays/framebuf/CMakeLists.txt @@ -14,11 +14,10 @@ add_library(framebuf SHARED framebuf.rc ${CMAKE_CURRENT_BINARY_DIR}/framebuf.def) +set_module_type(framebuf kerneldll ENTRYPOINT DrvEnableDriver 12) + add_pch(framebuf framebuf.h SOURCE) -set_entrypoint(framebuf DrvEnableDriver 12) -set_subsystem(framebuf native) -set_image_base(framebuf 0x00010000) target_link_libraries(framebuf libcntpr) add_importlibs(framebuf win32k) -add_dependencies(framebuf psdk bugcodes) +add_dependencies(framebuf psdk) add_cd_file(TARGET framebuf DESTINATION reactos/system32 FOR all) diff --git a/reactos/win32ss/drivers/displays/vga/CMakeLists.txt b/reactos/win32ss/drivers/displays/vga/CMakeLists.txt index d69e8caece0..0b2678d0558 100644 --- a/reactos/win32ss/drivers/displays/vga/CMakeLists.txt +++ b/reactos/win32ss/drivers/displays/vga/CMakeLists.txt @@ -19,11 +19,10 @@ add_library(vgaddi SHARED vgaddi.rc ${CMAKE_CURRENT_BINARY_DIR}/vgaddi.def) -set_entrypoint(vgaddi DrvEnableDriver 12) -set_subsystem(vgaddi native) -set_image_base(vgaddi 0x00010000) +set_module_type(vgaddi kerneldll ENTRYPOINT DrvEnableDriver 12) + add_pch(vgaddi vgaddi.h SOURCE) add_importlibs(vgaddi win32k) target_link_libraries(vgaddi libcntpr) -add_dependencies(vgaddi psdk bugcodes) +add_dependencies(vgaddi psdk) add_cd_file(TARGET vgaddi DESTINATION reactos/system32 FOR all) diff --git a/reactos/win32ss/drivers/font/ftfd/CMakeLists.txt b/reactos/win32ss/drivers/font/ftfd/CMakeLists.txt index d94db4079cd..104f6f205d0 100644 --- a/reactos/win32ss/drivers/font/ftfd/CMakeLists.txt +++ b/reactos/win32ss/drivers/font/ftfd/CMakeLists.txt @@ -16,9 +16,7 @@ add_library(ftfd SHARED freetype.rc ${CMAKE_CURRENT_BINARY_DIR}/ftfd.def) -set_entrypoint(ftfd FtfdEnableDriver 12) -set_subsystem(ftfd native) -set_image_base(ftfd 0x00010000) +set_module_type(ftfd kerneldll ENTRYPOINT FtfdEnableDriver 12) target_link_libraries(ftfd freetype -- 2.17.1