qgroundcontrol.pri 17.9 KB
Newer Older
1
# -------------------------------------------------
2 3
# QGroundControl - Micro Air Vehicle Groundstation
# Please see our website at <http://qgroundcontrol.org>
4 5 6 7
# Maintainer:
# Lorenz Meier <lm@inf.ethz.ch>
# (c) 2009-2011 QGroundControl Developers
# This file is part of the open groundstation project
8 9 10 11 12 13 14 15 16 17
# QGroundControl is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# QGroundControl is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with QGroundControl. If not, see <http://www.gnu.org/licenses/>.
18
# -------------------------------------------------
19 20

message(Qt version $$[QT_VERSION])
21
message(Using Qt from $$(QTDIR))
22

23

LM's avatar
LM committed
24

25 26 27 28 29
release {
#    DEFINES += QT_NO_DEBUG_OUTPUT
#    DEFINES += QT_NO_WARNING_OUTPUT
}

30 31 32 33 34
win32-msvc2008|win32-msvc2010 {
    QMAKE_POST_LINK += $$quote(echo "Copying files"$$escape_expand(\\n))
} else {
    QMAKE_POST_LINK += $$quote(echo "Copying files")
}
35

36 37 38
# Turn off serial port warnings
DEFINES += _TTY_NOWARN_

