Код: Выделить всё
cmake_minimum_required(VERSION 3.27)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
include(pico_sdk_import.cmake)
project(msc_bare_metal C CXX ASM)
# Initialise the Raspberry Pi Pico SDK
pico_sdk_init()
add_subdirectory(file_processing)
add_subdirectory(src)
add_subdirectory(app)
Код: Выделить всё
set(FATFS_LIB_SOURCES
$ENV{PICO_TINYUSB_PATH}/lib/fatfs/source/ff.c
$ENV{PICO_TINYUSB_PATH}/lib/fatfs/source/ffsystem.c
$ENV{PICO_TINYUSB_PATH}/lib/fatfs/source/ffunicode.c
$ENV{PICO_TINYUSB_PATH}/lib/fatfs/source/diskio.c
)
set(FATFS_LIB_HEADERS
$ENV{PICO_TINYUSB_PATH}/lib/fatfs/source/diskio.h
$ENV{PICO_TINYUSB_PATH}/lib/fatfs/source/ffconf.h
$ENV{PICO_TINYUSB_PATH}/lib/fatfs/source/ff.h
)
add_library(file_processing)
# Add C sources normally
target_sources(file_processing
PRIVATE
${FATFS_LIB_SOURCES}
file_processing.c
)
target_sources(file_processing
PRIVATE
FILE_SET HEADERS
BASE_DIRS
$ENV{PICO_TINYUSB_PATH}/lib/fatfs/source
${CMAKE_CURRENT_LIST_DIR}
FILES
${FATFS_LIB_HEADERS}
file_processing.h
)
# No need for target_include_directories(), file set handles it
target_link_libraries(file_processing
PUBLIC
pico_stdlib
tinyusb_host
tinyusb_board
hardware_i2c
)
Код: Выделить всё
set(LIBRARY_HEADER tusb_config.h msc_app.h )
add_library(src_lib)
target_sources(src_lib
PRIVATE
msc_app.c )
target_sources(src_lib
PUBLIC
FILE_SET HEADERS
BASE_DIRS
${CMAKE_CURRENT_LIST_DIR}
FILES
${LIBRARY_HEADER} )
target_link_libraries(src_lib PRIVATE file_processing)
Код: Выделить всё
add_executable(main main.c)
target_link_libraries(main PRIVATE file_processing src_lib)
pico_add_extra_outputs(main)
Код: Выделить всё
> H:/tinyusb/src/tusb_option.h:257:12: fatal error: tusb_config.h: No such file or directory
257 | #include "tusb_config.h"
| ^~~~~~~~~~~~~~~
С уважением
Подробнее здесь: https://stackoverflow.com/questions/798 ... cmakelists
Мобильная версия