blob: 9a6f4c513e119d459400bad4bf78578070a8148a (
plain)
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
|
cmake_minimum_required(VERSION 3.27)
include(FetchContent)
FetchContent_Declare(
esp_json
GIT_REPOSITORY https://github.com/matortheeternal/esp.json.git
GIT_TAG master
)
FetchContent_MakeAvailable(esp_json)
set(Python_FIND_VIRTUALENV STANDARD)
# find Python before include mo2-cmake, otherwise this will trigger a bunch of CMP0111
# due to the imported configuration mapping variables defined in mo2.cmake
find_package(Python ${MO2_PYTHON_VERSION} COMPONENTS Interpreter Development REQUIRED)
get_filename_component(Python_HOME ${Python_EXECUTABLE} PATH)
set(Python_DLL_DIR "${Python_HOME}/DLLs")
set(Python_LIB_DIR "${Python_HOME}/Lib")
find_program(CLANG_FORMAT clang-format)
set(CODEGEN_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/MakeFormParser.py)
foreach(GAME SSE)
set(INPUT_FILE ${esp_json_SOURCE_DIR}/data/${GAME}.json)
set(OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/include/FormParser.${GAME}.inl)
add_custom_command(
OUTPUT ${OUTPUT_FILE}
COMMAND
${Python_EXECUTABLE}
${CODEGEN_SCRIPT}
${INPUT_FILE}
${OUTPUT_FILE}
DEPENDS
${CODEGEN_SCRIPT}
${INPUT_FILE}
)
if(CLANG_FORMAT AND EXISTS ${PROJECT_SOURCE_DIR}/.clang-format)
add_custom_command(
OUTPUT ${OUTPUT_FILE}
COMMAND
${CLANG_FORMAT} -i
--style=file:${PROJECT_SOURCE_DIR}/.clang-format
${OUTPUT_FILE}
APPEND
)
endif()
endforeach()
list(APPEND TES_INCLUDE_FILES ${OUTPUT_FILE})
|