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}")