2 list(APPEND _keyboard_layouts
85 foreach(_keyboard_layout ${_keyboard_layouts})
86 spec2def(${_keyboard_layout}.dll ${_keyboard_layout}/${_keyboard_layout}.spec)
88 add_library(${_keyboard_layout} SHARED
89 ${_keyboard_layout}/${_keyboard_layout}.c
90 ${_keyboard_layout}/${_keyboard_layout}.rc
91 ${CMAKE_CURRENT_BINARY_DIR}/${_keyboard_layout}.def)
93 target_include_directories(${_keyboard_layout} PRIVATE ${REACTOS_SOURCE_DIR}/ntoskrnl/include)
94 set_entrypoint(${_keyboard_layout} 0)
95 set_image_base(${_keyboard_layout} 0x5FFF0000)
96 set_subsystem(${_keyboard_layout} native)
99 # Merge the .text and .rdata section into the .data section
100 add_target_link_flags(${_keyboard_layout} "/ignore:4254 /SECTION:.data,ER /MERGE:.text=.data /MERGE:.rdata=.data /MERGE:.bss=.data /MERGE:.edata=.data")
102 # Use a custom linker script
103 add_target_link_flags(${_keyboard_layout} "-Wl,-T,${CMAKE_CURRENT_SOURCE_DIR}/kbdlayout.lds")
107 target_link_libraries(${_keyboard_layout} gcc_ssp)
111 target_link_libraries(${_keyboard_layout} runtmchk)
114 add_dependencies(${_keyboard_layout} psdk)
115 add_cd_file(TARGET ${_keyboard_layout} DESTINATION reactos/system32 FOR all)