cmake_minimum_required(VERSION 3.10) set(this_exe PlayerGL) #包含源文件 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}/OpenGLWidgetAPI/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/VideoPlayer/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/VideoPlayerAPI/*.cpp ${CMAKE_SOURCE_DIR}/External/module/Logs/*.cpp ${CMAKE_SOURCE_DIR}/External/module/ThreadPool/*.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}/OpenGLWidgetAPI ${CMAKE_CURRENT_SOURCE_DIR}/VideoPlayer ${CMAKE_CURRENT_SOURCE_DIR}/VideoPlayerAPI ${CMAKE_SOURCE_DIR}/External/common ${CMAKE_SOURCE_DIR}/External/module ${CMAKE_SOURCE_DIR}/External/module/ThreadPool ${CMAKE_SOURCE_DIR}/External/module/RingQueue ${spdlog_INCLUDE_DIR} ${FFMPEG_INCLUDE_DIR} ) target_link_libraries(${this_exe} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Network # Qt${QT_VERSION_MAJOR}::Gui ) target_link_libraries(${this_exe} PRIVATE # ${CURL_LIBRARY} ${FFMPEG_LIBRARY} ${spdlog_LIBRARY} ) if(QT_VERSION_MAJOR EQUAL 5) target_link_libraries(${this_exe} PRIVATE Qt5::OpenGL ) elseif(QT_VERSION_MAJOR EQUAL 6) target_link_libraries(${this_exe} PRIVATE Qt6::OpenGLWidgets ) endif(QT_VERSION_MAJOR EQUAL 5) if(CMAKE_SYSTEM_NAME MATCHES "Windows") target_link_libraries(${this_exe} PRIVATE opengl32 ) elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") target_link_libraries(${this_exe} PRIVATE GL ) endif() # 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()