15.6_demo/CMakeLists.txt

75 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(d213_demo C CXX)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 11)
# 屏幕分辨率配置
set(LV_HOR_SIZE 800 CACHE STRING "Horizontal resolution")
set(LV_VER_SIZE 1280 CACHE STRING "Vertical resolution")
# 添加 LVGL 库
add_subdirectory(lvgl)
target_compile_definitions(lvgl PUBLIC LV_CONF_INCLUDE_SIMPLE)
# 添加库搜索路径(必须在 add_executable 之前)
if(CMAKE_CROSSCOMPILING)
set(TOOLCHAIN_PREFIX /home/hyx/work/15.6/riscv64-linux-glibc-x86_64-V2.10.1)
set(SYSROOT ${TOOLCHAIN_PREFIX}/sysroot)
link_directories(
${SYSROOT}/lib64xthead/lp64d
${SYSROOT}/usr/lib64xthead/lp64d
${SYSROOT}/lib
${SYSROOT}/usr/lib
)
endif()
# 源文件
set(SOURCES
src/main.c
src/fbdev.c
src/lv_port_disp.c
src/lv_port_indev.c
)
# 可执行文件
add_executable(d213_demo ${SOURCES})
# 包含目录
target_include_directories(d213_demo PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}
)
# 交叉编译时添加 sysroot 头文件路径
if(CMAKE_CROSSCOMPILING)
target_include_directories(d213_demo PRIVATE
${SYSROOT}/usr/include
)
endif()
# 链接库
target_link_libraries(d213_demo
lvgl
pthread
m
)
# 添加链接器标志
if(CMAKE_CROSSCOMPILING)
target_link_options(d213_demo PRIVATE
-L${SYSROOT}/usr/lib64xthead/lp64d
-L${SYSROOT}/lib64xthead/lp64d
)
endif()
# 编译选项
target_compile_options(d213_demo PRIVATE
-Wall
-Wextra
-O2
)
# 安装规则
install(TARGETS d213_demo DESTINATION bin)