1
0
mirror of https://gitee.com/drabel/LibQQt.git synced 2025-01-04 10:18:44 +08:00
LibQQt/examples/qqtframe2/link_qqt_library.pri
tianduanrui b3f1ee970a update
2018-06-25 19:24:47 +08:00

141 lines
5.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#here is all your app common defination and configration
#you can modify this pri to link qqt_library
#only link QQt, this pri file.
#this link need Qt Creator set default build directory, replace
#%{JS: Util.asciify("/your/local/path/to/build/root/%{CurrentProject:Name}/%{Qt:Version}/%{CurrentKit:FileSystemName}/%{CurrentBuild:Name}")}
#auto link QQt when build source
#auto copy QQt when deploy app
#-------------------------------------------------------------
#user computer path settings
#-------------------------------------------------------------
#same app project, same relative path.
#qqt source root, QQt's root pro path. subdir and
equals(QMAKE_HOST.os, Darwin) {
QQT_SOURCE_ROOT = $$PWD/../..
} else: equals(QMAKE_HOST.os, Linux) {
QQT_SOURCE_ROOT = $$PWD/../..
} else: equals(QMAKE_HOST.os, Windows) {
QQT_SOURCE_ROOT = $$PWD/../..
}
#-------------------------------------------------------------
#include qqt's pri
#-------------------------------------------------------------
#qqt qkit
#all cross platform setting is from here.
include($${QQT_SOURCE_ROOT}/src/qqt_qkit.pri)
#qqt function
include($${QQT_SOURCE_ROOT}/src/qqt_function.pri)
#qqt version
include($${QQT_SOURCE_ROOT}/src/qqt_version.pri)
#qqt header
include($${QQT_SOURCE_ROOT}/src/qqt_header.pri)
#-------------------------------------------------------------
#link path init
#-------------------------------------------------------------
isEmpty(QKIT_PRIVATE) {
message(env variable QKIT is required!)
message(pleace check qqt_qkit.pri)
error( error occured!, please check build output panel.)
}
#-------------------------------------------------------------
#link path init
#-------------------------------------------------------------
#qqt build root, build station root
#link_from_build will need this path.
#default sdk root is qqt-source/..
#user can modify this path
#create_qqt_sdk and link_from_sdk will need this.
CONFIG += TDR
contains(CONFIG, TDR) {
equals(QMAKE_HOST.os, Darwin) {
QQT_BUILD_ROOT = /Users/abel/Develop/c0-buildstation
} else: equals(QMAKE_HOST.os, Linux) {
QQT_BUILD_ROOT = /home/abel/Develop/c0-buildstation
} else: equals(QMAKE_HOST.os, Windows) {
QQT_BUILD_ROOT = C:/Users/Administrator/Develop/c0-build
}
equals(QMAKE_HOST.os, Darwin) {
QQT_SDK_ROOT = $${QQT_SOURCE_ROOT}/..
} else: equals(QMAKE_HOST.os, Linux) {
QQT_SDK_ROOT = $${QQT_SOURCE_ROOT}/..
} else: equals(QMAKE_HOST.os, Windows) {
QQT_SDK_ROOT = $${QQT_SOURCE_ROOT}/..
}
}
#-------------------------------------------------------------
#link qqt settings: use source or link library?
#-------------------------------------------------------------
#if you want to build qqt source open this annotation
#CONFIG += QQT_SOURCE_BUILDIN
contains (CONFIG, QQT_SOURCE_BUILDIN) {
#if you want to build src but not link QQt lib in your project
#if you don't want to modify Qt Creator's default build directory, this maybe a choice.
include($${QQT_SOURCE_ROOT}/src/qqt_source.pri)
} else {
#if you want to link QQt library
#qqt will install sdk to sdk path you set, then link it, or link from build station
#qqt also can install sdk to qt library path, then to do that.
#need QQT_BUILD_ROOT
#need QKIT_PRIVATE from qqt_qkit.pri
!contains(CONFIG, TDR):!exists(.config.ini) {
$$system(echo [ROOT] > .config.ini)
$$system(echo QQT_BUILD_ROOT = >> .config.ini)
$$system(echo QQT_SDK_ROOT = >> .config.ini)
}
isEmpty(QQT_BUILD_ROOT): QQT_BUILD_ROOT = $$read_ini("$${PWD}/.config.ini", "ROOT", "QQT_BUILD_ROOT")
isEmpty(QQT_SDK_ROOT): QQT_SDK_ROOT = $$read_ini($${PWD}/.config.ini, ROOT, QQT_SDK_ROOT)
message(QQt build root: $$QQT_BUILD_ROOT)
message(QQt sdk root: $$QQT_SDK_ROOT)
isEmpty(QQT_BUILD_ROOT):error(QQT_BUILD_ROOT required please check .config.ini at $$PWD)
isEmpty(QQT_SDK_ROOT):error(QQT_SDK_ROOT required please check .config.ini at $$PWD)
#you can open one or more macro to make sdk or link from build.
#link from sdk is default setting
CONFIG += link_from_sdk
#CONFIG += link_from_build
#CONFIG += link_from_qt_lib_path
#especially some occations need some sure macro.
contains(QKIT_PRIVATE, iOS|iOSSimulator) {
#mac ios .framework .a 里面的快捷方式必须使用里面的相对路径,不能使用绝对路径
#但是qtcreator生成framework的时候用了绝对路径所以导致拷贝后链接失败库不可用。
#qqt_install.pri 里面解决了framework的拷贝问题但是对于ios里.a的没做而.a被拷贝了竟然也不能用
#在build的地方link就可以了
CONFIG += link_from_build
}
contains(CONFIG, link_from_build) {
#include from source header, default is this, and set in header pri
#...
}
################################################
##include qqt_install.pri using these function to install qqt
##install to Qt library
##install to SDK path
##in this section, I use QMAKE_PRE_LINK QMAKE_POST_LINK, it won't work until project source changed
##on windows, I use touch.exe, you need download it and put it in system dir.
################################################
#QMAKE_POST_LINK won't work until source changed
#qmake pro pri prf change won't effect to QMAKE_POST_LINK
#but I need it before I complete this pri.
#debug.
system("touch $${QQT_SOURCE_ROOT}/src/frame/qqtapplication.cpp")
include ($${QQT_SOURCE_ROOT}/src/qqt_install.pri)
#QQT_SDK_ROOT QQT_SDK_PWD QQT_LIB_PWD
#need qqt_install.pri
include($${QQT_SOURCE_ROOT}/src/qqt_library.pri)
}