Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. qt creator Cmake how include libs ?
QtWS25 Last Chance

qt creator Cmake how include libs ?

Scheduled Pinned Locked Moved Unsolved General and Desktop
cmakeopengllib
2 Posts 2 Posters 734 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    timob256
    wrote on 27 Sept 2022, 20:52 last edited by
    #1

    I want to add a library, but in qt6 there is no property "add library"

    I would like to add opengl

    CMakeLists.txt

    cmake_minimum_required(VERSION 3.5)
    
    project(line VERSION 0.1 LANGUAGES CXX)
    
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    
    set(CMAKE_AUTOUIC ON)
    set(CMAKE_AUTOMOC ON)
    set(CMAKE_AUTORCC ON)
    
    set(CMAKE_CXX_STANDARD 11)
    set(CMAKE_CXX_STANDARD_REQUIRED ON)
    
    find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
    find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
    find_package(Qt6 REQUIRED COMPONENTS OpenGLWidgets)
    
    set(PROJECT_SOURCES
            main.cpp
            myglwidget.cpp
            myglwidget.h
    )
    
    if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
        qt_add_executable(line
            MANUAL_FINALIZATION
            ${PROJECT_SOURCES}
        )
    # Define target properties for Android with Qt 6 as:
    #    set_property(TARGET zvezda2 APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
    #                 ${CMAKE_CURRENT_SOURCE_DIR}/android)
    # For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
    else()
        if(ANDROID)
            add_library(line SHARED
                ${PROJECT_SOURCES}
            )
    # Define properties for Android with Qt 5 after find_package() calls as:
    #    set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
        else()
            add_executable(line
                ${PROJECT_SOURCES}
            )
        endif()
    endif()
    
    target_link_libraries(line PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
    target_link_libraries(line PRIVATE Qt6::OpenGLWidgets)
    
    set_target_properties(line PROPERTIES
        MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
        MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
        MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
    )
    
    if(QT_VERSION_MAJOR EQUAL 6)
        qt_finalize_executable(line)
    endif()
    

    in Qmake "add library" work

    work QMake

    TEMPLATE = app
    CONFIG += console c++11
    CONFIG -= app_bundle
    CONFIG -= qt
    
    SOURCES += \
            hemisphereMultidraw.cpp
    
    #-
    INCLUDEPATH += $$PWD/glfw_bin/include/GLFW/ \ # добавляем для удобства чтоб напрямую писать
                   $$PWD/glew_bin/include/GL/  \ # только название заголовчного файла без полного пути
                   $$PWD/stb_image/
    
    HEADERS += \
        glfw_bin/include/GLFW/glfw3.h \
        glfw_bin/include/GLFW/glfw3native.h \
        glew_bin/include/GL/glew.h \
    
    # --- linux ---
    
    unix:!macx: LIBS += -L$$PWD/../../../../../../../usr/lib/x86_64-linux-gnu/ -lOpenGL
    
    INCLUDEPATH += $$PWD/../../../../../../../usr/include/GL
    DEPENDPATH += $$PWD/../../../../../../../usr/include/GL
    
    #- работает
    #unix:!macx: LIBS += -L$$PWD/../../../../../../../usr/lib/x86_64-linux-gnu/ -lglut
    
    #INCLUDEPATH += $$PWD/../../../../../../../usr/include/GL
    #DEPENDPATH += $$PWD/../../../../../../../usr/include/GL
    #-
    unix:!macx: LIBS += -L$$PWD/../../../../../../../usr/lib/x86_64-linux-gnu/ -lGLU
    
    INCLUDEPATH += $$PWD/../../../../../../../usr/include/GL
    DEPENDPATH += $$PWD/../../../../../../../usr/include/GL
    
    unix:!macx: LIBS += -L$$PWD/../../../../../../../usr/lib/x86_64-linux-gnu/ -lGLEW
    
    INCLUDEPATH += $$PWD/../../../../../../../usr/include/GL
    DEPENDPATH += $$PWD/../../../../../../../usr/include/GL
    #- савлю новый фриглут
    unix:!macx: LIBS += -L$$PWD/../../../../../../../usr/local/lib/ -lglut
    
    INCLUDEPATH += $$PWD/../../../../../../../usr/local/include/GL
    DEPENDPATH += $$PWD/../../../../../../../usr/local/include/GL
    
    1 Reply Last reply
    0
    • M Offline
      M Offline
      mchinand
      wrote on 27 Sept 2022, 21:41 last edited by
      #2

      If it's a library that uses CMake, it's usually pretty straightforward. For glfw, which is one you appear to be using, see its CMake documentation

      1 Reply Last reply
      2

      2/2

      27 Sept 2022, 21:41

      • Login

      • Login or register to search.
      2 out of 2
      • First post
        2/2
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved