Skip to content

Commit 3ceba3a

Browse files
committed
Configuration - add option to build against Qt6
1 parent 8114157 commit 3ceba3a

4 files changed

Lines changed: 56 additions & 10 deletions

File tree

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build (Linux/GCC)
1+
name: Build (Linux/GCC/Qt5)
22
on:
33
push:
44
branches: [ master ]
@@ -29,7 +29,7 @@ jobs:
2929
- name: Configure project
3030
run: |
3131
mkdir "build"
32-
cmake -G Ninja -S . -B "./build"
32+
cmake -G Ninja -S . -B "./build" -D QT_VERSION=Qt5
3333
- name: Build project
3434
run: |
3535
cmake --build "./build" --config Release
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Build (Linux/GCC/Qt6)
2+
on:
3+
push:
4+
branches: [ master ]
5+
pull_request:
6+
branches: [ master ]
7+
workflow_dispatch:
8+
9+
jobs:
10+
Ubuntu:
11+
runs-on: ubuntu-24.04
12+
steps:
13+
- name: Clone Tree
14+
uses: actions/checkout@v1
15+
with:
16+
fetch-depth: 1
17+
- name: Install Dependencies
18+
run: |
19+
sudo apt-get update
20+
sudo apt-get install -y \
21+
g++ cmake ninja-build \
22+
libocct-draw-dev libocct-visualization-dev libocct-ocaf-dev libocct-modeling-data-dev \
23+
libocct-modeling-algorithms-dev libocct-foundation-dev libocct-data-exchange-dev \
24+
libgl-dev libegl-dev \
25+
tcllib tklib tcl-dev tk-dev \
26+
libtbb-dev \
27+
qt6-base-dev qt6-declarative-dev qml6-module-qtquick-controls qml6-module-qtquick-templates \
28+
xvfb
29+
- name: Configure project
30+
run: |
31+
mkdir "build"
32+
cmake -G Ninja -S . -B "./build" -D QT_VERSION=Qt6
33+
- name: Build project
34+
run: |
35+
cmake --build "./build" --config Release

occt-qopenglwidget/CMakeLists.txt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,21 @@ endif()
4747
# Find OpenGL
4848
find_package (OpenGL REQUIRED)
4949

50-
# Find Qt5
50+
# Find Qt
51+
set (QT_VERSION "Qt5" CACHE STRING "Qt major version to use")
52+
set_property (CACHE QT_VERSION PROPERTY STRINGS Qt5 Qt6)
5153
set (CMAKE_AUTOUIC ON)
5254
set (CMAKE_AUTOMOC ON)
5355
set (CMAKE_AUTORCC ON)
5456
set_property (GLOBAL PROPERTY AUTOMOC_SOURCE_GROUP "Generated Files/Moc")
5557
set_property (GLOBAL PROPERTY AUTORCC_SOURCE_GROUP "Generated Files/Resources")
56-
find_package (Qt5 COMPONENTS Widgets REQUIRED)
58+
if ("${QT_VERSION}" STREQUAL "Qt6")
59+
set (QT_COMPONENT_OPENGLWIDGETS "OpenGLWidgets")
60+
elseif()
61+
set (QT_COMPONENT_OPENGLWIDGETS "Widgets")
62+
endif()
63+
find_package (${QT_VERSION} COMPONENTS ${QT_COMPONENT_OPENGLWIDGETS} REQUIRED)
64+
message (STATUS "Using ${QT_VERSION} from \"${${QT_VERSION}_DIR}\"")
5765

5866
# Find Open CASCADE Technology
5967
find_package (OpenCASCADE REQUIRED)
@@ -77,12 +85,12 @@ add_executable (${PROJECT_NAME}
7785
OcctGlTools.cpp
7886
OcctQtTools.h
7987
)
80-
target_link_libraries (${PROJECT_NAME} PRIVATE Qt5::Widgets ${OpenCASCADE_LIBS} ${OPENGL_LIBRARIES})
88+
target_link_libraries (${PROJECT_NAME} PRIVATE ${QT_VERSION}::${QT_COMPONENT_OPENGLWIDGETS} ${OpenCASCADE_LIBS} ${OPENGL_LIBRARIES})
8189

8290
# auxiliary development environment
8391
if (MSVC)
8492
set (X_COMPILER_BITNESS x64)
85-
get_target_property (QtCore_location Qt5::Core LOCATION)
93+
get_target_property (QtCore_location ${QT_VERSION}::Core LOCATION)
8694
get_filename_component (QT_BINARY_DIR ${QtCore_location} DIRECTORY)
8795
set (QT_PLUGINS_DIR)
8896
if (EXISTS "${QT_BINARY_DIR}/../plugins")

occt-qwidget/CMakeLists.txt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,16 @@ endif()
4747
# Find OpenGL
4848
find_package (OpenGL REQUIRED)
4949

50-
# Find Qt5
50+
# Find Qt
51+
set (QT_VERSION "Qt5" CACHE STRING "Qt major version to use")
52+
set_property (CACHE QT_VERSION PROPERTY STRINGS Qt5 Qt6)
5153
set (CMAKE_AUTOUIC ON)
5254
set (CMAKE_AUTOMOC ON)
5355
set (CMAKE_AUTORCC ON)
5456
set_property (GLOBAL PROPERTY AUTOMOC_SOURCE_GROUP "Generated Files/Moc")
5557
set_property (GLOBAL PROPERTY AUTORCC_SOURCE_GROUP "Generated Files/Resources")
56-
find_package (Qt5 COMPONENTS Widgets REQUIRED)
58+
find_package (${QT_VERSION} COMPONENTS Widgets REQUIRED)
59+
message (STATUS "Using ${QT_VERSION} from \"${${QT_VERSION}_DIR}\"")
5760

5861
# Find Open CASCADE Technology
5962
find_package (OpenCASCADE REQUIRED)
@@ -75,12 +78,12 @@ add_executable (${PROJECT_NAME}
7578
OcctQWidgetViewer.h
7679
OcctQWidgetViewer.cpp
7780
)
78-
target_link_libraries (${PROJECT_NAME} PRIVATE Qt5::Widgets ${OpenCASCADE_LIBS} ${OPENGL_LIBRARIES})
81+
target_link_libraries (${PROJECT_NAME} PRIVATE ${QT_VERSION}::Widgets ${OpenCASCADE_LIBS} ${OPENGL_LIBRARIES})
7982

8083
# auxiliary development environment
8184
if (MSVC)
8285
set (X_COMPILER_BITNESS x64)
83-
get_target_property (QtCore_location Qt5::Core LOCATION)
86+
get_target_property (QtCore_location ${QT_VERSION}::Core LOCATION)
8487
get_filename_component (QT_BINARY_DIR ${QtCore_location} DIRECTORY)
8588
set (QT_PLUGINS_DIR)
8689
if (EXISTS "${QT_BINARY_DIR}/../plugins")

0 commit comments

Comments
 (0)