Mercurial > hg > orthanc-stone
annotate Resources/CMake/QtConfiguration.cmake @ 1040:14c0a29cd9ec
qt and lsb
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 08 Oct 2019 11:19:58 +0200 |
parents | 4e713ef78a5a |
children | 95939fa925f6 |
rev | line source |
---|---|
276
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
1 # Stone of Orthanc |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
3 # Department, University Hospital of Liege, Belgium |
439 | 4 # Copyright (C) 2017-2019 Osimis S.A., Belgium |
276
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
5 # |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
6 # This program is free software: you can redistribute it and/or |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
7 # modify it under the terms of the GNU Affero General Public License |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
8 # as published by the Free Software Foundation, either version 3 of |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
9 # the License, or (at your option) any later version. |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
10 # |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
11 # This program is distributed in the hope that it will be useful, but |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
12 # WITHOUT ANY WARRANTY; without even the implied warranty of |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
14 # Affero General Public License for more details. |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
15 # |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
16 # You should have received a copy of the GNU Affero General Public License |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
18 |
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
19 |
365
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
20 set(CMAKE_AUTOMOC OFF) |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
21 set(CMAKE_AUTOUIC OFF) |
276
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
22 |
1040 | 23 if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase") |
24 # Linux Standard Base version 5 ships Qt 4.2.3 | |
25 include(Qt4Macros) | |
320
10d188d6e5cc
compatibility with Qt4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
292
diff
changeset
|
26 |
1040 | 27 set(QT_UIC_EXECUTABLE ${LSB_PATH}/bin/uic) |
28 set(QT_MOC_EXECUTABLE ${LSB_PATH}/bin/moc) | |
29 | |
30 include_directories( | |
31 ${LSB_PATH}/include/QtCore | |
32 ${LSB_PATH}/include/QtGui | |
33 ${LSB_PATH}/include/QtOpenGL | |
320
10d188d6e5cc
compatibility with Qt4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
292
diff
changeset
|
34 ) |
365
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
35 |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
36 macro(ORTHANC_QT_WRAP_UI) |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
37 QT4_WRAP_UI(${ARGN}) |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
38 endmacro() |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
39 |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
40 macro(ORTHANC_QT_WRAP_CPP) |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
41 QT4_WRAP_CPP(${ARGN}) |
1040 | 42 endmacro() |
43 | |
44 link_libraries(QtCore QtGui QtOpenGL) | |
365
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
45 |
1040 | 46 else() |
47 # Not using Linux Standard Base | |
48 # Find the QtWidgets library | |
49 find_package(Qt5Widgets QUIET) | |
50 | |
51 if (Qt5Widgets_FOUND) | |
52 message("Qt5 has been detected") | |
53 find_package(Qt5Core REQUIRED) | |
54 link_libraries( | |
55 Qt5::Widgets | |
56 Qt5::Core | |
57 ) | |
58 | |
59 if (ENABLE_OPENGL) | |
60 find_package(Qt5OpenGL REQUIRED) | |
61 link_libraries( | |
62 Qt5::OpenGL | |
63 ) | |
64 endif() | |
65 | |
66 # Create aliases for the CMake commands | |
67 macro(ORTHANC_QT_WRAP_UI) | |
68 QT5_WRAP_UI(${ARGN}) | |
69 endmacro() | |
70 | |
71 macro(ORTHANC_QT_WRAP_CPP) | |
72 QT5_WRAP_CPP(${ARGN}) | |
73 endmacro() | |
74 | |
75 else() | |
76 message("Qt5 has not been found, trying with Qt4") | |
77 find_package(Qt4 REQUIRED QtGui) | |
78 link_libraries( | |
79 Qt4::QtGui | |
80 ) | |
81 | |
82 if (ENABLE_OPENGL) | |
83 find_package(Qt4 REQUIRED QtOpenGL) | |
84 link_libraries( | |
85 Qt4::QtOpenGL | |
86 ) | |
87 endif() | |
88 | |
89 # Create aliases for the CMake commands | |
90 macro(ORTHANC_QT_WRAP_UI) | |
91 QT4_WRAP_UI(${ARGN}) | |
92 endmacro() | |
93 | |
94 macro(ORTHANC_QT_WRAP_CPP) | |
95 QT4_WRAP_CPP(${ARGN}) | |
96 endmacro() | |
97 endif() | |
320
10d188d6e5cc
compatibility with Qt4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
292
diff
changeset
|
98 endif() |
276
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
99 |
1028 | 100 |
101 if (ENABLE_STONE_DEPRECATED) | |
102 list(APPEND QT_SOURCES | |
1040 | 103 ${ORTHANC_STONE_ROOT}/Applications/Qt/QCairoWidget.cpp |
104 ${ORTHANC_STONE_ROOT}/Applications/Qt/QStoneMainWindow.cpp | |
1028 | 105 ${ORTHANC_STONE_ROOT}/Applications/Qt/QtStoneApplicationRunner.cpp |
106 ) | |
107 | |
108 ORTHANC_QT_WRAP_CPP(QT_SOURCES | |
1040 | 109 ${ORTHANC_STONE_ROOT}/Applications/Qt/QCairoWidget.h |
1028 | 110 ${ORTHANC_STONE_ROOT}/Applications/Qt/QStoneMainWindow.h |
111 ) | |
112 endif() | |
113 | |
365
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
114 |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
115 # NB: Including CMAKE_CURRENT_BINARY_DIR is mandatory, as the CMake |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
116 # macros for Qt will put their result in that directory, which cannot |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
117 # be changed. |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
118 # https://stackoverflow.com/a/4016784/881731 |
276
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
119 |
365
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
120 include_directories( |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
121 ${ORTHANC_STONE_ROOT}/Applications/Qt/ |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
122 ${CMAKE_CURRENT_BINARY_DIR} |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
123 ) |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
124 |