-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
67 lines (60 loc) · 2.51 KB
/
CMakeLists.txt
File metadata and controls
67 lines (60 loc) · 2.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
cmake_minimum_required(VERSION 3.16)
string(TIMESTAMP THI_VER_DAY "%m%d" UTC)
string(TIMESTAMP THI_VER_YEAR "%Y" UTC)
project(th123intl
VERSION 0.3.${THI_VER_YEAR}.${THI_VER_DAY}
DESCRIPTION "Internationalization tool for a specific fighting game.")
set(THI_VERSION ${PROJECT_VERSION})
string(REPLACE . , THI_VERSION_COMMA ${THI_VERSION})
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(BASE_INSTALL_PATH th123intl)
macro(add_resourcepack target source)
file(GLOB _PACK_SRC_${source} ${CMAKE_CURRENT_SOURCE_DIR}/pack/${source}/*)
add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pack/${source}.dat"
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bin/shady-cli.exe pack -m data
-o "${CMAKE_CURRENT_BINARY_DIR}/pack/${source}.dat"
"${CMAKE_CURRENT_SOURCE_DIR}/pack/${source}"
DEPENDS ${_PACK_SRC_${source}}
VERBATIM
)
add_custom_target(${target}-${source} DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/pack/${source}.dat")
add_dependencies(${target} ${target}-${source})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pack/${source}.dat DESTINATION ${BASE_INSTALL_PATH}/pack)
endmacro()
set(SRC_THI
src/main.cpp
src/hooks.cpp
src/language.cpp
src/parser.cpp
src/profile.cpp
)
if(WIN32)
set(THI_TARGET_NAME "th123intl")
set(THI_NAME "TH123 Intl")
set(THI_DESCRIPTION "Internationalization tool for a specific fighting game.")
configure_file(src/resource.rc.in resource.rc @ONLY)
list(APPEND SRC_THI ${CMAKE_CURRENT_BINARY_DIR}/resource.rc)
endif()
include_directories(${PROJECT_SOURCE_DIR}/thirdparty/json/include)
add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/SokuLib)
add_library(th123intl MODULE ${SRC_THI})
target_link_libraries(th123intl SokuLib Usp10)
set_target_properties(th123intl PROPERTIES PREFIX "")
add_custom_target(generate-pack)
add_resourcepack(generate-pack empty-csv)
add_resourcepack(generate-pack jp)
add_resourcepack(generate-pack en)
add_resourcepack(generate-pack zh)
add_resourcepack(generate-pack pt-BR)
add_resourcepack(generate-pack kr)
add_dependencies(th123intl generate-pack)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/locale)
install(TARGETS th123intl LIBRARY DESTINATION ${BASE_INSTALL_PATH})
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/font
DESTINATION ${BASE_INSTALL_PATH}
FILES_MATCHING PATTERN "*.ttf")
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/locale
DESTINATION ${BASE_INSTALL_PATH}
FILES_MATCHING PATTERN "*.json")