]> OCCT Git - occt.git/blob - samples/qt/Tutorial/Tutorial.pro
0ae8b2610a93fbe0d9f2cec629e34023b84ea7ee
[occt.git] / samples / qt / Tutorial / Tutorial.pro
1 TEMPLATE = app
2 CONFIG += debug_and_release qt
3
4 TARGET = Tutorial
5
6 isEmpty(CSF_OCCTSamplesPath) {
7     SAMPLESROOT = $$PWD/..
8 } else {
9     SAMPLESROOT = $$quote($$(CSF_OCCTSamplesPath)/qt)
10 }
11
12 HEADERS   = src/*.h \
13             $${SAMPLESROOT}/Common/src/*.h \
14             $${SAMPLESROOT}/Interface/src/*.h
15
16 SOURCES   = src/*.cxx \
17             $${SAMPLESROOT}/Common/src/*.cxx \
18             $${SAMPLESROOT}/Interface/src/*.cxx
19
20 TS_FILES  = $${SAMPLESROOT}/Common/src/Common-icon.ts \
21             $${SAMPLESROOT}/Common/src/Common-string.ts \
22             ./src/Tutorial-icon.ts \
23             ./src/Tutorial-string.ts
24
25 RES_FILES = $${SAMPLESROOT}/Common/res/* \
26             ./res/*
27
28 RES_DIR   = $$quote($$(RES_DIR))
29
30 INCLUDEPATH += $$quote($${SAMPLESROOT}/Common/src)
31 INCLUDEPATH += $$quote($${SAMPLESROOT}/Interface/src)
32 INCLUDEPATH += $$quote($$(CSF_OCCTIncludePath))
33
34 OCCT_DEFINES = $$(CSF_DEFINES)
35
36 DEFINES = $$split(OCCT_DEFINES, ;)
37
38 unix {
39     UNAME = $$system(uname -s)
40     LIBLIST = $$(LD_LIBRARY_PATH)
41     LIBPATHS = $$split(LIBLIST,":")
42     for(lib, LIBPATHS):LIBS += -L$${lib}
43
44     CONFIG(debug, debug|release) {
45         DESTDIR = ./$$UNAME/bind
46         OBJECTS_DIR = ./$$UNAME/objd
47         MOC_DIR = ./$$UNAME/mocd
48     } else {
49         DESTDIR = ./$$UNAME/bin
50         OBJECTS_DIR = ./$$UNAME/obj
51         MOC_DIR = ./$$UNAME/moc
52     }
53
54     MACOSX_USE_GLX = $$(MACOSX_USE_GLX)
55
56     !macx | equals(MACOSX_USE_GLX, true): INCLUDEPATH += $$QMAKE_INCDIR_X11 $$QMAKE_INCDIR_OPENGL $$QMAKE_INCDIR_THREAD
57     equals(MACOSX_USE_GLX, true): DEFINES += MACOSX_USE_GLX
58     DEFINES += OCC_CONVERT_SIGNALS QT_NO_STL
59     !macx | equals(MACOSX_USE_GLX, true): LIBS += -L$$QMAKE_LIBDIR_X11 $$QMAKE_LIBS_X11 -L$$QMAKE_LIBDIR_OPENGL $$QMAKE_LIBS_OPENGL $$QMAKE_LIBS_THREAD
60     QMAKE_CXXFLAGS += -std=c++17
61 }
62
63 win32 {
64     CONFIG(debug, debug|release) {
65         DEFINES += _DEBUG
66         DESTDIR = ./win$$(ARCH)/$$(VCVER)/bind
67         OBJECTS_DIR = ./win$$(ARCH)/$$(VCVER)/objd
68         MOC_DIR = ./win$$(ARCH)/$$(VCVER)/mocd
69     } else {
70         DEFINES += NDEBUG
71         DESTDIR = ./win$$(ARCH)/$$(VCVER)/bin
72         OBJECTS_DIR = ./win$$(ARCH)/$$(VCVER)/obj
73         MOC_DIR = ./win$$(ARCH)/$$(VCVER)/moc
74     }
75     LIBS = -L$$(QTDIR)/lib;$$(CSF_OCCTLibPath)
76     QMAKE_CXXFLAGS += /std:c++17
77     DEFINES += NO_COMMONSAMPLE_EXPORTS NO_IESAMPLE_EXPORTS
78 }
79
80 LIBS += -lTKernel -lTKMath -lTKService -lTKV3d -lTKOpenGl \
81         -lTKBRep -lTKDEIGES -lTKDESTL -lTKDEVRML -lTKDESTEP \
82         -lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
83         -lTKXSBase -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
84         -lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset -lTKLCAF \
85
86 !exists($${RES_DIR}) {
87     win32 {
88         system(mkdir $${RES_DIR})
89     } else {
90         system(mkdir -p $${RES_DIR})
91     }
92 }
93
94 lrelease.name = LRELEASE ${QMAKE_FILE_IN}
95 lrelease.commands = lrelease ${QMAKE_FILE_IN} -qm $${RES_DIR}/${QMAKE_FILE_BASE}.qm
96 lrelease.output = ${QMAKE_FILE_BASE}.qm
97 lrelease.input = TS_FILES
98 lrelease.clean = $${RES_DIR}/${QMAKE_FILE_BASE}.qm
99 lrelease.CONFIG += no_link target_predeps
100 QMAKE_EXTRA_COMPILERS += lrelease
101
102 copy_res.name = Copy resource ${QMAKE_FILE_IN}
103 copy_res.output = ${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
104 copy_res.clean = $${RES_DIR}/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
105 copy_res.input = RES_FILES
106 copy_res.CONFIG += no_link target_predeps
107 win32: copy_res.commands = type ${QMAKE_FILE_IN} > $${RES_DIR}/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
108 unix:  copy_res.commands = cp -f ${QMAKE_FILE_IN} $${RES_DIR}
109 QMAKE_EXTRA_COMPILERS += copy_res
110 #QMAKE_CXXFLAGS += /wd4996
111
112 greaterThan(QT_MAJOR_VERSION, 4) {
113     QT += widgets
114