1 |
cmake_minimum_required(VERSION 3.11) |
2 |
|
3 |
set(PACKAGE_NAME "lang_utf16le") |
4 |
project(${PACKAGE_NAME}) |
5 |
|
6 |
if(NOT DEFINED BINARY_DIR) |
7 |
MESSAGE(FATAL_ERROR "check BINARY_DIR") |
8 |
endif() |
9 |
|
10 |
set(OUTPUT_DIR "${BINARY_DIR}/lang_utf16le/") |
11 |
|
12 |
if(NOT DEFINED PERL) |
13 |
MESSAGE(FATAL_ERROR "check perl PERL=${PERL}") |
14 |
endif() |
15 |
|
16 |
set(CONVERTED_FILES "") |
17 |
set(SRC_FILES "") |
18 |
set(SCRIPT ${CMAKE_CURRENT_LIST_DIR}/../../utf8_to.pl) |
19 |
|
20 |
function(ConvertLNG FNAME OPTION) |
21 |
set(SRC ${CMAKE_CURRENT_LIST_DIR}/../lang_utf8/${FNAME}) |
22 |
set(DEST ${OUTPUT_DIR}/${FNAME}) |
23 |
list(APPEND CONVERTED_FILES ${DEST}) |
24 |
list(APPEND SRC_FILES ${SRC}) |
25 |
add_custom_command( |
26 |
OUTPUT ${DEST} |
27 |
DEPENDS ${SRC} |
28 |
DEPENDS ${SCRIPT} |
29 |
COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT_DIR} |
30 |
COMMAND ${PERL} ${SCRIPT} ${OPTION} ${SRC} ${DEST} |
31 |
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} |
32 |
) |
33 |
set(CONVERTED_FILES ${CONVERTED_FILES} PARENT_SCOPE) |
34 |
set(SRC_FILES ${SRC_FILES} PARENT_SCOPE) |
35 |
endfunction() |
36 |
|
37 |
ConvertLNG(Default.lng utf16le) |
38 |
ConvertLNG(English.lng utf16le) |
39 |
ConvertLNG(French.lng utf16le) |
40 |
ConvertLNG(German.lng utf16le) |
41 |
ConvertLNG(Japanese.lng utf16le) |
42 |
ConvertLNG(Korean.lng utf16le) |
43 |
ConvertLNG(Russian.lng utf16le) |
44 |
ConvertLNG("Simplified Chinese.lng" utf16le) |
45 |
ConvertLNG(Spanish.lng utf16le) |
46 |
ConvertLNG("Traditional Chinese.lng" utf16le) |
47 |
|
48 |
add_custom_target( |
49 |
${PACKAGE_NAME} ALL |
50 |
DEPENDS ${CONVERTED_FILES} |
51 |
SOURCES ${SRC_FILES} |
52 |
SOURCES ${SCRIPT} |
53 |
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} |
54 |
) |
55 |
|
56 |
install( |
57 |
FILES ${CONVERTED_FILES} |
58 |
DESTINATION lang_utf16le/ |
59 |
) |