cmake_minimum_required(VERSION 3.10) set(this_exe PlayerGL) # 添加 OpenGL 和 Qt 配置选项 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_OPENGL_LIB -DQT_WIDGETS_LIB") #包含源文件 file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.qrc ${CMAKE_CURRENT_SOURCE_DIR}/*.rc ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/*.ui # ${CMAKE_CURRENT_SOURCE_DIR}/VideoPlayer/*.cpp # ${CMAKE_CURRENT_SOURCE_DIR}/demo/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Player/*.cpp ${CMAKE_SOURCE_DIR}/External/module/Logs/*.cpp ${CMAKE_SOURCE_DIR}/External/module/ThreadPool/*.cpp # ${CMAKE_SOURCE_DIR}/External/module/VideoPlayer/*.cpp ) # 生成可执行程序 add_executable(${this_exe} # WIN32 ${GLOBAL_SRC} ${LOCAL_SRC} ) # set_target_properties(${this_exe} PROPERTIES # ) #添加头文件 target_include_directories(${this_exe} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Player # ${CMAKE_CURRENT_SOURCE_DIR}/VideoPlayer # ${CMAKE_CURRENT_SOURCE_DIR}/demo ${CMAKE_SOURCE_DIR}/External/common ${CMAKE_SOURCE_DIR}/External/module ${CMAKE_SOURCE_DIR}/External/module/ThreadPool ${CMAKE_SOURCE_DIR}/External/module/RingQueue # ${CMAKE_SOURCE_DIR}/External/module/VideoPlayer # ${CURL_INCLUDE_DIR} # ${FFMPEG_INCLUDE_DIR} ${spdlog_INCLUDE_DIR} ) find_package(OpenGL REQUIRED) target_link_libraries(${this_exe} PRIVATE Qt6::Widgets Qt6::Core Qt6::Network Qt6::Gui Qt6::OpenGL Qt6::OpenGLWidgets ${OPENGL_LIBRARIES} ) # 确保正确的 Qt 配置 set(QT_QPA_PLATFORM "cocoa" CACHE STRING "Qt Platform") set(QT_QPA_PLATFORM_PLUGIN_PATH "${CMAKE_PREFIX_PATH}/plugins/platforms" CACHE STRING "Qt Platform Plugin Path") target_link_libraries(${this_exe} PRIVATE # fmt::fmt # spdlog::spdlog # ${CURL_LIBRARY} # ${FFMPEG_LIBRARY} ${spdlog_LIBRARY} ) # if(CMAKE_CXX_COMPILER_VERSION LESS 9.0) # target_link_libraries(${this_exe} PRIVATE # stdc++fs # ) # endif() # target_link_libraries(${this_exe} PRIVATE # GL # GUL # ) # message(STATUS "CURL_LIBRARY: ${CURL_LIBRARY}") # if(CMAKE_CXX_COMPILER_ID MATCHES MSVC) # target_link_libraries(${this_exe} PRIVATE # # debug spdlogd.lib # # optimized spdlog.lib # ) # elseif(CMAKE_CXX_COMPILER_ID MATCHES GNU) # target_link_libraries(${this_exe} PRIVATE # # debug # # optimized ${SM_DLL} # ) # endif()