]> OCCT Git - occt-copy.git/commitdiff
0023821: Improve qmake project files for Qt samples
authorsan <san@opencascade.com>
Thu, 14 Mar 2013 13:21:47 +0000 (17:21 +0400)
committersan <san@opencascade.com>
Thu, 14 Mar 2013 13:21:47 +0000 (17:21 +0400)
Project file extension corrected for VS 2010/2012 solutions
Sources and resource files from Common and Interface sub-foldrs added to qmake project files from their original location.
RES_DIR environment variable redirected to the binary directory, all resource files copied there to keep the source tree intact.
RES_DIR environment variable corrected under Linux/MacOS similalry to Windows.
Makefile generation corrected under MacOS:
- filenames used as the output for the extra compilers instead of the absolute paths.
- mkdir and cp command options corrected

17 files changed:
samples/qt/IESample/IESample-vc10.sln
samples/qt/IESample/IESample-vc11.sln
samples/qt/IESample/IESample-vc7.sln
samples/qt/IESample/IESample-vc9.sln
samples/qt/IESample/IESample.pro
samples/qt/IESample/env.bat
samples/qt/IESample/env.sh
samples/qt/IESample/generation-vc-projects.bat
samples/qt/IESample/run.sh
samples/qt/Tutorial/Tutorial-vc10.sln
samples/qt/Tutorial/Tutorial-vc11.sln
samples/qt/Tutorial/Tutorial-vc7.sln
samples/qt/Tutorial/Tutorial.pro
samples/qt/Tutorial/env.bat
samples/qt/Tutorial/env.sh
samples/qt/Tutorial/generation-vc-projects.bat
samples/qt/Tutorial/run.sh

index f358270ad79bbe6a4380a93d0039505a23b4542b..70a166763d745a1cbd20c0c9fa9ff6de28e4bf23 100644 (file)
@@ -1,6 +1,6 @@
 Microsoft Visual Studio Solution File, Format Version 11.00
 # Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IESample", "IESample.vcproj", "{7FD0453F-8AC0-3EE3-9C11-DD413EF20A44}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IESample", "IESample.vcxproj", "{7FD0453F-8AC0-3EE3-9C11-DD413EF20A44}"
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
index 8f0d8e1de057441048a4a9ed27773781021f81fc..0893d1298bef64af956d6f60d6a01fae6ee272a2 100644 (file)
@@ -1,6 +1,6 @@
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 2012
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IESample", "IESample.vcproj", "{7FD0453F-8AC0-3EE3-9C11-DD413EF20A44}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IESample", "IESample.vcxproj", "{7FD0453F-8AC0-3EE3-9C11-DD413EF20A44}"
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
index 7dce70bd7f45361f64f21a1716c27a3c8de20c6b..945d3bb42bb78ec7600e7e8203fe055c95b6f16d 100644 (file)
@@ -1,4 +1,5 @@
 Microsoft Visual Studio Solution File, Format Version 8.00
+# Visual Studio 2003
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IESample", "IESample.vcproj", "{7FD0453F-8AC0-3EE3-9C11-DD413EF20A44}"
 EndProject
 Global
index 02baed55ccf493420b617ba1e146341270686c5d..1c0f562f49f2a8c585d9c8f7eb51f65b952a22de 100644 (file)
@@ -1,4 +1,5 @@
 Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IESample", "IESample.vcproj", "{7FD0453F-8AC0-3EE3-9C11-DD413EF20A44}"
 EndProject
 Global
index 9ce573152ee4c660aeb20f6e1762bf91748bfeab..f820bdc2e040efa0a6573379c0c8cb2dc6b63d38 100755 (executable)
@@ -1,14 +1,29 @@
 TEMPLATE = app
 CONFIG += debug_and_release qt
+QT += qt3support
 
 TARGET = IESample
 
