forked from qt-creator/qt-creator
		
	Change-Id: I9f8d177d34cc277fdea51da5224fbc4c7ee8a589 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
		
			
				
	
	
		
			189 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			189 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
!isEmpty(QTCREATOR_PRI_INCLUDED):error("qtcreator.pri already included")
 | 
						|
QTCREATOR_PRI_INCLUDED = 1
 | 
						|
 | 
						|
QTCREATOR_VERSION = 3.4.82
 | 
						|
QTCREATOR_COMPAT_VERSION = 3.4.82
 | 
						|
BINARY_ARTIFACTS_BRANCH = 3.5
 | 
						|
 | 
						|
# enable c++11
 | 
						|
CONFIG += c++11
 | 
						|
 | 
						|
defineReplace(qtLibraryName) {
 | 
						|
   unset(LIBRARY_NAME)
 | 
						|
   LIBRARY_NAME = $$1
 | 
						|
   CONFIG(debug, debug|release) {
 | 
						|
      !debug_and_release|build_pass {
 | 
						|
          mac:RET = $$member(LIBRARY_NAME, 0)_debug
 | 
						|
              else:win32:RET = $$member(LIBRARY_NAME, 0)d
 | 
						|
      }
 | 
						|
   }
 | 
						|
   isEmpty(RET):RET = $$LIBRARY_NAME
 | 
						|
   return($$RET)
 | 
						|
}
 | 
						|
 | 
						|
defineTest(minQtVersion) {
 | 
						|
    maj = $$1
 | 
						|
    min = $$2
 | 
						|
    patch = $$3
 | 
						|
    isEqual(QT_MAJOR_VERSION, $$maj) {
 | 
						|
        isEqual(QT_MINOR_VERSION, $$min) {
 | 
						|
            isEqual(QT_PATCH_VERSION, $$patch) {
 | 
						|
                return(true)
 | 
						|
            }
 | 
						|
            greaterThan(QT_PATCH_VERSION, $$patch) {
 | 
						|
                return(true)
 | 
						|
            }
 | 
						|
        }
 | 
						|
        greaterThan(QT_MINOR_VERSION, $$min) {
 | 
						|
            return(true)
 | 
						|
        }
 | 
						|
    }
 | 
						|
    greaterThan(QT_MAJOR_VERSION, $$maj) {
 | 
						|
        return(true)
 | 
						|
    }
 | 
						|
    return(false)
 | 
						|
}
 | 
						|
 | 
						|
# For use in custom compilers which just copy files
 | 
						|
defineReplace(stripSrcDir) {
 | 
						|
    return($$relative_path($$absolute_path($$1, $$OUT_PWD), $$_PRO_FILE_PWD_))
 | 
						|
}
 | 
						|
 | 
						|
!isEmpty(BUILD_TESTS):TEST = 1
 | 
						|
 | 
						|
