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