我有这样的架构:
ARGB2RGB/
├── CMakeLists.txt
└── src/
├── CMakeLists.txt
├── main.cpp
└── STATIC/
├── CMakeLists.txt
├── SETTINGS/
│ ├── SETTINGS.h
│ └── SETTINGS.cpp
但不知道 - 在 CMakeLists.txt 中写什么
请帮助我。 我在 ESP-IDF DOCS 和 CMAKE DOCS 阅读了信息以及示例。 但不知道在 CMakeLists.txt 中写什么。
我尝试了 ChatGPT4 - 但它也没有帮助。
这是我的 CMakeLists.txt。
ARGB2RGB/CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(ARGB2RGB)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
ARGB2RGB/src/CMakeLists.txt
idf_component_register(SRCS "main.cpp"
INCLUDE_DIRS "")
add_subdirectory(STATIC)
ARGB2RGB/src/STATIC/CMakeLists.txt
idf_component_register(SRCS "SETTINGS/SETTINGS.cpp"
INCLUDE_DIRS "SETTINGS")
ARGB2RGB/src/STATIC/SETTINGS/CMakeLists.txt
idf_component_register(SRCS "SETTINGS.cpp"
INCLUDE_DIRS ".")
你能帮我吗?
UPD1:
我尝试了@Codo 所说的,但我也没有编译。 我删除了所有 CMakeLists.txt,除了两个。
ARGB2RGB/CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(ARDB2RGB)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
ARGB2RGB/src/CMakeLists.txt
idf_component_register(SRCS "main.cpp"
INCLUDE_DIRS "")
target_sources(${COMPONENT_TARGET} PRIVATE "STATIC/SETTINGS/SETTINGS.cpp")
工作设置可能如下所示(但这取决于包含路径的外观以及您实际上想要通过深层嵌套实现的目标)。
ARGB2RGB/src/CMakeLists.txt
idf_component_register(SRCS "main.cpp"
INCLUDE_DIRS "")
add_subdirectory(STATIC)
ARGB2RGB/src/static/CMakeLists.txt
set(src_files "static.cpp")
add_prefix(srcs "${CMAKE_CURRENT_LIST_DIR}/" "${srcs}")
target_include_directories(${COMPONENT_LIB} PUBLIC .)
target_sources(${COMPONENT_LIB} PRIVATE "${src_files}")
add_subdirectory(settings)
ARGB2RGB/src/static/settings/CMakeLists.txt
set(src_files "settings.cpp")
add_prefix(srcs "${CMAKE_CURRENT_LIST_DIR}/" "${srcs}")
target_include_directories(${COMPONENT_LIB} PUBLIC .)
target_sources(${COMPONENT_LIB} PRIVATE "${src_files}")
我使用小写名称,因为大写名称违反所有 C/C++ 约定。