isEmpty(TEST):CONFIG(debug, debug|release) {
 | 
						|
    !debug_and_release|build_pass {
 | 
						|
        TEST = 1
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
isEmpty(IDE_LIBRARY_BASENAME) {
 | 
						|
    IDE_LIBRARY_BASENAME = lib
 | 
						|
}
 | 
						|
 | 
						|
equals(TEST, 1) {
 | 
						|
    QT +=testlib
 | 
						|
    DEFINES += WITH_TESTS
 | 
						|
}
 | 
						|
 | 
						|
IDE_SOURCE_TREE = $$PWD
 | 
						|
isEmpty(IDE_BUILD_TREE) {
 | 
						|
    sub_dir = $$_PRO_FILE_PWD_
 | 
						|
    sub_dir ~= s,^$$re_escape($$PWD),,
 | 
						|
    IDE_BUILD_TREE = $$clean_path($$OUT_PWD)
 | 
						|
    IDE_BUILD_TREE ~= s,$$re_escape($$sub_dir)$,,
 | 
						|
}
 | 
						|
IDE_APP_PATH = $$IDE_BUILD_TREE/bin
 | 
						|
macx {
 | 
						|
    IDE_APP_TARGET   = "Qt Creator"
 | 
						|
    IDE_LIBRARY_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Frameworks
 | 
						|
    IDE_PLUGIN_PATH  = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/PlugIns
 | 
						|
    IDE_LIBEXEC_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Resources
 | 
						|
    IDE_DATA_PATH    = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Resources
 | 
						|
    IDE_DOC_PATH     = $$IDE_DATA_PATH/doc
 | 
						|
    IDE_BIN_PATH     = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/MacOS
 | 
						|
    copydata = 1
 | 
						|
} else {
 | 
						|
    contains(TEMPLATE, vc.*):vcproj = 1
 | 
						|
    IDE_APP_TARGET   = qtcreator
 | 
						|
    IDE_LIBRARY_PATH = $$IDE_BUILD_TREE/$$IDE_LIBRARY_BASENAME/qtcreator
 | 
						|
    IDE_PLUGIN_PATH  = $$IDE_LIBRARY_PATH/plugins
 | 
						|
    IDE_LIBEXEC_PATH = $$IDE_APP_PATH # FIXME
 | 
						|
    IDE_DATA_PATH    = $$IDE_BUILD_TREE/share/qtcreator
 | 
						|
    IDE_DOC_PATH     = $$IDE_BUILD_TREE/share/doc/qtcreator
 | 
						|
    IDE_BIN_PATH     = $$IDE_APP_PATH
 | 
						|
    !isEqual(IDE_SOURCE_TREE, $$IDE_BUILD_TREE):copydata = 1
 | 
						|
}
 | 
						|
 | 
						|
INCLUDEPATH += \
 | 
						|
    $$IDE_BUILD_TREE/src \ # for <app/app_version.h>
 | 
						|
    $$IDE_SOURCE_TREE/src/libs \
 | 
						|
    $$IDE_SOURCE_TREE/tools
 | 
						|
 | 
						|
QTC_PLUGIN_DIRS_FROM_ENVIRONMENT = $$(QTC_PLUGIN_DIRS)
 | 
						|
QTC_PLUGIN_DIRS += $$split(QTC_PLUGIN_DIRS_FROM_ENVIRONMENT, $$QMAKE_DIRLIST_SEP)
 | 
						|
QTC_PLUGIN_DIRS += $$IDE_SOURCE_TREE/src/plugins
 | 
						|
for(dir, QTC_PLUGIN_DIRS) {
 | 
						|
    INCLUDEPATH += $$dir
 | 
						|
}
 | 
						|
 | 
						|
CONFIG += \
 | 
						|
    depend_includepath \
 | 
						|
    no_include_pwd
 | 
						|
 | 
						|
LIBS += -L$$IDE_LIBRARY_PATH
 | 
						|
 | 
						|
!isEmpty(vcproj) {
 | 
						|
    DEFINES += IDE_LIBRARY_BASENAME=\"$$IDE_LIBRARY_BASENAME\"
 | 
						|
} else {
 | 
						|
    DEFINES += IDE_LIBRARY_BASENAME=\\\"$$IDE_LIBRARY_BASENAME\\\"
 | 
						|
}
 | 
						|
 | 
						|
DEFINES += QT_CREATOR QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
 | 
						|
!macx:DEFINES += QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION
 | 
						|
 | 
						|
unix {
 | 
						|
    CONFIG(debug, debug|release):OBJECTS_DIR = $${OUT_PWD}/.obj/debug-shared
 | 
						|
    CONFIG(release, debug|release):OBJECTS_DIR = $${OUT_PWD}/.obj/release-shared
 | 
						|
 | 
						|
    CONFIG(debug, debug|release):MOC_DIR = $${OUT_PWD}/.moc/debug-shared
 | 
						|
    CONFIG(release, debug|release):MOC_DIR = $${OUT_PWD}/.moc/release-shared
 | 
						|
 | 
						|
    RCC_DIR = $${OUT_PWD}/.rcc
 | 
						|
    UI_DIR = $${OUT_PWD}/.uic
 | 
						|
}
 | 
						|
 | 
						|
win32-msvc* {
 | 
						|
    #Don't warn about sprintf, fopen etc being 'unsafe'
 | 
						|
    DEFINES += _CRT_SECURE_NO_WARNINGS
 | 
						|
    QMAKE_CXXFLAGS_WARN_ON *= -w44996
 | 
						|
    # Speed up startup time when debugging with cdb
 | 
						|
    QMAKE_LFLAGS_DEBUG += /INCREMENTAL:NO
 | 
						|
}
 | 
						|
 | 
						|
qt {
 | 
						|
    contains(QT, core): QT += concurrent
 | 
						|
    contains(QT, gui): QT += widgets
 | 
						|
}
 | 
						|
 | 
						|
QBSFILE = $$replace(_PRO_FILE_, \\.pro$, .qbs)
 | 
						|
exists($$QBSFILE):DISTFILES += $$QBSFILE
 | 
						|
 | 
						|
!isEmpty(QTC_PLUGIN_DEPENDS):LIBS *= -L$$IDE_PLUGIN_PATH
 | 
						|
# recursively resolve plugin deps
 | 
						|
done_plugins =
 | 
						|
for(ever) {
 | 
						|
    isEmpty(QTC_PLUGIN_DEPENDS): \
 | 
						|
        break()
 | 
						|
    done_plugins += $$QTC_PLUGIN_DEPENDS
 | 
						|
    for(dep, QTC_PLUGIN_DEPENDS) {
 | 
						|
        dependencies_file =
 | 
						|
        for(dir, QTC_PLUGIN_DIRS) {
 | 
						|
            exists($$dir/$$dep/$${dep}_dependencies.pri) {
 | 
						|
                dependencies_file = $$dir/$$dep/$${dep}_dependencies.pri
 | 
						|
                break()
 | 
						|
            }
 | 
						|
        }
 | 
						|
        isEmpty(dependencies_file): \
 | 
						|
            error("Plugin dependency $$dep not found")
 | 
						|
        include($$dependencies_file)
 | 
						|
        LIBS += -l$$qtLibraryName($$QTC_PLUGIN_NAME)
 | 
						|
    }
 | 
						|
    QTC_PLUGIN_DEPENDS = $$unique(QTC_PLUGIN_DEPENDS)
 | 
						|
    QTC_PLUGIN_DEPENDS -= $$unique(done_plugins)
 | 
						|
}
 | 
						|
 | 
						|
# recursively resolve library deps
 | 
						|
done_libs =
 | 
						|
for(ever) {
 | 
						|
    isEmpty(QTC_LIB_DEPENDS): \
 | 
						|
        break()
 | 
						|
    done_libs += $$QTC_LIB_DEPENDS
 | 
						|
    for(dep, QTC_LIB_DEPENDS) {
 | 
						|
        include($$PWD/src/libs/$$dep/$${dep}_dependencies.pri)
 | 
						|
        LIBS += -l$$qtLibraryName($$QTC_LIB_NAME)
 | 
						|
    }
 | 
						|
    QTC_LIB_DEPENDS = $$unique(QTC_LIB_DEPENDS)
 | 
						|
    QTC_LIB_DEPENDS -= $$unique(done_libs)
 | 
						|
}
 |