-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsimulator.cmake
More file actions
114 lines (93 loc) · 3.09 KB
/
Copy pathsimulator.cmake
File metadata and controls
114 lines (93 loc) · 3.09 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
message(STATUS "simulator")
find_package(PkgConfig REQUIRED)
pkg_check_modules(SDL2 REQUIRED sdl2)
set(SIMULATOR_DIR "${PROJECT_DIR}/simulator")
set(SIMULATOR_LVDRV_DIR "${SIMULATOR_DIR}/lvgl_drv")
set(SIMULATOR_INTERFACES_DIR "${SIMULATOR_DIR}/interfaces")
set(LV_BUILD_CONF_PATH ${PORTING_DIR}/lv_conf.h CACHE STRING "" FORCE)
set(CONFIG_LV_BUILD_EXAMPLES OFF CACHE STRING "" FORCE)
set(CONFIG_LV_BUILD_DEMOS OFF CACHE STRING "" FORCE)
set(CONFIG_LV_USE_THORVG_INTERNAL OFF CACHE STRING "" FORCE)
set(LV_CONF_BUILD_DISABLE_THORVG_INTERNAL ON)
set(LV_CONF_BUILD_DISABLE_EXAMPLES ON)
set(LV_CONF_BUILD_DISABLE_DEMOS ON)
add_definitions(-DLV_LVGL_H_INCLUDE_SIMPLE)
add_definitions(-DSIMULATOR)
include_directories(${PROJECT_DIR})
include_directories(${SIMULATOR_DIR})
include_directories(${SIMULATOR_LVDRV_DIR})
include_directories(${SIMULATOR_INTERFACES_DIR})
include_directories(${APPLICATION_DIR})
include_directories(${UTILS_DIR})
include_directories(${COMPONENTS_DIR}/checksum)
include_directories(${COMPONENTS_DIR}/cjson)
include_directories(${UI_FRAMEWORK_DIR})
include_directories(${UI_PAGES_DIR})
include_directories(${UI_IMAGES_DIR})
include_directories(${UI_WIDGETS_DIR})
include_directories(${UI_THEMES_DIR})
include_directories(${UI_I18N_DIR})
include_directories(${WIFI_DIR})
include_directories(${WIRELESS_DIR})
include_directories(${DRIVER_DIR})
include_directories(${CORE_DIR})
include_directories(${TASKS_DIR})
include_directories(${TEST_DIR})
include_directories(${LVGL_DIR})
file(GLOB SIMULATOR_FILES
"${SIMULATOR_DIR}/*.c"
)
file(GLOB SIMULATOR_LVDRV_FILES
"${SIMULATOR_LVDRV_DIR}/*.c"
)
file(GLOB SIMULATOR_INTERFACE_FILES
"${SIMULATOR_INTERFACES_DIR}/*.c"
)
file(GLOB UI_FRAMEWORK_FILES
"${UI_FRAMEWORK_DIR}/*.c"
)
file(GLOB UI_PAGES_FILES
"${UI_PAGES_DIR}/*.c"
)
file(GLOB UI_WIDGETS_FILES
"${UI_WIDGETS_DIR}/*.c"
)
file(GLOB UI_THEMES_FILES
"${UI_THEMES_DIR}/*.c"
)
file(GLOB UI_IMAGES_FILES
"${UI_IMAGES_DIR}/*.c"
)
set(SIMULATOR_APPLICATION_FILES
"${APPLICATION_DIR}/lora_chat.c"
"${APPLICATION_DIR}/mqtt_chat.c"
)
set(SIMULATOR_UTILS_FILES
"${UTILS_DIR}/user_utils.c"
"${CORE_DIR}/device_settings.c"
)
set(SIMULATOR_COMPONENTS_FILES
"${COMPONENTS_DIR}/cjson/cJSON.c"
)
add_compile_options(-Wall -Wextra -O2)
set(objsrc
${SIMULATOR_FILES}
${SIMULATOR_LVDRV_FILES}
${SIMULATOR_INTERFACE_FILES}
${UI_FRAMEWORK_FILES}
${UI_PAGES_FILES}
${UI_WIDGETS_FILES}
${UI_THEMES_FILES}
${UI_IMAGES_FILES}
${SIMULATOR_APPLICATION_FILES}
${SIMULATOR_UTILS_FILES}
${SIMULATOR_COMPONENTS_FILES}
)
add_executable(${PROJECT_NAME} ${objsrc})
target_compile_options(${PROJECT_NAME} PRIVATE -Wno-format)
target_compile_definitions(${PROJECT_NAME} PRIVATE SIMULATOR_FLASH_FILE="${PROJECT_DIR}/simulator_flash.bin")
add_subdirectory(${LVGL_DIR})
target_compile_options(lvgl PRIVATE $<$<COMPILE_LANGUAGE:C>:-Wno-unused-parameter>)
target_include_directories(${PROJECT_NAME} PUBLIC ${SDL2_INCLUDE_DIRS})
target_compile_options(${PROJECT_NAME} PUBLIC ${SDL2_CFLAGS_OTHER})
target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARIES} lvgl::lvgl SDL2)