xref: /reactos/media/nls/CMakeLists.txt (revision 1734f297)
1
2# These files are taken from here
3# https://download.microsoft.com/download/C/F/7/CF713A5E-9FBC-4FD6-9246-275F65C0E498/Windows Supported Code Page Data Files.zip
4# Except for c_1006.txt c_28600.txt c_28604.txt c_28606.txt c_424.txt which were manually created
5list(APPEND GEN_NLS
6    c_037
7    c_10000
8    c_10001
9    c_10002
10    c_10003
11    c_10004
12    c_10005
13    c_10006
14    c_10007
15    c_10008
16    c_10010
17    c_10017
18    c_10021
19    c_10029
20    c_10079
21    c_10081
22    c_10082
23    c_1006
24    c_1026
25    c_1047
26    c_1140
27    c_1141
28    c_1142
29    c_1143
30    c_1144
31    c_1145
32    c_1146
33    c_1147
34    c_1148
35    c_1149
36    c_1250
37    c_1251
38    c_1252
39    c_1253
40    c_1254
41    c_1255
42    c_1256
43    c_1257
44    c_1258
45    c_1361
46    c_20000
47    c_20001
48    c_20002
49    c_20003
50    c_20004
51    c_20005
52    c_20105
53    c_20106
54    c_20107
55    c_20108
56    c_20127
57    c_20261
58    c_20269
59    c_20273
60    c_20277
61    c_20278
62    c_20280
63    c_20284
64    c_20285
65    c_20290
66    c_20297
67    c_20420
68    c_20423
69    c_20424
70    c_20833
71    c_20838
72    c_20866
73    c_20871
74    c_20880
75    c_20905
76    c_20924
77    c_21025
78    c_21027
79    c_21866
80    c_28591
81    c_28592
82    c_28593
83    c_28594
84    c_28595
85    c_28596
86    c_28597
87    c_28598
88    c_28599
89    c_28600
90    c_28603
91    c_28604
92    c_28605
93    c_28606
94    c_29001
95    c_424
96    c_437
97    c_500
98    c_708
99    c_720
100    c_737
101    c_775
102    c_850
103    c_852
104    c_855
105    c_857
106    c_858
107    c_860
108    c_861
109    c_862
110    c_863
111    c_864
112    c_865
113    c_866
114    c_869
115    c_870
116    c_874
117    c_875
118    c_932
119    c_936
120    c_949
121    c_950)
122
123foreach(NLS ${GEN_NLS})
124    add_custom_command(
125        OUTPUT ${NLS}.nls
126        COMMAND native-txt2nls ${CMAKE_CURRENT_SOURCE_DIR}/src/${NLS}.txt ${NLS}.nls
127        DEPENDS native-txt2nls ${CMAKE_CURRENT_SOURCE_DIR}/src/${NLS}.txt)
128
129    # Special case for system ones
130    if ((NLS STREQUAL "c_437") OR (NLS STREQUAL "c_1252"))
131        add_cd_file(TARGET gen_nls FILE ${CMAKE_CURRENT_BINARY_DIR}/${NLS}.nls DESTINATION reactos/system32 NO_CAB FOR all)
132    else()
133        add_cd_file(TARGET gen_nls FILE ${CMAKE_CURRENT_BINARY_DIR}/${NLS}.nls DESTINATION reactos/system32 FOR all)
134    endif()
135endforeach()
136
137list(TRANSFORM GEN_NLS APPEND ".nls")
138list(TRANSFORM GEN_NLS PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
139add_custom_target(gen_nls DEPENDS ${GEN_NLS})
140
141# those ones were manually generated
142add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/l_intl.nls DESTINATION reactos/system32 NO_CAB FOR all)
143list(APPEND NLS_FILES
144    c_856.nls
145    c_878.nls
146    ctype.nls
147    geo.nls
148    l_except.nls
149    locale.nls
150    sortkey.nls
151    sorttbls.nls
152    unicode.nls)
153
154foreach(item ${NLS_FILES})
155    add_cd_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/${item}" DESTINATION reactos/system32 FOR all)
156endforeach(item)
157