-HEADERS = src/*.h
-SOURCES = src/*.cxx
+SAMPLESROOT = $$(CASROOT)/samples/qt
 
-TS_FILES = ./src/Common-icon.ts \
-           ./src/Common-string.ts \
-           ./src/Interface-string.ts
+HEADERS   = src/*.h \
+            $${SAMPLESROOT}/Common/src/*.h \
+            $${SAMPLESROOT}/Interface/src/*.h
+
+SOURCES   = src/*.cxx \
+            $${SAMPLESROOT}/Common/src/*.cxx \
+            $${SAMPLESROOT}/Interface/src/*.cxx
+
+TS_FILES  = $${SAMPLESROOT}/Common/src/Common-icon.ts \
+            $${SAMPLESROOT}/Common/src/Common-string.ts \
+            $${SAMPLESROOT}/Interface/src/Interface-string.ts
+
+RES_FILES = $${SAMPLESROOT}/Common/res/*
+
+RES_DIR   = $$quote($$(RES_DIR))
+
+INCLUDEPATH += $$quote($${SAMPLESROOT}/Common/src)
+INCLUDEPATH += $$quote($${SAMPLESROOT}/Interface/src)
 
 DEFINES = CSFDB
 
@@ -155,16 +170,33 @@ win32 {
     DEFINES +=WNT WIN32 NO_COMMONSAMPLE_EXPORTS NO_IESAMPLE_EXPORTS
 }
 
-LIBS += -lTKernel -lPTKernel -lTKMath -lTKService -lTKV3d -lTKV2d \
+LIBS += -lTKernel -lPTKernel -lTKMath -lTKService -lTKV3d \
         -lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
         -lTKSTEPBase -lTKShapeSchema -lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
         -lTKXSBase -lTKPShape -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
         -lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset \
 
+!exists($${RES_DIR}) {
+    win32 {
+        system(mkdir $${RES_DIR})
+    } else {
+        system(mkdir -p $${RES_DIR})
+    }
+}
+
 lrelease.name = LRELEASE ${QMAKE_FILE_IN}
-lrelease.commands = lrelease ${QMAKE_FILE_IN} -qm ./res/${QMAKE_FILE_BASE}.qm
-lrelease.output = ./res/${QMAKE_FILE_BASE}.qm
+lrelease.commands = lrelease ${QMAKE_FILE_IN} -qm $${RES_DIR}/${QMAKE_FILE_BASE}.qm
+lrelease.output = ${QMAKE_FILE_BASE}.qm
 lrelease.input = TS_FILES
-lrelease.clean = ./res/${QMAKE_FILE_BASE}.qm
+lrelease.clean = $${RES_DIR}/${QMAKE_FILE_BASE}.qm
 lrelease.CONFIG += no_link target_predeps
 QMAKE_EXTRA_COMPILERS += lrelease
+
+copy_res.name = Copy resource ${QMAKE_FILE_IN}
+copy_res.output = ${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+copy_res.clean = $${RES_DIR}/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+copy_res.input = RES_FILES
+copy_res.CONFIG += no_link target_predeps
+win32: copy_res.commands = type ${QMAKE_FILE_IN} > $${RES_DIR}/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+unix:  copy_res.commands = cp -f ${QMAKE_FILE_IN} $${RES_DIR}
+QMAKE_EXTRA_COMPILERS += copy_res
index d42ee2c7ef7d944fdb450bea5acdad6b149fc431..69284cc0daed1431ffb580f6d039256a745077c6 100755 (executable)
@@ -1,3 +1,3 @@
-SET RES_DIR=%~dp0res
-SET CSF_ResourcesDefaults=%RES_DIR%
-SET CSF_IEResourcesDefaults=%RES_DIR%
+SET "RES_DIR=%~dp0win%ARCH%\%VCVER%\res"
+SET "CSF_ResourcesDefaults=%RES_DIR%"
+SET "CSF_IEResourcesDefaults=%RES_DIR%"
index a8b897d82c160d47ae2d77048fdbc2ebfa1b1f19..dcc2990425f4108126495ffa50ae572d498fa963 100755 (executable)
@@ -17,6 +17,10 @@ if test `uname -s` == "Darwin" && test "${WOKHOME}" == ""; then
    exit 1
 fi
 
+host=`uname -s`
+export STATION=$host
+export RES_DIR=${aSamplePath}/${STATION}/res
+
 export PATH=${QTDIR}/bin:${PATH}
 
 source $CASROOT/env.sh
index 8e9cad24f375475e518c53afa60dfd054b0a7835..259981522b6ec8dec23fc9686ac2e8fc9f059315 100644 (file)
@@ -6,6 +6,7 @@ REM second argument specifies architecture) (win32 or win64)
 REM third argument specifies Debug or Release mode
 
 call .\..\..\..\env.bat %1 %2 %3
+call %~dp0env.bat
 
 if not "%1" == "" (
     if /I "%1" == "vc8" (
index 63dccbe243ecfb4c3da639d3761a87b0912a17f4..d9d8d2aceff8207532b51be60787dd912ef49a63 100755 (executable)
@@ -4,11 +4,6 @@ export aSamplePath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 if [ -e "${aSamplePath}/env.sh" ]; then source "${aSamplePath}/env.sh"; fi
 cd $aSamplePath
 
-host=`uname -s`
-STATION=$host
-
-RES_DIR="${aSamplePath}/res"
-
 aSystem=`uname -s`
 if [ "$aSystem" == "Darwin" ] && [ "$MACOSX_USE_GLX" != "true" ]; then
   if [ "${CASDEB}" == "d" ]; then
index ba41beef9b670f594cbc14e9d90a72e4a2f3a0bd..4fb1550abd20d8eb0db36c7251b8ef74c5dccb8b 100644 (file)
@@ -1,6 +1,6 @@
 Microsoft Visual Studio Solution File, Format Version 11.00
 # Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tutorial", "Tutorial.vcproj", "{59DEDC8A-A5ED-31E8-8F2B-8D996E3A41D6}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tutorial", "Tutorial.vcxproj", "{59DEDC8A-A5ED-31E8-8F2B-8D996E3A41D6}"
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
index 6d86e820870d0781a84fc8237862119c5e9f50dd..ef211cde2ec170fd93749226612ad930fb141ca4 100644 (file)
@@ -1,6 +1,6 @@
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 2012
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tutorial", "Tutorial.vcproj", "{59DEDC8A-A5ED-31E8-8F2B-8D996E3A41D6}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tutorial", "Tutorial.vcxproj", "{59DEDC8A-A5ED-31E8-8F2B-8D996E3A41D6}"
 EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
index d1d2281af866b98d12b54fb42d982aced8cbdbee..04c876ed55a1faa97ea01d64573a683237e6cbe0 100644 (file)
@@ -1,4 +1,5 @@
 Microsoft Visual Studio Solution File, Format Version 8.00
+# Visual Studio 2003
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tutorial", "Tutorial.vcproj", "{59DEDC8A-A5ED-31E8-8F2B-8D996E3A41D6}"
 EndProject
 Global
index 10980d7ddcb950cfc02e1e9997c2298596534185..25793b970a1dcac9ceb65d76dba5d11ff6d9d00d 100755 (executable)
@@ -1,16 +1,31 @@
 TEMPLATE = app
 CONFIG += debug_and_release qt
+QT += qt3support
 
 TARGET = Tutorial
 
-HEADERS = src/*.h
-SOURCES = src/*.cxx
+SAMPLESROOT = $$(CASROOT)/samples/qt
 
+HEADERS   = src/*.h \
+            $${SAMPLESROOT}/Common/src/*.h \
+            $${SAMPLESROOT}/Interface/src/*.h
 
-TS_FILES = ./src/Common-icon.ts \
-           ./src/Common-string.ts \
-           ./src/Tutorial-icon.ts \
-          ./src/Tutorial-string.ts
+SOURCES   = src/*.cxx \
+            $${SAMPLESROOT}/Common/src/*.cxx \
+            $${SAMPLESROOT}/Interface/src/*.cxx
+
+TS_FILES  = $${SAMPLESROOT}/Common/src/Common-icon.ts \
+            $${SAMPLESROOT}/Common/src/Common-string.ts \
+            ./src/Tutorial-icon.ts \
+            ./src/Tutorial-string.ts
+
+RES_FILES = $${SAMPLESROOT}/Common/res/* \
+            ./res/*
+
+RES_DIR   = $$quote($$(RES_DIR))
+
+INCLUDEPATH += $$quote($${SAMPLESROOT}/Common/src)
+INCLUDEPATH += $$quote($${SAMPLESROOT}/Interface/src)
 
 DEFINES = CSFDB
 
@@ -157,16 +172,34 @@ win32 {
     DEFINES +=WNT WIN32 NO_COMMONSAMPLE_EXPORTS NO_IESAMPLE_EXPORTS
 }
 
-LIBS += -lTKernel -lPTKernel -lTKMath -lTKService -lTKV3d -lTKV2d \
+LIBS += -lTKernel -lPTKernel -lTKMath -lTKService -lTKV3d \
         -lTKBRep -lTKIGES -lTKSTL -lTKVRML -lTKSTEP -lTKSTEPAttr -lTKSTEP209 \
         -lTKSTEPBase -lTKShapeSchema -lTKGeomBase -lTKGeomAlgo -lTKG3d -lTKG2d \
         -lTKXSBase -lTKPShape -lTKShHealing -lTKHLR -lTKTopAlgo -lTKMesh -lTKPrim \
         -lTKCDF -lTKBool -lTKBO -lTKFillet -lTKOffset \
 
+!exists($${RES_DIR}) {
+    win32 {
+        system(mkdir $${RES_DIR})
+    } else {
+        system(mkdir -p $${RES_DIR})
+    }
+}
+
 lrelease.name = LRELEASE ${QMAKE_FILE_IN}
-lrelease.commands = lrelease ${QMAKE_FILE_IN} -qm ./res/${QMAKE_FILE_BASE}.qm
-lrelease.output = ./res/${QMAKE_FILE_BASE}.qm
+lrelease.commands = lrelease ${QMAKE_FILE_IN} -qm $${RES_DIR}/${QMAKE_FILE_BASE}.qm
+lrelease.output = ${QMAKE_FILE_BASE}.qm
 lrelease.input = TS_FILES
-lrelease.clean = ./res/${QMAKE_FILE_BASE}.qm
+lrelease.clean = $${RES_DIR}/${QMAKE_FILE_BASE}.qm
 lrelease.CONFIG += no_link target_predeps
-QMAKE_EXTRA_COMPILERS += lrelease
\ No newline at end of file
+QMAKE_EXTRA_COMPILERS += lrelease
+
+copy_res.name = Copy resource ${QMAKE_FILE_IN}
+copy_res.output = ${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+copy_res.clean = $${RES_DIR}/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+copy_res.input = RES_FILES
+copy_res.CONFIG += no_link target_predeps
+win32: copy_res.commands = type ${QMAKE_FILE_IN} > $${RES_DIR}/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+unix:  copy_res.commands = cp -f ${QMAKE_FILE_IN} $${RES_DIR}
+QMAKE_EXTRA_COMPILERS += copy_res
+
index a3b4345e0a8c66ca2bf1feef2741c65ce60ad507..12c9d7f2a48a895e23a0aa53a3c920131b53be36 100755 (executable)
@@ -1,4 +1,4 @@
-SET RES_DIR=%~dp0res
-SET CSF_ResourcesDefaults=%RES_DIR%
-SET CSF_TutorialResourcesDefaults=%RES_DIR%
+SET "RES_DIR=%~dp0win%ARCH%\%VCVER%\res"
+SET "CSF_ResourcesDefaults=%RES_DIR%"
+SET "CSF_TutorialResourcesDefaults=%RES_DIR%"
 
index a8b897d82c160d47ae2d77048fdbc2ebfa1b1f19..dcc2990425f4108126495ffa50ae572d498fa963 100755 (executable)
@@ -17,6 +17,10 @@ if test `uname -s` == "Darwin" && test "${WOKHOME}" == ""; then
    exit 1
 fi
 
+host=`uname -s`
+export STATION=$host
+export RES_DIR=${aSamplePath}/${STATION}/res
+
 export PATH=${QTDIR}/bin:${PATH}
 
 source $CASROOT/env.sh
index 1e1d5869f1a64e06ad7e584062c4cdd3f8c1942e..d6c7ee4769c4b44aff4b1aa6aeca74ef0c28ca1b 100644 (file)
@@ -6,6 +6,7 @@ REM second argument specifies architecture) (win32 or win64)
 REM third argument specifies Debug or Release mode
 
 call .\..\..\..\env.bat %1 %2 %3
+call %~dp0env.bat
 
 if not "%1" == "" (
     if /I "%1" == "vc8" (
index 9637375493312f854e71c27e6a90dc8797a792e7..c2eb83498fd212daacf7cf65aa8c134b1fa63b12 100755 (executable)
@@ -4,11 +4,6 @@ export aSamplePath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 if [ -e "${aSamplePath}/env.sh" ]; then source "${aSamplePath}/env.sh"; fi
 cd $aSamplePath
 
-host=`uname -s`
-STATION=$host
-
-RES_DIR="${aSamplePath}/res"
-
 aSystem=`uname -s`
 if [ "$aSystem" == "Darwin" ] && [ "$MACOSX_USE_GLX" != "true" ]; then
   if [ "${CASDEB}" == "d" ]; then