#使用OpenGL绘制图片 message(STATUS "***** Find OpenGLWidget Library *****") #寻找头文件,需要判断gcc编译器版本 unset(OpenGLWidget_INCLUDE_DIR CACHE) unset(OpenGLWidget_SOURCE_DIR CACHE) set(OpenGLWidget_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/src) set(OpenGLWidget_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/src) unset(libDebug CACHE) unset(libRelease CACHE) unset(OpenGLWidget_LIBRARY CACHE) #查找库文件,需要判断操作系统,位数 if(CMAKE_SYSTEM_NAME MATCHES "Windows") #GCC编译器 if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") #64位 if(CMAKE_SIZEOF_VOID_P EQUAL 8) #判断Qt版本,是Qt5.15还是5.12 if(QT_VERSION_MAJOR EQUAL 5 AND QT_VERSION_MINOR EQUAL 15) set(libDebug ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.15.16/libOpenGLWidgetd.dll) set(libRelease ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.15.16/libOpenGLWidget.dll) elseif(QT_VERSION_MAJOR EQUAL 5 AND QT_VERSION_MINOR EQUAL 12) set(libDebug ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.12.12/libOpenGLWidgetd.dll) set(libRelease ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.12.12/libOpenGLWidget.dll) endif() #32位 elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) #判断Qt版本,是Qt5.15还是5.12 if(QT_VERSION_MAJOR EQUAL 5 AND QT_VERSION_MINOR EQUAL 15) message(STATUS "32位仅支持Qt5.12.12版本") elseif(QT_VERSION_MAJOR EQUAL 5 AND QT_VERSION_MINOR EQUAL 12) set(libDebug ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.12.12/libOpenGLWidgetd.dll) set(libRelease ${CMAKE_CURRENT_LIST_DIR}/Libs/windows/Qt5.12.12/libOpenGLWidget.dll) endif() endif() #MSVC编译器 elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") message(STATUS "暂不支持MSVC编译器") endif() #添加Linux版本 elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") set(libDebug ${CMAKE_CURRENT_LIST_DIR}/Libs/linux/libOpenGLWidgetd.so) set(libRelease ${CMAKE_CURRENT_LIST_DIR}/Libs/linux/libOpenGLWidget.so) #MacOS版本 elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin") #MacOS版本 message(STATUS "暂不支持MacOS版本") endif() if(CMAKE_BUILD_TYPE MATCHES "Debug") list(APPEND OpenGLWidget_LIBRARY ${libDebug}) else() list(APPEND OpenGLWidget_LIBRARY ${libRelease}) endif() if(OpenGLWidget_INCLUDE_DIR AND OpenGLWidget_SOURCE_DIR AND OpenGLWidget_LIBRARY) set(OpenGLWidget_FOUND TRUE) set(OpenGLWidget_VERSION 1.0.0.0) message(STATUS "include : OpenGLWidget_INCLUDE_DIR") message(STATUS "source : OpenGLWidget_SOURCE_DIR") else() set(OpenGLWidget_FOUND FALSE) endif() message(STATUS "OpenGLWidget FOUND: ${OpenGLWidget_FOUND}") message(STATUS "OpenGLWidget Version: ${OpenGLWidget_VERSION}") message(STATUS "--------------------------------------------------")