Skip to content

Commit e6d6055

Browse files
committed
Add dummy qmake project for source code navigation using Qt Creator
1 parent e7e9509 commit e6d6055

File tree

8 files changed

+144
-5
lines changed

8 files changed

+144
-5
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ custom.sh
3333
Doxygen/
3434
distribution/repository/
3535
distribution/temp/
36+
distribution/build-*
3637
3rdparty/atlmfc
3738
3rdparty/OCCT/inc/
3839
3rdparty/OCCT/lib/

Makefile

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -698,11 +698,13 @@ $(sViewApk): $(sViewApkSigned)
698698
# 2) Passwords are asked by jarsigner itself (requires console input)
699699
# 3) Passwords are asked using zenity message window (requires GUI input)
700700
ifeq ($(MAKECMDGOALS), android)
701-
ifeq ($(ANDROID_KEY_PASSWORD),)
702-
ifeq ($(ANDROID_KEYSTORE_PASSWORD),)
703-
#ANDROID_KEYSTORE_PASSWORD := $(shell zenity --password --title="Android keystore password")
704-
endif
705-
#ANDROID_KEY_PASSWORD := $(shell zenity --password --title="Android key password")
701+
702+
ifeq ($(ANDROID_KEY_GUI), 1)
703+
$(sViewApkSigned): $(sViewApkUnsigned) sView_keystore_debug
704+
$(eval ANDROID_KEYSTORE_PASSWORD := $(shell zenity --password --title="Android keystore"))
705+
$(eval ANDROID_KEY_PASSWORD := $(shell zenity --password --title="Android key"))
706+
$(JAVA_HOME)/bin/jarsigner -verbose -keystore $(ANDROID_KEYSTORE) -storepass $(ANDROID_KEYSTORE_PASSWORD) -keypass $(ANDROID_KEY_PASSWORD) -signedjar $(sViewApkSigned) $< $(ANDROID_KEY)
707+
else ifeq ($(ANDROID_KEY_PASSWORD),)
706708
$(sViewApkSigned): $(sViewApkUnsigned) sView_keystore_debug
707709
$(JAVA_HOME)/bin/jarsigner -verbose -keystore $(ANDROID_KEYSTORE) -signedjar $(sViewApkSigned) $< $(ANDROID_KEY)
708710
else

