-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
47 lines (38 loc) · 2.23 KB
/
CMakeLists.txt
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
set(SRC_DIRS
"${CMAKE_CURRENT_SOURCE_DIR}/src/Containers"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Core"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Devices"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Drivers"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Entity"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Event"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Log"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Memory"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Misc"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Object"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Periphery"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Services"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Statics"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Thread"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Util"
"${CMAKE_CURRENT_SOURCE_DIR}/src/FileSystem"
CACHE INTERNAL "" FORCE)
set(EXCLUDED_ITEMS
"${CMAKE_CURRENT_SOURCE_DIR}/src/Devices/Display.h"
"${CMAKE_CURRENT_SOURCE_DIR}/src/Devices/Display.cpp"
CACHE INTERNAL "" FORCE)
foreach(SRC IN LISTS SRC_DIRS)
file(GLOB_RECURSE DIR_SOURCES "${SRC}/*/**.h" "${SRC}/*/**.cpp" "${SRC}/*/**.hpp" "${SRC}/*/**.inl" "${SRC}/**.h" "${SRC}/**.cpp" "${SRC}/**.hpp" "${SRC}/**.inl")
list(APPEND SOURCES ${DIR_SOURCES})
endforeach()
foreach(SRC IN LISTS EXCLUDED_ITEMS)
list(REMOVE_ITEM SOURCES "${SRC}")
endforeach()
if (CONFIG_CMF_GRAPHICS)
file(GLOB_RECURSE GRAPHICS_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/LV_Interface/**.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/src/LV_Interface/**.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/LV_Interface/**.hpp" "${CMAKE_CURRENT_SOURCE_DIR}/src/LV_Interface/**.h")
list(APPEND GRAPHICS_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/Devices/Display.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/src/Devices/Display.h")
list(APPEND SOURCES ${GRAPHICS_SOURCES})
endif()
file(GLOB_RECURSE LIBS "${CMAKE_CURRENT_SOURCE_DIR}/lib/*/src/**.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/lib/*/src/**.c")
set(LIBS_INCL "${CMAKE_CURRENT_SOURCE_DIR}/lib/glm/glm" "${CMAKE_CURRENT_SOURCE_DIR}/lib/libhelix-aac/src" CACHE INTERNAL "" FORCE)
set(REQUIRED_COMPONENTS "esp_timer" "driver" "spiffs" "esp_adc" CACHE INTERNAL "" FORCE)
idf_component_register(SRCS ${SOURCES} ${LIBS} INCLUDE_DIRS "src" ${LIBS_INCL} REQUIRES ${REQUIRED_COMPONENTS})