aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/windows-msvc.qbs
Commit message (Collapse)AuthorAgeFilesLines
* simplify signature of MSVC.prepareLinkerJoerg Bornemann2014-07-221-12/+2
| | | | | Change-Id: I6dc05e5ef71e4fd54e3a27b5e13de9bdb9c57940 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* simplify signature of MSVC.prepareCompilerJoerg Bornemann2014-07-221-23/+3
| | | | | Change-Id: I1c42f03aa7aa539560ba3da520a2df16758f9485 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* deprecate Artifact.fileName in favor of Artifact.filePathJoerg Bornemann2014-07-161-10/+10
| | | | | | | | This property is actually a file path, not a mere name. Task-number: QBS-579 Change-Id: I04e8f03eac97b5f86fe743a4923888a3d2a82c5d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* use {input|output}.fileName where appropriateJoerg Bornemann2014-05-201-2/+2
| | | | | | Change-Id: I793210ba6eeeb3a15e78282e14b8e5ad6459c078 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Merge remote-tracking branch 'origin/1.2'Joerg Bornemann2014-05-161-1/+1
|\ | | | | | | Change-Id: I19d714d5c860268aaed6d7b6cf254c0b55b159c6
| * MSVC: do not use deprecated input.fileName propertyJoerg Bornemann2014-05-161-1/+1
| | | | | | | | | | Change-Id: I3b8528765295dcb38fc651a83bf7b093dc2c6a53 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | remove deprecated cpp.windowsSDKPathJoerg Bornemann2014-05-161-1/+0
| | | | | | | | | | | | Change-Id: I7bc372ed04fa7f950f6b62cf1b5691cca1d369e5 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | Introduce sensible build directory values.Christian Kandeler2014-05-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, all products share the same build directory, and rules are responsible for making their artifact file paths unique, which is annoying for module authors and introduces lots of code duplication. Instead, make the product build directories unique and let these directories be the base directory of relative artifact file paths. Also export the top-level build dir as project.buildDirectory to the JavaScript side so rules can refer to that one if necessary. Task-number: QBS-567 Change-Id: I257d37cad01ec6dece3e214799b917149677d80c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Pass the product to PathTools functions for proper encapsulation.Jake Petroules2014-04-141-4/+4
| | | | | | | | | | Change-Id: Idcfbb37830e56b09af56d087b710b7e64fb66c0c Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | Move several JS files in the cpp module to imports.Jake Petroules2014-04-141-3/+3
|/ | | | | | | | | | | | | | | | | | All of these files are generically useful and not specific to C++. - BundleTools/DarwinTools are useful on OS X in general and are used by both the C++ and Interface Builder modules. PathTools also uses DarwinTools. - PathTools is currently only used by the C++ module but contains general filename functions that can be shared across multiple native language modules, like C++, Go, etc. - WindowsUtils contains functions general to the Windows OS. These imports should not yet be documented as further refactoring is necessary. Change-Id: I503773af268eabf8a77ebfc8a5809b9ddcad7af2 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* detect Visual Studio build environment using vcvarsall.batJoerg Bornemann2014-04-081-40/+1
| | | | | | | | | | | | | | | To provide a consistent build environment for Visual Studio setup-toolchains now executes the vsvarsall.bat that comes with the Visual Studio installation. The environment is written to the profile under the key "buildEnvironment". The setupBuildEnvironment script in windows-msvc.qbs isn't needed anymore. Task-number: QBS-444 Task-number: QBS-508 Change-Id: I3191f5ff127bed6b96ce5ea5520b20fc9646364f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* move import of bundle-tools.js to path-tools.jsJoerg Bornemann2014-02-281-1/+0
| | | | | | | And remove it from where it isn't needed. Change-Id: I51dc33e1dce4fd43b7b3080ef6e277e7c6b9b725 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* use filePath instead of fileName where applicableJoerg Bornemann2014-02-251-6/+6
| | | | | | | | This fixes the recently introduced deprecation warnings. Task-number: QBS-258 Change-Id: I10660270895ec89a1444d596922c22e9658ca3ab Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix duplicate arguments in linker command lineJoerg Bornemann2014-01-291-1/+1
| | | | | | | Task-number: QBS-501 Change-Id: I103041729bcdef35bd62a3ed8ec9190c684d17b5 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Make ModUtils a proper import.Christian Kandeler2014-01-211-1/+1
| | | | | | | | So we don't have to duplicate the file for the qtprofilesetup library. We still consider it internal, though. Change-Id: Iea92b141830bc7af821b13c0270372b784f1feb7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge remote-tracking branch 'origin/1.1'Joerg Bornemann2013-11-141-0/+1
|\ | | | | | | Change-Id: I7475c4a71c15c83c59400c44ef96d73d15caea58
| * introduce cpp.linkerName and cpp.linkerPathJoerg Bornemann2013-11-131-0/+1
| | | | | | | | | | | | | | Like the compilerName/Path, the linker must be configurable. Change-Id: I50f9511dedbff29dbf55b41b96e213f238be187f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* | Allow lists of patterns in the FileTagger item.Christian Kandeler2013-11-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Rationale: It is not uncommon that the same tag is associated with more than one file pattern; more common, in fact, than the other way around. It therefore seems silly to force module authors to create one FileTagger item per file extension. For semantic consistency, the "pattern" property gets renamed to "patterns". The old name is still supported in this minor version. Change-Id: Ia7f744b0903462517582fcb549e2dab004c81dd5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | remove architecture fallback from msvc cpp moduleJoerg Bornemann2013-10-311-1/+1
|/ | | | | | | We're acting on the assumption that qbs.architecture is set. Change-Id: I2aaa9e2fa87041fd0025d62ce459f958b7890f74 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* do not collect cpp.platformDefines from dependent modulesJoerg Bornemann2013-10-301-4/+4
| | | | | | | | | | cpp.platformDefines is dependent on properties that are set in the product's or a group's instance of cpp. Therefore we must not combine the values of this property from the input and its dependencies. Task-number: QBS-433 Change-Id: Id90ffc9d8193d8425e62ffc3d0b1d3cca83f8dff Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* create a profile per MSVC installation and per architectureJoerg Bornemann2013-10-161-1/+1
| | | | | | | | | | detect-toolchains will now create one profile per supported architecture per found MSVC installation. Task-number: QBS-404 Change-Id: I6ca569c312c31c39c49cfbfe5ffa638698fb90b2 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Change property types from "string" to "path" where applicable.Christian Kandeler2013-09-301-2/+2
| | | | | Change-Id: I09cb3d854d8bd0e95760eae8c0e9a06d760498b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add support for C, Objective-C and Objective-C++ precompiled headers.Jake Petroules2013-09-191-8/+33
| | | | | | | Task-number: QBS-278 Change-Id: I2999a64168f70aff21007e55d52314433425e84e Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* introduce Rule.auxiliaryInputsJoerg Bornemann2013-07-311-0/+2
| | | | | | | | | | This eliminates the need of putting "hpp" into Module.additionalProductFileTags to produce ui_XXX.h files. Instead, we're making all hpp producing rules dependent on the compiler rule. Change-Id: I345cb3bee20d8080e40ca678d4db822ccd1af92e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* MSVC application linker: do not link DLLs transitivelyJoerg Bornemann2013-07-111-1/+1
| | | | | | | This is consistent with the DLL linker. Change-Id: Ib552d5b3d0e9c6b9416e40b61b0ff71ee190fdea Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Do not use an "as" specifier for URI imports.Christian Kandeler2013-07-051-1/+1
| | | | | | | | Also rename "fileinfo" to "FileInfo" and "probes" to "Probes", to make the default name more conventional. Change-Id: I86ed29e299b8a9c2f40244c098d57a3ec8b68397 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove strange default values for MSVC pathsJoerg Bornemann2013-07-051-2/+2
| | | | | | Change-Id: Ibf4e56af8898f553eed229452ca13e5c35b9be37 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Fix more outdated usages of JS extensions.Christian Kandeler2013-07-041-0/+1
| | | | | Change-Id: I10690f02f6e54c711c2547a223762b77e286e015 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* MSVC: respect cpp.compilerPath and cpp.compilerNameJoerg Bornemann2013-06-281-0/+1
| | | | | | Change-Id: Ia87a6c502e8ebd1a3493e8c4409b7e9d081d204a Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove outdated todo commentsJoerg Bornemann2013-06-281-3/+0
| | | | | | | | | We claim that the build dir is opaque and thus don't need to make the object file dir overridable. Change-Id: I42d2cf3398f00356b9e4845a9b8a8d4e27c59cd7 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* MSVC: do not collect static lib from object inputsJoerg Bornemann2013-06-261-2/+2
| | | | | | | | There is no point in attaching static libraries to object artifacts. MSVC is the only toolchain where we did this. Change-Id: I81e80b5ba4bfedbbb7cb3a9394c73709d7d091c9 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add support for setting the compiler character set.Jake Petroules2013-06-261-1/+2
| | | | | | Task-number: QBS-332 Change-Id: I7dda39be44c307071225c47de7141aec3e259f01 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix static library dependenciesJoerg Bornemann2013-06-241-1/+1
| | | | | | | Task-number: QBS-294 Change-Id: Ie285cb98db052176a563f52a187279b5dae4c1bf Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Change targetOS and hostOS to lists, and remove targetPlatform.Jake Petroules2013-06-181-1/+1
| | | | | Change-Id: I33317c857a319e0fa25c9e0d0cc69abc4ad3fabb Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make the toolchain property a list.Jake Petroules2013-06-181-1/+1
| | | | | | | | | | | This allows us to differentiate between clang and gcc toolchains, and also allows us to easily apply conditions to multiple related toolchains (gcc, clang, mingw are all considered part of the gcc toolchain family). The probes now also correctly set the toolchain. Change-Id: Ic5d01fe7fe25dd5e5937cbff7d9253f180571533 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* MSVC add missing js importJoerg Bornemann2013-06-041-0/+1
| | | | | Change-Id: Icf05d4b7d090de80cf7eb20e042b05170fe63f5e Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Introduce a series of functions for working with Darwin bundles.Jake Petroules2013-06-041-10/+5
| | | | | | | | | | | | | These functions abstract away the physical structure of the bundles, allowing the user to query for the paths to particular files and subdirectories within the bundle in a manner that is independent of the bundle type and platform. The fileName properties of relevant Artifacts have been updated to take advantage of the new BundleTools functions. Change-Id: I051d623ac7eae9cacf90495c662ad4ad1cf6128f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove property cpp.responseFileThresholdJoerg Bornemann2013-05-221-2/+0
| | | | | | | | | | This is host-system dependent and does not belong here. We're relying on a sane default value. It can still be overridden if needed. Change-Id: If8137dd1f781a56053d2b9992ba80d561bd1e1ef Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* unify cpp.toolchainInstallPathJoerg Bornemann2013-05-161-12/+15
| | | | | | | | | | | | Make sure that toolchainInstallPath is the path where the C++ compiler resides. This was already true for all toolchains but MSVC. This is more consistent than having varying meanings of this property and makes the code in Qt Creator's qbs plugin much easier. Change-Id: I74a6780b1bf03c6b456ec6e3a7305bd1d3ed5dd1 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* fix MSVC lib.exe callJoerg Bornemann2013-05-151-8/+1
| | | | | | | | Rely on the PATH variable in the build environment to call lib.exe like we do for all other tools. Change-Id: I3a89531882660b7d02169ff4c9a1f6cd26e5da48 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Add support for setting the minimum operating system target version.Jake Petroules2013-03-201-0/+1
| | | | | | | Task-number: QBS-226 Change-Id: I85c6e24ecfe6b90d33df17589f151e4082b53d58 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* introduce properties for platform-specific compiler flagsJoerg Bornemann2013-03-181-6/+12
| | | | | | | | The platform*Flags properties are intended to be set by the toolchain setup and are prepended to the corresponding user properties. Change-Id: I417c8210bfe2a091f3df5077002300d9c9e9ac7f Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* Add the input file's extension when generating .o filenames.Jake Petroules2013-03-121-2/+2
| | | | | | | | | | | | | | | Old behavior (conflict): main.cpp -> main.o main.mm -> main.o New behavior (no conflict; same behavior as CMake): main.cpp -> main.cpp.o main.mm -> main.mm.o Task-number: QBS-211 Change-Id: I27c71ffe368a2191c56fc0fc34089a6ad7ec8f61 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* use the simplified base import statementJoerg Bornemann2013-03-081-1/+1
| | | | | Change-Id: I3c9e5d5512cad7028026d6166a0783fd507e7826 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* remove superfluous version numbers from import statementsJoerg Bornemann2013-03-081-1/+1
| | | | | Change-Id: I977081507fcdd60a94a8cfc8fde884984fb6cf13 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Rename ModUtils::findFirst() and ModUtils::appendAll().Christian Kandeler2013-02-281-36/+36
| | | | | | | | | The new names are "moduleProperty" and "moduleProperties", respectively. These express much better what the functions do and also match their C++ counterparts. Change-Id: I7f97f4b861f3ae58813377da593bc3b82be78bd3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Move property look-up into the C++ backend.Christian Kandeler2013-02-201-8/+15
| | | | | | | | | | | Instead of exporting the complete property VariantMap of products and artifacts to JavaScript and finding the property values there, we introduce functions that do this in C++ and just export their functionality. This functionality will also be made available in the API. Change-Id: I6b8631e78b74db563403caa47ae10021ca152fa0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Correct behaviour with sources with more than one dot in the name.William Gallafent2012-12-031-4/+4
| | | | | | | | | | Changes baseName calls to completeBaseName in order to correct a problem which occurs when more than one dot is present in a name. For example, both 0.foo.cpp and 0.bar.cpp would get an object named 0.o. After this change we get the correct 0.foo.o and 0.bar.o. Change-Id: I460f254a66c8bc47700e1c972c5da41af69c4a1f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* set alwaysUpdated to false for Windows DLL import libsJoerg Bornemann2012-11-131-1/+1
| | | | | | | | Only if the linker detects a change in the exported symbols, the .lib will be updated. Change-Id: Ie8f3167c84103d608e2b5fd66842af72165c0722 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* fix syntax errors in windows-msvc.qbsJoerg Bornemann2012-11-071-2/+2
| | | | | Change-Id: I527638b6e156a60f664803b0aa6fa4f692effb8f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>