mirror of
https://git.jami.net/savoirfairelinux/jami-client-qt.git
synced 2025-09-10 12:03:18 +02:00
qmake: fix for qt version and lrc path
Also configures an install prefix. Gitlab: #581 Change-Id: Ia7496d0c8e27fa8174a797a3ab62384c13dce774
This commit is contained in:
parent
1f91576a0b
commit
1b2590708e
2 changed files with 38 additions and 22 deletions
26
jami-qt.pro
26
jami-qt.pro
|
@ -81,22 +81,18 @@ unix {
|
|||
TARGET = jami-qt
|
||||
TEMPLATE = app
|
||||
|
||||
QT += quick quickwidgets widgets xml multimedia multimediawidgets network webenginewidgets svg quickcontrols2 webengine webenginecore sql dbus
|
||||
QT += quick quickwidgets widgets xml multimedia multimediawidgets network \
|
||||
webenginewidgets svg quickcontrols2 webengine webenginecore sql dbus
|
||||
|
||||
#check Qt version
|
||||
QT_VERSION = $$[QT_VERSION]
|
||||
QT_VERSION = $$split(QT_VERSION, ".")
|
||||
QT_VER_MAJ = $$member(QT_VERSION, 0)
|
||||
QT_VER_MIN = $$member(QT_VERSION, 1)
|
||||
|
||||
lessThan(QT_VER_MIN, 12) {
|
||||
# Maj/min versions can be checked(if needed) using:
|
||||
# equals(QT_MAJOR_VERSION, 5):lessThan(QT_MINOR_VERSION, 12) {}
|
||||
versionAtLeast(QT_VERSION, 5.12.0) {
|
||||
CONFIG += c++17
|
||||
} else {
|
||||
QMAKE_CXXFLAGS += -std=c++17
|
||||
}
|
||||
greaterThan(QT_VER_MIN, 12) | equals(QT_VER_MIN, 12) {
|
||||
CONFIG += c++17
|
||||
}
|
||||
|
||||
isEmpty(LRC) { LRC=../../install/lrc/ }
|
||||
isEmpty(LRC) { LRC=$$PWD/../install/lrc/ }
|
||||
|
||||
INCLUDEPATH += $${LRC}/include/libringclient
|
||||
INCLUDEPATH += $${LRC}/include
|
||||
|
@ -104,6 +100,10 @@ unix {
|
|||
|
||||
LIBS += -L$${LRC}/lib -lringclient
|
||||
LIBS += -lqrencode
|
||||
|
||||
isEmpty(PREFIX) { PREFIX = /tmp/$${TARGET}/bin }
|
||||
target.path = $$PREFIX/bin
|
||||
INSTALLS += target
|
||||
}
|
||||
|
||||
# Input
|
||||
|
@ -147,6 +147,7 @@ HEADERS += ./src/smartlistmodel.h \
|
|||
./src/videoformatfpsmodel.h \
|
||||
./src/videoformatresolutionmodel.h \
|
||||
./src/audiomanagerlistmodel.h
|
||||
|
||||
SOURCES += ./src/bannedlistmodel.cpp \
|
||||
./src/accountlistmodel.cpp \
|
||||
./src/runguard.cpp \
|
||||
|
@ -182,5 +183,6 @@ SOURCES += ./src/bannedlistmodel.cpp \
|
|||
./src/videoformatfpsmodel.cpp \
|
||||
./src/videoformatresolutionmodel.cpp \
|
||||
./src/audiomanagerlistmodel.cpp
|
||||
|
||||
RESOURCES += ./ressources.qrc \
|
||||
./qml.qrc
|
||||
|
|
|
@ -11,7 +11,7 @@ import re
|
|||
|
||||
# vs help
|
||||
win_sdk_default = '10.0.16299.0'
|
||||
win_toolset_default = 'v141'
|
||||
win_toolset_default = 'v142'
|
||||
|
||||
vs_where_path = os.path.join(
|
||||
os.environ['ProgramFiles(x86)'], 'Microsoft Visual Studio', 'Installer', 'vswhere.exe'
|
||||
|
@ -19,6 +19,7 @@ vs_where_path = os.path.join(
|
|||
|
||||
host_is_64bit = (False, True)[platform.machine().endswith('64')]
|
||||
|
||||
|
||||
def execute_cmd(cmd, with_shell=False, env_vars={}):
|
||||
if(bool(env_vars)):
|
||||
p = subprocess.Popen(cmd, shell=with_shell,
|
||||
|
@ -29,6 +30,7 @@ def execute_cmd(cmd, with_shell=False, env_vars={}):
|
|||
_, _ = p.communicate()
|
||||
return p.returncode
|
||||
|
||||
|
||||
def getLatestVSVersion():
|
||||
args = [
|
||||
'-latest',
|
||||
|
@ -52,7 +54,8 @@ def findVSLatestDir():
|
|||
'-property installationPath'
|
||||
]
|
||||
cmd = [vs_where_path] + args
|
||||
output = subprocess.check_output(' '.join(cmd)).decode('utf-8', errors='ignore')
|
||||
output = subprocess.check_output(
|
||||
' '.join(cmd)).decode('utf-8', errors='ignore')
|
||||
if output:
|
||||
return output.splitlines()[0]
|
||||
else:
|
||||
|
@ -76,6 +79,7 @@ def getVSEnv(arch='x64', platform='', version=''):
|
|||
out = stdout.decode('utf-8', errors='ignore').split("\r\n")[5:-1]
|
||||
return dict(s.split('=', 1) for s in out)
|
||||
|
||||
|
||||
def getVSEnvCmd(arch='x64', platform='', version=''):
|
||||
vcEnvInit = [findVSLatestDir() + r'\VC\Auxiliary\Build\"vcvarsall.bat']
|
||||
if platform != '':
|
||||
|
@ -87,6 +91,7 @@ def getVSEnvCmd(arch='x64', platform='', version=''):
|
|||
vcEnvInit = 'call \"' + ' '.join(vcEnvInit)
|
||||
return vcEnvInit
|
||||
|
||||
|
||||
def build_project(msbuild, msbuild_args, proj, env_vars):
|
||||
args = []
|
||||
args.extend(msbuild_args)
|
||||
|
@ -97,6 +102,7 @@ def build_project(msbuild, msbuild_args, proj, env_vars):
|
|||
print("Build failed when building ", proj)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def replace_vs_prop(filename, prop, val):
|
||||
p = re.compile(r'(?s)<' + prop + r'\s?.*?>(.*?)<\/' + prop + r'>')
|
||||
val = r'<' + prop + r'>' + val + r'</' + prop + r'>'
|
||||
|
@ -104,6 +110,7 @@ def replace_vs_prop(filename, prop, val):
|
|||
for line in file:
|
||||
print(re.sub(p, val, line), end='')
|
||||
|
||||
|
||||
def deps(arch, toolset, qtver):
|
||||
print('Deps Qt Client Release|' + arch)
|
||||
|
||||
|
@ -117,11 +124,13 @@ def deps(arch, toolset, qtver):
|
|||
print("Git clone failed when cloning from https://github.com/BlueDragon747/qrencode-win32.git")
|
||||
sys.exit(1)
|
||||
if(execute_cmd("cd qrencode-win32 && git checkout d6495a2aa74d058d54ae0f1b9e9e545698de66ce && " + apply_cmd + ' ..\\qrencode-win32.patch', True)):
|
||||
print("Qrencode-win32 set up error")
|
||||
print("qrencode-win32 set up error")
|
||||
sys.exit(1)
|
||||
|
||||
print('Building qrcodelib')
|
||||
build(arch, '', '', 'Release-Lib', '\\qrencode-win32\\qrencode-win32\\vc8\\qrcodelib\\qrcodelib.vcxproj', qtver, False)
|
||||
build(arch, '', '', 'Release-Lib',
|
||||
'\\qrencode-win32\\qrencode-win32\\vc8\\qrcodelib\\qrcodelib.vcxproj', qtver, False)
|
||||
|
||||
|
||||
def build(arch, toolset, sdk_version, config_str, project_path_under_current_path, qtver, force_option=True):
|
||||
configuration_type = 'StaticLibrary'
|
||||
|
@ -190,6 +199,7 @@ def build(arch, toolset, sdk_version, config_str, project_path_under_current_pat
|
|||
|
||||
build_project(msbuild, msbuild_args, qt_client_proj_path, vs_env_vars)
|
||||
|
||||
|
||||
def parse_args():
|
||||
ap = argparse.ArgumentParser(description="Windows Jami-lrc build tool")
|
||||
ap.add_argument(
|
||||
|
@ -237,13 +247,17 @@ def main():
|
|||
deps(parsed_args.arch, parsed_args.toolset, parsed_args.qtver)
|
||||
|
||||
if parsed_args.build:
|
||||
build(parsed_args.arch, parsed_args.toolset, parsed_args.sdk, 'Release', '\\jami-qt.vcxproj', parsed_args.qtver)
|
||||
build(parsed_args.arch, parsed_args.toolset, parsed_args.sdk,
|
||||
'Release', '\\jami-qt.vcxproj', parsed_args.qtver)
|
||||
|
||||
if parsed_args.beta:
|
||||
build(parsed_args.arch, parsed_args.toolset, parsed_args.sdk, 'Beta', '\\jami-qt.vcxproj', parsed_args.qtver)
|
||||
build(parsed_args.arch, parsed_args.toolset, parsed_args.sdk,
|
||||
'Beta', '\\jami-qt.vcxproj', parsed_args.qtver)
|
||||
|
||||
if parsed_args.releasecompile:
|
||||
build(parsed_args.arch, parsed_args.toolset, parsed_args.sdk, 'ReleaseCompile', '\\jami-qt.vcxproj', parsed_args.qtver)
|
||||
build(parsed_args.arch, parsed_args.toolset, parsed_args.sdk,
|
||||
'ReleaseCompile', '\\jami-qt.vcxproj', parsed_args.qtver)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
Loading…
Add table
Reference in a new issue