summaryrefslogtreecommitdiffstats
path: root/src/plugins/renderers/opengl/CMakeLists.txt
blob: 242dfb5bb7eb52ad31ad981213648156f359aed4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# Generated from opengl.pro.

set(openGLRendererSources graphicshelpers/graphicscontext.cpp graphicshelpers/graphicscontext_p.h
    graphicshelpers/graphicshelperes2.cpp graphicshelpers/graphicshelperes2_p.h
    graphicshelpers/graphicshelperes3.cpp graphicshelpers/graphicshelperes3_p.h
    graphicshelpers/graphicshelperes3_1.cpp graphicshelpers/graphicshelperes3_1_p.h
    graphicshelpers/graphicshelperes3_2.cpp graphicshelpers/graphicshelperes3_2_p.h
    graphicshelpers/graphicshelpergl2.cpp graphicshelpers/graphicshelpergl2_p.h
    graphicshelpers/graphicshelpergl3_2.cpp graphicshelpers/graphicshelpergl3_2_p.h
    graphicshelpers/graphicshelpergl3_3.cpp graphicshelpers/graphicshelpergl3_3_p.h
    graphicshelpers/graphicshelpergl4.cpp graphicshelpers/graphicshelpergl4_p.h
    graphicshelpers/graphicshelperinterface_p.h
    graphicshelpers/imagesubmissioncontext.cpp graphicshelpers/imagesubmissioncontext_p.h
    graphicshelpers/qgraphicsutils_p.h
    graphicshelpers/submissioncontext.cpp graphicshelpers/submissioncontext_p.h
    graphicshelpers/texturesubmissioncontext.cpp graphicshelpers/texturesubmissioncontext_p.h
    io/glbuffer.cpp io/glbuffer_p.h
    managers/gl_handle_types_p.h
    managers/glresourcemanagers.cpp managers/glresourcemanagers_p.h
    renderer/commandexecuter.cpp renderer/commandexecuter_p.h
    renderer/frameprofiler_p.h
    renderer/glfence_p.h
    renderer/gllights.cpp renderer/gllights_p.h
    renderer/glshader.cpp renderer/glshader_p.h
    renderer/logging.cpp renderer/logging_p.h
    renderer/openglvertexarrayobject.cpp renderer/openglvertexarrayobject_p.h
    renderer/rendercommand.cpp renderer/rendercommand_p.h
    renderer/renderer.cpp renderer/renderer_p.h
    renderer/renderview.cpp renderer/renderview_p.h
    renderer/renderviewbuilder.cpp renderer/renderviewbuilder_p.h
    renderer/shaderparameterpack.cpp renderer/shaderparameterpack_p.h
    renderer/shadervariables_p.h
    textures/gltexture.cpp textures/gltexture_p.h
    textures/renderbuffer.cpp textures/renderbuffer_p.h
)

#####################################################################
## Static library used for Unit Tests:
#####################################################################

if(QT_FEATURE_private_tests)

    add_library(OpenGLRendererLib STATIC ${openGLRendererSources})

    target_include_directories(OpenGLRendererLib PUBLIC
        graphicshelpers
        io
        jobs
        managers
        renderer
        textures
    )

    target_link_libraries(OpenGLRendererLib
        PUBLIC
            Qt::3DCore
            Qt::3DCorePrivate
            Qt::3DRender
            Qt::3DRenderPrivate
            Qt::Core
            Qt::CorePrivate
            Qt::Gui
            Qt::GuiPrivate
            Qt::OpenGL
            Qt::OpenGLPrivate
    )

    target_compile_definitions(OpenGLRendererLib PRIVATE
        BUILD_QT3D_MODULE
        QT_BUILDING_QT
        QT_NO_FOREACH
    )

    qt_internal_extend_target(OpenGLRendererLib CONDITION NOT INTEGRITY
        SOURCES
            debug/imguirenderer.cpp debug/imguirenderer_p.h
            ${PROJECT_SOURCE_DIR}/src/3rdparty/imgui/imgui.cpp
            ${PROJECT_SOURCE_DIR}/src/3rdparty/imgui/imgui_draw.cpp
            ${PROJECT_SOURCE_DIR}/src/3rdparty/imgui/imgui_widgets.cpp
        INCLUDE_DIRECTORIES
            debug
            ${PROJECT_SOURCE_DIR}/src/3rdparty/imgui
    )

endif()

#####################################################################
## OpenGLRendererPlugin Plugin:
#####################################################################

qt_internal_add_plugin(OpenGLRendererPlugin
    OUTPUT_NAME openglrenderer
    TYPE renderers
    SOURCES
        main.cpp
        ${openGLRendererSources}
    DEFINES
        BUILD_QT3D_MODULE
        QT_BUILDING_QT
        QT_NO_FOREACH
    INCLUDE_DIRECTORIES
        graphicshelpers
        io
        jobs
        managers
        renderer
        textures
    PUBLIC_LIBRARIES
        Qt::3DCore
        Qt::3DCorePrivate
        Qt::3DRender
        Qt::3DRenderPrivate
        Qt::Core
        Qt::CorePrivate
        Qt::Gui
        Qt::GuiPrivate
        Qt::OpenGL
        Qt::OpenGLPrivate
)

qt_internal_extend_target(OpenGLRendererPlugin CONDITION NOT INTEGRITY
    SOURCES
        debug/imguirenderer.cpp debug/imguirenderer_p.h
        ${PROJECT_SOURCE_DIR}/src/3rdparty/imgui/imgui.cpp
        ${PROJECT_SOURCE_DIR}/src/3rdparty/imgui/imgui_draw.cpp
        ${PROJECT_SOURCE_DIR}/src/3rdparty/imgui/imgui_widgets.cpp
    INCLUDE_DIRECTORIES
        debug
        ${PROJECT_SOURCE_DIR}/src/3rdparty/imgui
)

## Scopes:
#####################################################################

qt_internal_extend_target(OpenGLRendererPlugin CONDITION gcov
    COMPILE_OPTIONS
        -fprofile-arcs
        -ftest-coverage
    LINK_OPTIONS
        "-fprofile-arcs"
        "-ftest-coverage"
)