39
# MAC OS X
40
macx-g++42 {
41

42
   # COMPILER_VERSION = $$system(gcc -v)
lm's avatar
lm committed
43
    #message(Using compiler $$COMPILER_VERSION)
44

45 46
        CONFIG += x86_64 cocoa phonon
        CONFIG -= x86
47

48 49
    #HARDWARE_PLATFORM = $$system(uname -a)
    #contains( $$HARDWARE_PLATFORM, "9.6.0" ) || contains( $$HARDWARE_PLATFORM, "9.7.0" ) || contains( $$HARDWARE_PLATFORM, "9.8.0" ) || contains( $$HARDWARE_PLATFORM, "9.9.0" ) {
50
        # x86 Mac OS X Leopard 10.5 and earlier
51

lm's avatar
lm committed
52
        #message(Building for Mac OS X 32bit/Leopard 10.5 and earlier)
53 54

                # Enable function-profiling with the OS X saturn tool
55
                #debug {
56 57
                        #QMAKE_CXXFLAGS += -finstrument-functions
                        #LIBS += -lSaturn
58 59 60
                       # CONFIG += console
                #}
    #} else {
61
        # x64 Mac OS X Snow Leopard 10.6 and later
62
     #   CONFIG += x86_64 x86 cocoa phonon
lm's avatar
lm committed
63 64
        #CONFIG -= x86 # phonon
        #message(Building for Mac OS X 64bit/Snow Leopard 10.6 and later)
65
      #          debug {
66 67
                        #QMAKE_CXXFLAGS += -finstrument-functions
                        #LIBS += -lSaturn
68 69
      #          }
    #}
70

71
    QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
72 73 74 75 76 77 78 79 80

    #DESTDIR = $$BASEDIR/bin/mac
    INCLUDEPATH += -framework SDL

    LIBS += -framework IOKit \
        -framework SDL \
        -framework CoreFoundation \
        -framework ApplicationServices \
        -lm
pixhawk's avatar
pixhawk committed
81

82 83 84
    ICON = $$BASEDIR/images/icons/macx.icns

    # Copy audio files if needed
85
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/audio $$TARGETDIR/qgroundcontrol.app/Contents/MacOS
86 87
    # Copy contributed files
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/files $$TARGETDIR/qgroundcontrol.app/Contents/MacOS
88
    # Copy google earth starter file
89
    QMAKE_POST_LINK += && cp -f $$BASEDIR/images/earth.html $$TARGETDIR/qgroundcontrol.app/Contents/MacOS
90
    # Copy CSS stylesheets
91 92
    QMAKE_POST_LINK += && cp -f $$BASEDIR/images/style-mission.css $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/style-indoor.css
    QMAKE_POST_LINK += && cp -f $$BASEDIR/images/style-outdoor.css $$TARGETDIR/qgroundcontrol.app/Contents/MacOS
lm's avatar
lm committed
93 94
    # Copy parameter tooltip files
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/files $$TARGETDIR/qgroundcontrol.app/Contents/MacOS
95
    # Copy libraries
96
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/lib/mac64/lib/* $$TARGETDIR/qgroundcontrol.app/Contents/MacOS
97
    # Copy model files
98
    #QMAKE_POST_LINK += && cp -f $$BASEDIR/models/*.dae $$TARGETDIR/qgroundcontrol.app/Contents/MacOs
99

100
    #exists(/Library/Frameworks/osg.framework):exists(/Library/Frameworks/OpenThreads.framework) {
101 102 103 104 105 106
    # No check for GLUT.framework since it's a MAC default
    message("Building support for OpenSceneGraph")
    DEPENDENCIES_PRESENT += osg
    DEFINES += QGC_OSG_ENABLED
    # Include OpenSceneGraph libraries
    INCLUDEPATH += -framework GLUT \
107
            -framework Cocoa \
108
            $$BASEDIR/lib/mac64/include
109 110

    LIBS += -framework GLUT \
111
            -framework Cocoa \
112
            -L$$BASEDIR/lib/mac64/lib \
113 114 115 116 117 118 119 120
            -lOpenThreads \
            -losg \
            -losgViewer \
            -losgGA \
            -losgDB \
            -losgText \
            -losgWidget
    #}
121

122
    exists(/opt/local/include/libfreenect)|exists(/usr/local/include/libfreenect) {
123 124 125 126 127 128 129 130 131 132 133 134
    message("Building support for libfreenect")
    DEPENDENCIES_PRESENT += libfreenect
    # Include libfreenect libraries
    LIBS += -lfreenect
    DEFINES += QGC_LIBFREENECT_ENABLED
    }
}

# GNU/Linux
linux-g++ {

    debug {
135 136
        #DESTDIR = $$TARGETDIR/debug
        #CONFIG += debug console
137 138 139
    }

    release {
140
        #DESTDIR = $$TARGETDIR/release
141
        DEFINES += QT_NO_DEBUG
142
        #CONFIG -= console
143 144
    }

145
    #QMAKE_POST_LINK += cp -rf $$BASEDIR/audio $$DESTDIR/.
146

INIDETAM's avatar
INIDETAM committed
147 148
message("Compiling for linux 32")

149
    INCLUDEPATH += /usr/include \
INIDETAM's avatar
INIDETAM committed
150
                   /usr/local/include \
151 152 153 154 155 156 157
                   /usr/include/qt4/phonon


    message(Building for GNU/Linux 32bit/i386)

    LIBS += \
        -L/usr/lib \
hengli's avatar
hengli committed
158
        -L/usr/local/lib64 \
159 160 161 162 163 164 165 166
        -lm \
        -lflite_cmu_us_kal \
        -lflite_usenglish \
        -lflite_cmulex \
        -lflite \
        -lSDL \
        -lSDLmain

hengli's avatar
hengli committed
167
    exists(/usr/include/osg) | exists(/usr/local/include/osg) {
168 169 170 171
    message("Building support for OpenSceneGraph")
    DEPENDENCIES_PRESENT += osg
    # Include OpenSceneGraph libraries
    LIBS += -losg \
James Goppert's avatar
James Goppert committed
172 173 174 175 176 177
            -losgViewer \
            -losgGA \
            -losgDB \
            -losgText \
            -lOpenThreads

178 179
            #-losgQt \

180 181 182
    DEFINES += QGC_OSG_ENABLED
    }

183 184 185 186 187 188 189 190 191 192 193
    exists(/usr/local/include/google/protobuf) {
    message("Building support for Protocol Buffers")
    DEPENDENCIES_PRESENT += protobuf
    # Include Protocol Buffers libraries
    LIBS += -lprotobuf \
            -lprotobuf-lite \
            -lprotoc

    DEFINES += QGC_PROTOBUF_ENABLED
    }

194 195 196 197 198 199 200 201 202
    exists(/usr/local/include/libfreenect/libfreenect.h) {
    message("Building support for libfreenect")
    DEPENDENCIES_PRESENT += libfreenect
    INCLUDEPATH += /usr/include/libusb-1.0
    # Include libfreenect libraries
    LIBS += -lfreenect
    DEFINES += QGC_LIBFREENECT_ENABLED
    }

203
    # Validated copy commands
pixhawk's avatar
pixhawk committed
204 205
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/audio $$TARGETDIR
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/files $$TARGETDIR
206

pixhawk's avatar
pixhawk committed
207 208 209
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/data $$TARGETDIR
    QMAKE_POST_LINK += && mkdir -p $$TARGETDIR/images
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/images/Vera.ttf $$TARGETDIR/images/Vera.ttf
210 211 212 213 214 215 216 217 218

    # osg/osgEarth dynamic casts might fail without this compiler option.
    # see http://osgearth.org/wiki/FAQ for details.
    QMAKE_CXXFLAGS += -Wl,-E
}

linux-g++-64 {

    debug {
219 220
        #DESTDIR = $$TARGETDIR/debug
        #CONFIG += debug console
221 222 223
    }

    release {
224
        #DESTDIR = $$TARGETDIR/release
225
        DEFINES += QT_NO_DEBUG
226
        #CONFIG -= console
227 228
    }

229
    #QMAKE_POST_LINK += cp -rf $$BASEDIR/audio $$DESTDIR/.
230 231 232 233 234 235 236 237 238 239

    INCLUDEPATH += /usr/include \
                   /usr/include/qt4/phonon


    # 64-bit Linux
    message(Building for GNU/Linux 64bit/x64 (g++-64))

    LIBS += \
        -L/usr/lib \
hengli's avatar
hengli committed
240
        -L/usr/local/lib64 \
241 242 243 244 245 246 247 248
        -lm \
        -lflite_cmu_us_kal \
        -lflite_usenglish \
        -lflite_cmulex \
        -lflite \
        -lSDL \
        -lSDLmain

hengli's avatar
hengli committed
249
    exists(/usr/include/osg) | exists(/usr/local/include/osg) {
250 251 252 253
    message("Building support for OpenSceneGraph")
    DEPENDENCIES_PRESENT += osg
    # Include OpenSceneGraph libraries
    LIBS += -losg \
James Goppert's avatar
James Goppert committed
254 255 256 257 258 259
            -losgViewer \
            -losgGA \
            -losgDB \
            -losgText \
            -lOpenThreads

260 261
#            -losgQt \

262 263 264
    DEFINES += QGC_OSG_ENABLED
    }

265 266 267 268 269 270 271 272 273 274 275
    exists(/usr/local/include/google/protobuf) {
    message("Building support for Protocol Buffers")
    DEPENDENCIES_PRESENT += protobuf
    # Include Protocol Buffers libraries
    LIBS += -lprotobuf \
            -lprotobuf-lite \
            -lprotoc

    DEFINES += QGC_PROTOBUF_ENABLED
    }

276 277 278 279 280 281 282 283 284
    exists(/usr/local/include/libfreenect) {
    message("Building support for libfreenect")
    DEPENDENCIES_PRESENT += libfreenect
    INCLUDEPATH += /usr/include/libusb-1.0
    # Include libfreenect libraries
    LIBS += -lfreenect
    DEFINES += QGC_LIBFREENECT_ENABLED
    }

285
    # Validated copy commands
pixhawk's avatar
pixhawk committed
286 287 288 289 290
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/audio $$TARGETDIR
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/files $$TARGETDIR
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/data $$TARGETDIR
    QMAKE_POST_LINK += && mkdir -p $$TARGETDIRimages
    QMAKE_POST_LINK += && cp -rf $$BASEDIR/images/Vera.ttf $$TARGETDIR/images/Vera.ttf
291

292 293 294 295 296 297
    # osg/osgEarth dynamic casts might fail without this compiler option.
    # see http://osgearth.org/wiki/FAQ for details.
    QMAKE_CXXFLAGS += -Wl,-E
}

# Windows (32bit)
Franz's avatar
Franz committed
298
win32-msvc2008|win32-msvc2010 {
299

Franz's avatar
Franz committed
300
    win32-msvc2008 {
301
    message(Building for Windows Visual Studio 2008 (32bit))
Franz's avatar
Franz committed
302 303 304 305
    }
    win32-msvc2010 {
    message(Building for Windows Visual Studio 2010 (32bit))
    }
306

307 308
    # QAxContainer support is needed for the Internet Control
    # element showing the Google Earth window
309 310
    CONFIG += qaxcontainer

311 312 313 314
    # The EIGEN library needs this define
    # to make the internal min/max functions work
    DEFINES += NOMINMAX

lm's avatar
lm committed
315 316 317
    # QWebkit is not needed on MS-Windows compilation environment
    CONFIG -= webkit

318 319
    release {
        CONFIG -= console
320
        DEFINES += QT_NO_DEBUG
321 322
    }

323 324 325
    debug {
		CONFIG += console
	}
326 327 328 329 330 331 332

    INCLUDEPATH += $$BASEDIR/lib/sdl/msvc/include \
                   $$BASEDIR/lib/opal/include \
                   $$BASEDIR/lib/msinttypes
                   #"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include"

    LIBS += -L$$BASEDIR/lib/sdl/msvc/lib \
333 334
             -lSDLmain -lSDL \
			 -lsetupapi
335 336 337 338 339

exists($$BASEDIR/lib/osg123) {
message("Building support for OSG")
DEPENDENCIES_PRESENT += osg

340
# Include OpenSceneGraph
341 342 343 344 345
INCLUDEPATH += $$BASEDIR/lib/osgEarth/win32/include \
    $$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/include
LIBS += -L$$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/lib \
    -losg \
    -losgViewer \
James Goppert's avatar
James Goppert committed
346 347 348 349
    -losgGA \
    -losgDB \
    -losgText \
    -lOpenThreads
350 351 352 353 354 355 356 357 358 359
DEFINES += QGC_OSG_ENABLED
}

    RC_FILE = $$BASEDIR/qgroundcontrol.rc

    # Copy dependencies
    BASEDIR_WIN = $$replace(BASEDIR,"/","\\")
    TARGETDIR_WIN = $$replace(TARGETDIR,"/","\\")


360
    exists($$TARGETDIR/debug) {
361 362
	QMAKE_POST_LINK += $$quote(copy /Y "$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(xcopy /Y "$$BASEDIR_WIN\\audio" "$$TARGETDIR_WIN\\debug\\audio" /E /I $$escape_expand(\\n))
363
        QMAKE_POST_LINK += $$quote(xcopy /Y "$$BASEDIR_WIN\\files" "$$TARGETDIR_WIN\\debug\\files" /E /I $$escape_expand(\\n))
364 365
	QMAKE_POST_LINK += $$quote(xcopy /Y "$$BASEDIR_WIN\\models" "$$TARGETDIR_WIN\\debug\\models" /E /I $$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$BASEDIR_WIN\\images\\earth.html" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
366
	QMAKE_POST_LINK += $$quote(copy /Y "$$BASEDIR_WIN\\thirdParty\\libxbee\\lib\\libxbee.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
LM's avatar
LM committed
367 368 369 370 371 372 373 374 375 376 377 378
	QMAKE_POST_LINK += $$quote(xcopy /Y "$$(QTDIR)\\plugins" "$$TARGETDIR_WIN\\debug" /E /I /EXCLUDE:copydebug.txt $$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\phonond4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtCored4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtGuid4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtMultimediad4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtNetworkd4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtOpenGLd4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtSqld4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtSvgd4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtWebKitd4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtXmld4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtXmlPatternsd4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n))
379 380
    }

381
    exists($$TARGETDIR/release) {
382 383
	QMAKE_POST_LINK += $$quote(copy /Y "$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(xcopy /Y "$$BASEDIR_WIN\\audio" "$$TARGETDIR_WIN\\release\\audio" /E /I $$escape_expand(\\n))
384
        QMAKE_POST_LINK += $$quote(xcopy /Y "$$BASEDIR_WIN\\files" "$$TARGETDIR_WIN\\release\\files" /E /I $$escape_expand(\\n))
385 386
	QMAKE_POST_LINK += $$quote(xcopy /Y "$$BASEDIR_WIN\\models" "$$TARGETDIR_WIN\\release\\models" /E /I $$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$BASEDIR_WIN\\images\\earth.html" "$$TARGETDIR_WIN\\release\\earth.html" $$escape_expand(\\n))
387
	QMAKE_POST_LINK += $$quote(copy /Y "$$BASEDIR_WIN\\thirdParty\\libxbee\\lib\\libxbee.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
LM's avatar
LM committed
388 389 390 391 392 393 394 395 396 397 398 399
	QMAKE_POST_LINK += $$quote(xcopy /Y "$$(QTDIR)\\plugins" "$$TARGETDIR_WIN\\release" /E /I /EXCLUDE:copyrelease.txt $$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\phonon4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtCore4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtGui4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtMultimedia4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtNetwork4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtOpenGL4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtSql4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtSvg4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtWebKit4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtXml4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
	QMAKE_POST_LINK += $$quote(copy /Y "$$(QTDIR)\\bin\\QtXmlPatterns4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n))
400 401
        QMAKE_POST_LINK += $$quote(del /F "$$TARGETDIR_WIN\\release\\qgroundcontrol.exp"$$escape_expand(\\n))
        QMAKE_POST_LINK += $$quote(del /F "$$TARGETDIR_WIN\\release\\qgroundcontrol.lib"$$escape_expand(\\n))
402 403 404 405 406 407 408
    }
}

# Windows (32bit)
win32-g++ {

    message(Building for Windows Platform (32bit))
pixhawk's avatar
pixhawk committed
409

410
    # Special settings for debug
411 412
    CONFIG += CONSOLE
    OUTPUT += CONSOLE
413

LM's avatar
LM committed
414 415 416 417
    # The EIGEN library needs this define
    # to make the internal min/max functions work
    DEFINES += NOMINMAX

418 419 420 421 422
    INCLUDEPATH += $$BASEDIR/lib/sdl/include \
                   $$BASEDIR/lib/opal/include #\ #\
                   #"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include"

    LIBS += -L$$BASEDIR/lib/sdl/win32 \
423 424
             -lmingw32 -lSDLmain -lSDL -mwindows \
			 -lsetupapi
425

426 427
    CONFIG += windows

428 429 430 431


    debug {
        #DESTDIR = $$BUILDDIR/debug
James Goppert's avatar
James Goppert committed
432
    CONFIG += console
433 434 435
    }

    release {
436
        CONFIG -= console
437
        DEFINES += QT_NO_DEBUG
438 439
        #DESTDIR = $$BUILDDIR/release
    }
pixhawk's avatar
pixhawk committed
440

441 442 443 444
    RC_FILE = $$BASEDIR/qgroundcontrol.rc

    # Copy dependencies

445 446 447
    system(cp): {
    # CP command is available, use it instead of copy / xcopy
    message("Using cp to copy image and audio files to executable")
448 449 450 451 452 453 454 455 456 457 458 459
    debug {
        QMAKE_POST_LINK += && cp $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/debug/SDL.dll
        QMAKE_POST_LINK += && cp -r $$BASEDIR/audio $$TARGETDIR/debug/audio
        QMAKE_POST_LINK += && cp -r $$BASEDIR/models $$TARGETDIR/debug/models
    }

    release {
        QMAKE_POST_LINK += && cp $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/release/SDL.dll
        QMAKE_POST_LINK += && cp -r $$BASEDIR/audio $$TARGETDIR/release/audio
        QMAKE_POST_LINK += && cp -r $$BASEDIR/models $$TARGETDIR/release/models
    }

460 461 462 463 464 465
    } else {
    # No cp command available, go for copy / xcopy
    # Copy dependencies
    BASEDIR_WIN = $$replace(BASEDIR,"/","\\")
    TARGETDIR_WIN = $$replace(TARGETDIR,"/","\\")

466
    exists($$TARGETDIR/debug) {
467
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\debug\\SDL.dll\"
468 469 470
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\audio\" \"$$TARGETDIR_WIN\\debug\\audio\\\" /S /E /Y
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\models\" \"$$TARGETDIR_WIN\\debug\\models\\\" /S /E /Y
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\images\\earth.html\" \"$$TARGETDIR_WIN\\debug\\earth.html\"
471 472
    }

473
    exists($$TARGETDIR/release) {
474
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\release\\SDL.dll\"
475 476 477
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\audio\" \"$$TARGETDIR_WIN\\release\\audio\\\" /S /E /Y
        QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\models\" \"$$TARGETDIR_WIN\\release\\models\\\" /S /E /Y
        QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\images\\earth.html\" \"$$TARGETDIR_WIN\\release\\earth.html\"
478 479 480 481
    }

}

482 483 484 485
    # osg/osgEarth dynamic casts might fail without this compiler option.
    # see http://osgearth.org/wiki/FAQ for details.
    QMAKE_CXXFLAGS += -Wl,-E
}
James Goppert's avatar
James Goppert committed
486
# vim:ts=4:sw=4:expandtab