Mercurial > hg > orthanc-stone
annotate Resources/CMake/QtConfiguration.cmake @ 1041:95939fa925f6
LinuxStandardBaseUic.py
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 08 Oct 2019 17:23:27 +0200 |
parents | 14c0a29cd9ec |
children | b60d70e8b55c |
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 |
1041
95939fa925f6
LinuxStandardBaseUic.py
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1040
diff
changeset
|
27 # The script "LinuxStandardBaseUic.py" is just a wrapper around the |
95939fa925f6
LinuxStandardBaseUic.py
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1040
diff
changeset
|
28 # "uic" compiler from LSB that does not support the "<?xml ...?>" |
95939fa925f6
LinuxStandardBaseUic.py
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1040
diff
changeset
|
29 # header that is automatically added by Qt Creator |
95939fa925f6
LinuxStandardBaseUic.py
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1040
diff
changeset
|
30 set(QT_UIC_EXECUTABLE ${CMAKE_CURRENT_LIST_DIR}/LinuxStandardBaseUic.py) |
95939fa925f6
LinuxStandardBaseUic.py
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1040
diff
changeset
|
31 |
1040 | 32 set(QT_MOC_EXECUTABLE ${LSB_PATH}/bin/moc) |
33 | |
34 include_directories( | |
35 ${LSB_PATH}/include/QtCore | |
36 ${LSB_PATH}/include/QtGui | |
37 ${LSB_PATH}/include/QtOpenGL | |
320
10d188d6e5cc
compatibility with Qt4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
292
diff
changeset
|
38 ) |
365
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_UI) |
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_UI(${ARGN}) |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
42 endmacro() |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
43 |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
44 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
|
45 QT4_WRAP_CPP(${ARGN}) |
1040 | 46 endmacro() |
47 | |
48 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
|
49 |
1040 | 50 else() |
51 # Not using Linux Standard Base | |
52 # Find the QtWidgets library | |
53 find_package(Qt5Widgets QUIET) | |
54 | |
55 if (Qt5Widgets_FOUND) | |
56 message("Qt5 has been detected") | |
57 find_package(Qt5Core REQUIRED) | |
58 link_libraries( | |
59 Qt5::Widgets | |
60 Qt5::Core | |
61 ) | |
62 | |
63 if (ENABLE_OPENGL) | |
64 find_package(Qt5OpenGL REQUIRED) | |
65 link_libraries( | |
66 Qt5::OpenGL | |
67 ) | |
68 endif() | |
69 | |
70 # Create aliases for the CMake commands | |
71 macro(ORTHANC_QT_WRAP_UI) | |
72 QT5_WRAP_UI(${ARGN}) | |
73 endmacro() | |
74 | |
75 macro(ORTHANC_QT_WRAP_CPP) | |
76 QT5_WRAP_CPP(${ARGN}) | |
77 endmacro() | |
78 | |
79 else() | |
80 message("Qt5 has not been found, trying with Qt4") | |
81 find_package(Qt4 REQUIRED QtGui) | |
82 link_libraries( | |
83 Qt4::QtGui | |
84 ) | |
85 | |
86 if (ENABLE_OPENGL) | |
87 find_package(Qt4 REQUIRED QtOpenGL) | |
88 link_libraries( | |
89 Qt4::QtOpenGL | |
90 ) | |
91 endif() | |
92 | |
93 # Create aliases for the CMake commands | |
94 macro(ORTHANC_QT_WRAP_UI) | |
95 QT4_WRAP_UI(${ARGN}) | |
96 endmacro() | |
97 | |
98 macro(ORTHANC_QT_WRAP_CPP) | |
99 QT4_WRAP_CPP(${ARGN}) | |
100 endmacro() | |
101 endif() | |
320
10d188d6e5cc
compatibility with Qt4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
292
diff
changeset
|
102 endif() |
276
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
103 |
1028 | 104 |
105 if (ENABLE_STONE_DEPRECATED) | |
106 list(APPEND QT_SOURCES | |
1040 | 107 ${ORTHANC_STONE_ROOT}/Applications/Qt/QCairoWidget.cpp |
108 ${ORTHANC_STONE_ROOT}/Applications/Qt/QStoneMainWindow.cpp | |
1028 | 109 ${ORTHANC_STONE_ROOT}/Applications/Qt/QtStoneApplicationRunner.cpp |
110 ) | |
111 | |
112 ORTHANC_QT_WRAP_CPP(QT_SOURCES | |
1040 | 113 ${ORTHANC_STONE_ROOT}/Applications/Qt/QCairoWidget.h |
1028 | 114 ${ORTHANC_STONE_ROOT}/Applications/Qt/QStoneMainWindow.h |
115 ) | |
116 endif() | |
117 | |
365
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
118 |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
119 # 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
|
120 # 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
|
121 # be changed. |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
122 # https://stackoverflow.com/a/4016784/881731 |
276
5de5699ad570
first display in QCairoWidget; no mouse interaction yet
am@osimis.io
parents:
274
diff
changeset
|
123 |
365
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
124 include_directories( |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
125 ${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
|
126 ${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
|
127 ) |
ef31240a73f6
no automatic call to moc and uic, CircleMeasureTracker using Orthanc fonts
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
128 |