distribution/qmake/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/*/*.pro
2+
/*/*/*.pro
3+
*.pro.user
4+
custom.pri
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
ST_MAKE_TARGET = android
2+
ANDROID_EABI = armeabi-v7a
3+
#ANDROID_EABI = arm64-v8a
4+
#ANDROID_EABI = x86
5+
6+
!isEmpty(ST_MAKE_TARGET) {
7+
ST_DEPS_ROOT = $$_PRO_FILE_PWD_/../../../3rdparty/android/build
8+
9+
ANDROID_NDK = $$ST_DEPS_ROOT/android-ndk-r12b
10+
ANDROID_BUILD_TOOLS = $$ST_DEPS_ROOT/android-build-tools-26.0.3
11+
ANDROID_PLATFORM = $$ST_DEPS_ROOT/android-15.jar
12+
FFMPEG_ROOT = $$ST_DEPS_ROOT/FFmpeg-2016-07-02-git-21ee644-arm-linux-androideabi-4.9.x-LGPL
13+
FREETYPE_ROOT = $$ST_DEPS_ROOT/freetype-2.6.3-android
14+
OPENAL_ROOT = $$ST_DEPS_ROOT/openal-soft-1.17.2-arm7
15+
LIBCONFIG_ROOT = $$ST_DEPS_ROOT/libconfig-1.4.9-arm7
16+
17+
ANDROID_KEY_GUI = 1
18+
#ANDROID_KEYSTORE = $$ST_DEPS_ROOT/sview_debug.key
19+
#ANDROID_KEYSTORE_PASSWORD = 1
20+
#ANDROID_KEY = "sview android key"
21+
#ANDROID_KEY_PASSWORD = 2
22+
}

distribution/qmake/dummy.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
int main() { return 1; }

distribution/qmake/sView.pro

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# This is a Solution project for sView.
2+
# It is intended only for code navigation using Qt Creator, not for building project!
3+
#
4+
# To use this project, open it in Qt Creator, "Run qmake" once,
5+
# close the project and open it anew, until the list of sView modules will not appear in Projects list.
6+
# Then "Run qmake" and "Build Project" which would redirect to Makefile in sView root folder.
7+
TEMPLATE = subdirs
8+
9+
# Iterate over Modules and generate sub-projects
10+
aSolTkList = StShared StGLWidgets StCore StOutAnaglyph StOutDual StOutInterlace StOutPageFlip StOutIZ3D StOutDistorted StImageViewer StMoviePlayer StDiagnostics StCADViewer StBrowserPlugin sview StTests
11+
for (aSolToolkit, aSolTkList) {
12+
eval(sviewtkgen_$${aSolToolkit}.input = $$_PRO_FILE_PWD_/sViewToolkit.pro.in)
13+
eval(sviewtkgen_$${aSolToolkit}.output = $$_PRO_FILE_PWD_/$${aSolToolkit}/$${aSolToolkit}.pro)
14+
eval(sviewkgen_$${aSolToolkit}.config = verbatim)
15+
eval(QMAKE_SUBSTITUTES += sviewtkgen_$${aSolToolkit})
16+
SUBDIRS += $${aSolToolkit}
17+
18+
!equals(aSolToolkit, StShared) {
19+
#$${aSolToolkit}.depends += StShared
20+
}
21+
}
22+
23+
aTxtListTxt = $$files($$_PRO_FILE_PWD_/../../license-*.txt)
24+
aTxtListMd1 = $$files($$_PRO_FILE_PWD_/../../*.md)
25+
aTxtListMd2 = $$files($$_PRO_FILE_PWD_/../../docs/*.md)
26+
OTHER_FILES += $$aTxtListTxt
27+
OTHER_FILES += $$aTxtListMd1
28+
OTHER_FILES += $$aTxtListMd2
29+
OTHER_FILES += $$_PRO_FILE_PWD_/../../Makefile
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ST_TOOLKIT_NAME = \$\$TARGET
2+
include(../tk.pri)

distribution/qmake/tk.pri

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# This is a project template file defining an sView Toolkit.
2+
# This project should be included with predefined ST_TOOLKIT_NAME variable.
3+
4+
#TEMPLATE = lib
5+
TEMPLATE = aux
6+
7+
# Disable some dummy Qt defaults
8+
QT -= core gui
9+
CONFIG -= qt app_bundle
10+
CONFIG -= debug_and_release
11+
12+
sViewRoot = $$_PRO_FILE_PWD_/../../..
13+
DESTDIR = $$sViewRoot/build
14+
LIBS += -L$$sViewRoot/build
15+
exists(custom.pri) { include(custom.pri) }
16+
17+
aSrcListHpp0 = $$files($$sViewRoot/$$ST_TOOLKIT_NAME/*.h, true)
18+
aSrcListHpp1 = $$files($$sViewRoot/include/$$ST_TOOLKIT_NAME/*.h)
19+
aSrcListCpp = $$files($$sViewRoot/$$ST_TOOLKIT_NAME/*.cpp, true)
20+
aSrcListMm = $$files($$sViewRoot/$$ST_TOOLKIT_NAME/*.mm, true)
21+
aSrcListJava = $$files($$sViewRoot/$$ST_TOOLKIT_NAME/*.java, true)
22+
aSrcListRc = $$files($$sViewRoot/$$ST_TOOLKIT_NAME/*.rc, true)
23+
aSrcListXml = $$files($$sViewRoot/$$ST_TOOLKIT_NAME/*.xml, true)
24+
aSrcListPlist= $$files($$sViewRoot/$$ST_TOOLKIT_NAME/*.plist, true)
25+
INCLUDEPATH += $$sViewRoot/include
26+
INCLUDEPATH += $$sViewRoot/3rdparty/include
27+
HEADERS += $$aSrcListHpp0
28+
HEADERS += $$aSrcListHpp1
29+
!equals(TEMPLATE, aux) {
30+
SOURCES += $$aSrcListCpp
31+
mac { SOURCES += $$aSrcListMm }
32+
}
33+
OTHER_FILES += $$aSrcListJava
34+
OTHER_FILES += $$aSrcListRc
35+
OTHER_FILES += $$aSrcListXml
36+
OTHER_FILES += $$aSrcListPlist
37+
38+
aLngList = chinese czech english french german korean russian
39+
for (aLngIter, aLngList) {
40+
aSrcListLng = $$files($$sViewRoot/$$ST_TOOLKIT_NAME/lang/$$aLngIter/*.lng)
41+
OTHER_FILES += $$aSrcListLng
42+
}
43+
44+
equals(ST_TOOLKIT_NAME, StShared) {
45+
aSrcListHppX = $$files($$sViewRoot/include/*.h,true)
46+
HEADERS += $$aSrcListHppX
47+
48+
DEFINES += ST_SHARED_DLL
49+
} else:equals(ST_TOOLKIT_NAME, sview) {
50+
# Define sView executable which Qt Creator will automatically use for "Run".
51+
# Touch dummy.cpp to force QMAKE_POST_LINK redirecting to main Makefile to be executed within each build.
52+
TEMPLATE = app
53+
TARGET = sView
54+
SOURCES += $$_PRO_FILE_PWD_/../dummy.cpp
55+
QMAKE_POST_LINK += rm $(TARGET); touch $$_PRO_FILE_PWD_/../dummy.cpp;
56+
57+
# Redirect clean to main Makefile.
58+
realclean.commands = $(MAKE) --directory $$sViewRoot clean
59+
clean.depends = realclean
60+
QMAKE_EXTRA_TARGETS += clean realclean
61+
62+
# Prepare make arguments
63+
aNbJobs = $$system(getconf _NPROCESSORS_ONLN)
64+
ST_MAKE_ARGS = -j$$aNbJobs
65+
#ST_MAKE_TARGET = android
66+
!isEmpty(ST_MAKE_TARGET) { ST_MAKE_ARGS += $$ST_MAKE_TARGET }
67+
aMakeEnvList = ANDROID_NDK ANDROID_BUILD_TOOLS ANDROID_PLATFORM ANDROID_EABI FFMPEG_ROOT FREETYPE_ROOT OPENAL_ROOT LIBCONFIG_ROOT ANDROID_KEY_GUI ANDROID_KEYSTORE ANDROID_KEYSTORE_PASSWORD ANDROID_KEY ANDROID_KEY_PASSWORD
68+
for (aMakeEnvIter, aMakeEnvList) {
69+
!isEmpty($${aMakeEnvIter}) { ST_MAKE_ARGS += $${aMakeEnvIter}=$$val_escape($${aMakeEnvIter}) }
70+
}
71+
72+
# Redirect build to main Makefile.
73+
QMAKE_POST_LINK += $(MAKE) --directory $$sViewRoot $$ST_MAKE_ARGS;
74+
#realbuild.commands = $(MAKE) --directory $$sViewRoot $$ST_MAKE_ARGS
75+
#realbuild.target = realbuild
76+
#QMAKE_EXTRA_TARGETS += realbuild
77+
#POST_TARGETDEPS += realbuild
78+
}

0 commit comments

Comments
 (0)