89 lines
2.4 KiB
CMake
89 lines
2.4 KiB
CMake
cmake_minimum_required(VERSION 3.12.4)
|
|
project(rotation_test C)
|
|
|
|
set(CMAKE_C_STANDARD 99)
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O2")
|
|
|
|
# 设置交叉编译工具链
|
|
if(CMAKE_TOOLCHAIN_FILE)
|
|
message(STATUS "Using toolchain file: ${CMAKE_TOOLCHAIN_FILE}")
|
|
endif()
|
|
|
|
# 包含目录
|
|
include_directories(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/extern/qlibquammapi/include
|
|
)
|
|
|
|
# LVGL 配置
|
|
set(LV_CONF_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lv_conf.h CACHE STRING "" FORCE)
|
|
option(LV_USE_LIBPNG "Use libpng to decode PNG" OFF)
|
|
option(LV_USE_LIBJPEG_TURBO "Use libjpeg turbo to decode JPEG" OFF)
|
|
option(LV_USE_FFMPEG "Use libffmpeg to display video using lv_ffmpeg" OFF)
|
|
option(LV_USE_FREETYPE "Use freetype library" OFF)
|
|
option(CONFIG_LV_BUILD_DEMOS "Build demos" OFF)
|
|
option(LV_USE_GIF "Use GIF library" ON)
|
|
|
|
# 添加 LVGL 子目录
|
|
add_subdirectory(lvgl)
|
|
target_include_directories(lvgl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
|
target_compile_definitions(lvgl PUBLIC LV_CONF_INCLUDE_SIMPLE)
|
|
|
|
# 源文件
|
|
set(SOURCES
|
|
src/main.c
|
|
src/rotation_test.c
|
|
src/display/fbdev_10xd.c
|
|
src/video_player.c
|
|
)
|
|
|
|
# 生成可执行文件
|
|
add_executable(rotation_test ${SOURCES})
|
|
|
|
# 定义编译宏
|
|
target_compile_definitions(rotation_test PRIVATE
|
|
LV_CONF_INCLUDE_SIMPLE
|
|
CONFIG_XOS_FB_ROTATION=1
|
|
)
|
|
|
|
# 链接目录
|
|
link_directories(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/extern/qlibquammapi/qm10xd_linux
|
|
)
|
|
|
|
# 手动添加共享库
|
|
add_library(quamm_common SHARED IMPORTED)
|
|
set_target_properties(quamm_common PROPERTIES
|
|
IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/extern/qlibquammapi/qm10xd_linux/libquamm_common.so
|
|
)
|
|
|
|
add_library(quamm_gl SHARED IMPORTED)
|
|
set_target_properties(quamm_gl PROPERTIES
|
|
IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/extern/qlibquammapi/qm10xd_linux/libquamm_gl.so
|
|
)
|
|
|
|
add_library(quamm_utils SHARED IMPORTED)
|
|
set_target_properties(quamm_utils PROPERTIES
|
|
IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/extern/qlibquammapi/qm10xd_linux/libquamm_utils.so
|
|
)
|
|
|
|
add_library(quamm_player SHARED IMPORTED)
|
|
set_target_properties(quamm_player PROPERTIES
|
|
IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/extern/qlibquammapi/qm10xd_linux/libquamm.player.so
|
|
)
|
|
|
|
# 链接库
|
|
target_link_libraries(rotation_test PRIVATE
|
|
lvgl
|
|
pthread
|
|
m
|
|
quamm_common
|
|
quamm_gl
|
|
quamm_utils
|
|
quamm_player
|
|
)
|
|
|
|
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
|
|
message(STATUS "C Flags: ${CMAKE_C_FLAGS}")
|