Ravenports generated: 28 Dec 2020 06:48
[ravenports.git] / Mk / Uses / qt6.mk
1 # Common build specifications for Qt6 framework
2 #
3 # Feature:      qt6
4 # Usage:        USES=qt6
5 # Valid ARGS:   none
6 #
7
8 .if !defined(_INCLUDE_USES_QT6_MK)
9 _INCLUDE_USES_QT6_MK=   yes
10
11 # stage support
12 # DESTDIRNAME=  INSTALL_ROOT
13
14 # When configure used, set common switches
15 BASE_CMAKE_ARGS=\
16         -DQT_QMAKE_TARGET_MKSPEC=${QMAKESPEC}\
17         -DCMAKE_INSTALL_PREFIX="${PREFIX}"\
18         -DINSTALL_LIBDIR="${PREFIX}/lib/qt6"\
19         -DINSTALL_BINDIR="${PREFIX}/lib/qt6/bin"\
20         -DINSTALL_PLUGINSDIR="${PREFIX}/lib/qt6/plugins"\
21         -DINSTALL_INCLUDEDIR="${PREFIX}/include/qt6"\
22         -DINSTALL_DOCDIR="${PREFIX}/share/doc/qt6"\
23         -DINSTALL_LIBEXECDIR="${PREFIX}/libexec/qt6"\
24         -DINSTALL_DATADIR="${PREFIX}/share/qt6"\
25         -DINSTALL_ARCHDATADIR="${PREFIX}/lib/qt6"\
26         -DINSTALL_QMLDIR="${PREFIX}/lib/qt6/qml"\
27         -DINSTALL_SYSCONFDIR="${PREFIX}/etc/xdg"\
28         -DINSTALL_MKSPECSDIR="${PREFIX}/lib/qt6/mkspecs"
29
30 BASE_CONF_ARGS=\
31         -opensource\
32         -confirm-license\
33         -no-pch\
34         -platform ${QMAKESPEC}\
35         -prefix      "${PREFIX}"\
36         -libdir      "${PREFIX}/lib/qt6"\
37         -bindir      "${PREFIX}/lib/qt6/bin"\
38         -plugindir   "${PREFIX}/lib/qt6/plugins"\
39         -qmldir      "${PREFIX}/lib/qt6/qml"\
40         -archdatadir "${PREFIX}/lib/qt6"\
41         -libexecdir  "${PREFIX}/libexec/qt6"\
42         -headerdir   "${PREFIX}/include/qt6"\
43         -datadir     "${PREFIX}/share/qt6"\
44         -sysconfdir  "${PREFIX}/etc/xdg"\
45         -docdir      "${PREFIX}/share/doc/qt6"\
46         -examplesdir "${PREFIX}/share/examples/${NAMEBASE}"\
47         -testsdir    "${PREFIX}/share/qt6/tests"\
48         -translationdir "${PREFIX}/share/qt6/translations"\
49         -nomake examples\
50         -nomake tests
51
52 QMAKE_CMD=              ${LOCALBASE}/lib/qt6/bin/qmake
53
54 . if defined(WITH_DEBUG)
55 BASE_CMAKE_ARGS+=       -DCMAKE_BUILD_TYPE=Debug \
56                         -DFEATURE_separate_debug_info=ON
57 BASE_CONF_ARGS+=        -debug -separate-debug-info
58 . else
59 BASE_CMAKE_ARGS+=       -DCMAKE_BUILD_TYPE=Release \
60                         -DFEATURE_separate_debug_info=OFF
61 BASE_CONF_ARGS+=        -release -no-separate-debug-info
62 . endif
63
64 . if "${OPSYS}" == "SunOS"
65
66 QMAKESPEC=              solaris-g++-64
67 QMAKE_LIBS_THREAD=      -lpthread -lrt
68 QMAKE_LFLAGS_THREAD=
69 QMAKE_X11_SYS_LIBS=     -lresolv -lsocket -lnsl
70
71 . elif "${OPSYS}" == "FreeBSD"
72
73 QMAKESPEC=              freebsd-g++
74 QMAKE_LIBS_THREAD=
75 QMAKE_LFLAGS_THREAD=    -pthread
76 QMAKE_X11_SYS_LIBS=     -lm
77
78 . elif "${OPSYS}" == "DragonFly"
79
80 QMAKESPEC=              dragonfly-g++
81 QMAKE_LIBS_THREAD=
82 QMAKE_LFLAGS_THREAD=    -pthread
83 QMAKE_X11_SYS_LIBS=     -lm
84
85 . elif "${OPSYS}" == "Linux"
86
87 QMAKESPEC=              linux-g++
88 QMAKE_LIBS_THREAD=      -lpthread
89 QMAKE_LFLAGS_THREAD=
90 QMAKE_X11_SYS_LIBS=     -lm
91
92 . else
93
94 QMAKESPEC=      unsupported-OS
95
96 . endif
97
98 . if "${NAMEBASE}" == "qt6-qtbase"
99 HAS_CONFIGURE=          yes
100 # CONFIGURE_ARGS+=      ${BASE_CONF_ARGS}
101 CMAKE_ARGS+=            ${BASE_CMAKE_ARGS}
102 . else
103 .  if !defined(GNU_CONFIGURE)
104 .   if !target(do-configure)
105 do-configure:
106         (cd ${WRKSRC} && ${QMAKE_CMD} ${QMAKE_ARGS} -o Makefile)
107 .   endif
108 .  endif
109 . endif
110
111 .endif          # _INCLUDE_USES_QT6_MK