annotate noconfig.pri @ 2265:d33dff02b39b sandbox-notarize

Work on sandboxing (possibly) and using the hardened runtime for notarization. Supply appropriate bundle ID for helpers as well as main application, and request inherited sandbox entitlements. Currently works with sandboxing (apparently) but not yet with the hardened runtime, where we can't load plugins signed by third parties even with the com.apple.security.cs.disable-library-validation entitlement because their team IDs don't match the host. Possibly that exception is supposed to be requested some other way?
author Chris Cannam
date Thu, 25 Apr 2019 16:46:02 +0100
parents 8fd5183efbd6
children 74d73990ac1d
rev   line source
Chris@1284 1
Chris@1982 2 CONFIG += c++14
Chris@1299 3
Chris@2199 4 CONFIG += release
Chris@2199 5 #CONFIG += debug
Chris@1299 6
Chris@1753 7 PREFIX_PATH = /usr/local
Chris@1753 8
Chris@1284 9 DEFINES += NDEBUG BUILD_RELEASE
Chris@1484 10 DEFINES += NO_TIMING NO_HIT_COUNTS
Chris@1284 11
Chris@1319 12 DEFINES += HAVE_PIPER HAVE_PLUGIN_CHECKER_HELPER
Chris@1319 13
Chris@1292 14 # Full set of defines expected for all platforms when we have the
Chris@1292 15 # sv-dependency-builds subrepo available to provide the dependencies.
Chris@1292 16
Chris@1292 17 DEFINES += \
Chris@1292 18 HAVE_BZ2 \
Chris@1292 19 HAVE_FFTW3 \
Chris@1292 20 HAVE_FFTW3F \
Chris@1292 21 HAVE_SNDFILE \
Chris@1292 22 HAVE_SAMPLERATE \
Chris@1292 23 HAVE_RUBBERBAND \
Chris@1292 24 HAVE_LIBLO \
Chris@1292 25 HAVE_MAD \
Chris@1292 26 HAVE_ID3TAG \
Chris@2192 27 HAVE_OPUS \
Chris@1292 28 HAVE_PORTAUDIO
Chris@1292 29
Chris@1292 30 # Default set of libs for the above. Config sections below may update
Chris@1292 31 # these.
Chris@1292 32
Chris@1292 33 LIBS += \
Chris@1827 34 -lbase \
Chris@1292 35 -lbz2 \
Chris@2207 36 -lrubberband \
Chris@1292 37 -lfftw3 \
Chris@1292 38 -lfftw3f \
Chris@1292 39 -lsndfile \
Chris@1292 40 -lFLAC \
Chris@1292 41 -logg \
Chris@1292 42 -lvorbis \
Chris@1292 43 -lvorbisenc \
Chris@1292 44 -lvorbisfile \
Chris@2195 45 -lopusfile \
Chris@2195 46 -lopus \
Chris@1292 47 -logg \
Chris@1292 48 -lmad \
Chris@1292 49 -lid3tag \
Chris@1292 50 -lportaudio \
Chris@1292 51 -lsamplerate \
Chris@1292 52 -lz \
Chris@1292 53 -lsord-0 \
Chris@1292 54 -lserd-0 \
Chris@1292 55 -llo \
Chris@1292 56 -lcapnp \
Chris@1292 57 -lkj
Chris@1292 58
Chris@1284 59 win32-g++ {
Chris@1292 60
Chris@1292 61 # This config is currently used for 32-bit Windows builds.
Chris@1292 62
Chris@2199 63 INCLUDEPATH += $$PWD/sv-dependency-builds/win32-mingw/include $$PWD/sv-dependency-builds/win32-mingw/include/opus
Chris@1292 64
Chris@1827 65 LIBS += -Lrelease -L$$PWD/sv-dependency-builds/win32-mingw/lib
Chris@1295 66
Chris@2199 67 DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE
Chris@1295 68
Chris@1295 69 QMAKE_CXXFLAGS_RELEASE += -ffast-math
Chris@1292 70
Chris@1292 71 # Don't have liblo
Chris@1292 72 DEFINES -= HAVE_LIBLO
Chris@1292 73 LIBS -= -llo
Chris@2199 74
Chris@2199 75 # (We don't have MediaFoundation support either, with this build sadly)
Chris@1292 76
Chris@2199 77 LIBS += -lwinmm -lws2_32
Chris@1284 78 }
Chris@1284 79
Chris@1284 80 win32-msvc* {
Chris@1292 81
Chris@1292 82 # This config is actually used only for 64-bit Windows builds.
Chris@1292 83 # even though the qmake spec is still called win32-msvc*. If
Chris@1292 84 # we want to do 32-bit builds with MSVC as well, then we'll
Chris@1292 85 # need to add a way to distinguish the two.
Chris@1292 86
Chris@2197 87 INCLUDEPATH += $$PWD/sv-dependency-builds/win64-msvc/include $$PWD/sv-dependency-builds/win64-msvc/include/opus
Chris@1294 88
Chris@1982 89 # This seems to be intruding even when we're supposed to be release
Chris@1294 90 # CONFIG(debug) {
Chris@1294 91 # LIBS += -NODEFAULTLIB:MSVCRT -Ldebug \
Chris@1982 92 # -L$$PWD/sv-dependency-builds/win64-msvc/lib/debug \
Chris@1982 93 # -L$$PWD/sv-dependency-builds/win64-msvc/lib
Chris@1294 94 # }
Chris@1292 95 CONFIG(release) {
Chris@2202 96 LIBS += -NODEFAULTLIB:LIBCMT -Lrelease \
Chris@1827 97 -L$$PWD/sv-dependency-builds/win64-msvc/lib
Chris@1292 98 }
Chris@1292 99
Chris@2186 100 DEFINES += NOMINMAX _USE_MATH_DEFINES CAPNP_LITE HAVE_MEDIAFOUNDATION
Chris@1294 101
Chris@1839 102 QMAKE_CXXFLAGS_RELEASE += -fp:fast -gl
Chris@1839 103 QMAKE_LFLAGS_RELEASE += -ltcg
Chris@1292 104
Chris@2197 105 LIBS -= -lFLAC -lvorbis -lvorbisenc -lvorbisfile
Chris@1292 106
Chris@1292 107 # These have different names
Chris@1292 108 LIBS -= -lsord-0 -lserd-0
Chris@1292 109 LIBS += -lsord -lserd
Chris@1292 110
Chris@1292 111 # Don't have liblo
Chris@1292 112 DEFINES -= HAVE_LIBLO
Chris@1292 113 LIBS -= -llo
Chris@1292 114
Chris@2187 115 LIBS += -lmfplat -lmfreadwrite -lmfuuid -lpropsys -ladvapi32 -lwinmm -lws2_32
Chris@1284 116 }
Chris@1284 117
Chris@1292 118 macx* {
Chris@1292 119
Chris@1292 120 # All Mac builds are 64-bit these days.
Chris@1292 121
Chris@2195 122 INCLUDEPATH += $$PWD/sv-dependency-builds/osx/include $$PWD/sv-dependency-builds/osx/include/opus
cannam@1830 123 LIBS += -L$$PWD/sv-dependency-builds/osx/lib -L$$PWD
Chris@1292 124
Chris@2106 125 QMAKE_CXXFLAGS_RELEASE += -O3 -ffast-math -flto
Chris@2106 126 QMAKE_LFLAGS_RELEASE += -O3 -flto
Chris@1295 127
Chris@1546 128 DEFINES += HAVE_COREAUDIO HAVE_VDSP
Chris@1292 129 LIBS += \
Chris@1292 130 -framework CoreAudio \
Chris@1292 131 -framework CoreMidi \
Chris@1292 132 -framework AudioUnit \
Chris@1292 133 -framework AudioToolbox \
Chris@1292 134 -framework CoreFoundation \
Chris@1292 135 -framework CoreServices \
Chris@1292 136 -framework Accelerate
Chris@1284 137 }
Chris@1284 138
Chris@1292 139 linux* {
Chris@1284 140
Chris@1292 141 message("Building without ./configure on Linux is unlikely to work")
Chris@1292 142 message("If you really want to try it, remove this from noconfig.pri")
Chris@1292 143 error("Refusing to build without ./configure first")
Chris@1292 144 }
Chris@1284 145