[BOOTDATA]
[reactos.git] / reactos / dll / keyboard / CMakeLists.txt
1
2 list(APPEND _keyboard_layouts
3 kbda1
4 kbda2
5 kbda3
6 kbdal
7 kbdarme
8 kbdarmw
9 kbdaze
10 kbdazel
11 kbdbe
12 kbdbga
13 kbdbgm
14 kbdbgt
15 kbdblr
16 kbdbr
17 kbdbur
18 kbdcan
19 kbdcr
20 kbdcz
21 kbdcz1
22 kbdda
23 kbddv
24 kbdes
25 kbdest
26 kbdfc
27 kbdfi
28 kbdfr
29 kbdgeo
30 kbdgerg
31 kbdgneo
32 kbdgr
33 kbdgrist
34 kbdhe
35 kbdheb
36 kbdhu
37 kbdic
38 kbdinasa
39 kbdinben
40 kbdindev
41 kbdinguj
42 kbdinmal
43 kbdir
44 kbdit
45 kbdja
46 kbdkaz
47 kbdko
48 kbdla
49 kbdlt1
50 kbdlv
51 kbdmac
52 kbdne
53 kbdno
54 kbdpl
55 kbdpl1
56 kbdpo
57 kbdro
58 kbdru
59 kbdru1
60 kbdsg
61 kbdsk
62 kbdsk1
63 kbdsw
64 kbdtat
65 kbdth0
66 kbdth1
67 kbdth2
68 kbdth3
69 kbdtuf
70 kbdtuq
71 kbduk
72 kbdur
73 kbdurs
74 kbdus
75 kbdusa
76 kbdusl
77 kbdusr
78 kbdusx
79 kbduzb
80 kbdvntc
81 kbdycc
82 kbdycl)
83
84 foreach(_keyboard_layout ${_keyboard_layouts})
85 spec2def(${_keyboard_layout}.dll ${_keyboard_layout}/${_keyboard_layout}.spec)
86
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)
91
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)
96
97 if(MSVC)
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")
100 else()
101 # Use a custom linker script
102 add_target_link_flags(${_keyboard_layout} "-Wl,-T,${CMAKE_CURRENT_SOURCE_DIR}/kbdlayout.lds")
103 endif()
104
105 if (STACK_PROTECTOR)
106 target_link_libraries(${_keyboard_layout} gcc_ssp)
107 endif()
108
109 if(RUNTIME_CHECKS)
110 target_link_libraries(${_keyboard_layout} runtmchk)
111 endif()
112
113 add_dependencies(${_keyboard_layout} psdk)
114 add_cd_file(TARGET ${_keyboard_layout} DESTINATION reactos/system32 FOR all)
115 endforeach()