aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/ios-gcc.qbs
Commit message (Collapse)AuthorAgeFilesLines
* Prefer built-in JS function in modulesChristian Kandeler2023-02-201-6/+6
| | | | | | | contains -> includes Change-Id: Id893c2ea0659d9bded4f5cec1a3160ccd802118b Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Use Host and FileInfo serviceRaphael Cotty2022-01-311-1/+2
| | | | | | | | Replace all the possible use of the qbs module that can be replaced by the Host and FileInfo services. Change-Id: I0d6f820bb2577eacd9081ec2df1eb53adf94d50e Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
* Xcode: fix compilation for ios-simulator with Xcode 12v1.17.11.17Ivan Komissarov2020-10-261-0/+8
| | | | | | | | The triplet -target x86_64-apple-ios-macho is no longer valid, it should be -target x86_64-apple-ios8.0-macho Change-Id: Ib7ce96100e1751625784db7385b44c53a2747e07 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Assume that libc++ is present on iOS if cpp.minimumIosVersion is not setIvan Komissarov2019-06-261-2/+2
| | | | | | | | Otherwise, tests fail to locate old c++ library on recent Macs. Change-Id: I6ff5ceb0753dea73a5da1c70cfeb97b848cb7948 Reviewed-by: Qbs CI Bot <travis-bot@weickelt.de> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Remove the base module import from shared imports and modulesJoerg Bornemann2018-06-221-1/+0
| | | | | Change-Id: I5270e033dc41b5bd76a417099514c69cc073008b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use Module.priority to choose the right cpp module instanceJoerg Bornemann2017-09-271-0/+1
| | | | | | | | | Replace the negating conditions in our cpp instances with module priorities. This removes the need of knowing about all other more specialized instances in more general instances. Change-Id: I511ba11f2cb69ea1458b786a2db4309de8910ebf Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix tests with older versions of Apple ClangJake Petroules2017-06-211-0/+5
| | | | | | | Amends and fixes a regression introduced in 4551d11. Change-Id: I8014c8bfb82c389d4ae741f868be45e420e327ca Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Don't set minimum deployment targets for iOS and macOS when using libc++Jake Petroules2017-06-141-1/+0
| | | | | | | | This causes linker errors with the latest versions of Xcode because the versions set are too old. Change-Id: If125667ae3b0c410d59f51b1fb86f77ef50e6e79 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix default value of cpp.minimum{Macos,Ios}VersionChristian Kandeler2017-05-091-0/+1
| | | | | | | | Usage of libc++ implies a deployment target >= 10.7 and 5.0, respectively. Change-Id: I8c839ad055b2f07cae1523acbca390c824b2a90e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Remove some usage of product.modulePropertyJoerg Bornemann2017-03-161-1/+1
| | | | | | | | | | | Keep moduleProperty calls for cpp.{flags|platformFlags|usePrecompiledHeader}, because ModUtils.moduleProperty maps those to their language-specific properties (e.g. cxxflags). Change-Id: Id2280a42b26318b3a320d9df22801626336c72e6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Attach the bundle.content file tag to files that are part of a bundleJake Petroules2017-02-081-1/+1
| | | | | | | | | | | | | This simplifies installation for end users, as they only ever have to use this one tag to install an entire bundle, rather than having to remember every possible file tag attached to the output artifacts of rules which install their output to a bundle. Refactor associated rules to handle this new internal workflow. This paves the way for other new functionality like bundle embedding. Change-Id: I76369383ae08d1ff5433b73d517a657dbd329b78 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Remove ResourceRules handlingJake Petroules2016-10-071-24/+0
| | | | | | | | | These have been obsoleted by Apple, and breaks iOS builds in Xcode 8. https://developer.apple.com/library/mac/technotes/tn2206/_index.html Change-Id: I46a86ae80641d760c8f061b7f76769f8ff99d3db Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Enable cross-compilation to Darwin targets from non-Darwin hostsAndrew Knight2016-06-171-2/+1
| | | | | | | | | | | Now that plist support is cross-platform, some assumptions about the hostOS being Darwin can be removed to allow for cross-compiling to Darwin targets. Assumes the user has mounted the partition containing their Xcode SDKs. Change-Id: I0b22964bebf9c2b968890ece249695aa7c676e09 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Replace 'the Qt build suite' with 'Qbs' in copyright notices.Jake Petroules2016-06-061-1/+1
| | | | | | Change-Id: I885d94bb14b325dc36767a840ebdb0be1fb59dd2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove code signing from IPA rule.Jake Petroules2015-10-291-20/+3
| | | | | | | | This is for re-signing an already signed IPA, which should not realistically be necessary in the context of Qbs. Change-Id: Ia67183457714102498d43fb7a86c04d0f9dd237a Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Move platform targeting flags into compilerFlags.Jake Petroules2015-08-201-0/+8
| | | | | | | ld does not support -target, -m32, -m64, or -m*-version-min. Change-Id: I92fae82bcebc236a50f2ae01c71f93b744da2356 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Follow the "undefined means default" methodology for Apple OS targets.Jake Petroules2015-08-171-3/+0
| | | | | | | | | This avoids the need for several special cases. The resulting behavior is the same since the tools happen to default to the SDK version if no deployment target is specified. Change-Id: I7396b39c5bdbe65be5c82f9061d58a43e9444765 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Add generic handling of LLVM triples.Jake Petroules2015-08-031-0/+2
| | | | | | | | This improves support for cross compiling when using Clang compilers, and is required for Android NDK support. Change-Id: I5b2eb45aa23e3455ba266a7e9b0112efd91cdbe0 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Add code signing support for OS X and iOS.Jake Petroules2015-07-291-17/+17
| | | | | Change-Id: Ia85f68692974288780484fa47a896d66f16bc11b Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Introduce Xcode module.Jake Petroules2015-07-291-1/+1
| | | | | Change-Id: I3d338b1f3a41bb4c19e0c3c213139e09493ae10b Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Don't except on evaluating condition for cpp modules.Jake Petroules2015-07-161-1/+3
| | | | | | | | | | qbs.toolchain is not a required property, and this fixes the very unintuitive 'TypeError: Result of expression 'qbs.toolchain' [undefined] is not an object.' when using, say, an Android profile with wrong dependencies. Change-Id: Ife819c9d292f34799c03c29454a76a153934d797 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* add missing license headersJoerg Bornemann2015-04-151-0/+30
| | | | | | Change-Id: I49d8886b0f9811fb9a8b6e33cb7974534b4a1b35 Task-number: QBS-750 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Refactor bundle (CFBundle) support across all of Qbs.Jake Petroules2015-01-131-3/+2
| | | | | | | | | | | | | | | This is the foundation for better bundle support, including static frameworks, loadable modules ("bundles" i.e. plugins), and custom bundle types. This also simplifies the difference between bundle and non-bundle product types from a Qbs user's perspective, and allows more fine-grained control over the construction of and use of bundles. This patch also implicitly adds support for static frameworks. Task-number: QBS-643 Task-number: QBS-642 Change-Id: I65d8d7040603a6ea0ff2c11360234eba6802ad35 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Set necessary default compiler flags for iOS Simulator builds.Jake Petroules2014-08-211-0/+12
| | | | | | | | | This is consistent with Xcode and also required for building 32-bit iOS Simulator binaries that use ARC, since the compiler's default Objective-C ABI version is 0 ("legacy" runtime) for 32-bit targets. Change-Id: Ia7575fd9d4788170a6805a8ff8fe5f6426003da9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Set better defaults for cpp.minimumOsxVersion and cpp.minimumIosVersion.Jake Petroules2014-08-211-0/+3
| | | | | | | | | | Now, each platform doesn't get both properties set, and the default is usually the version of the SDK in use. This is both consistent with Xcode's behavior and necessary to convince the tools that the target is iOS Simulator and not OS X, as appropriate. Change-Id: I63037138d38675c5f0cc53e721e42a4d7cc2c3b7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Remove strange default flags from iOS cpp module.Jake Petroules2014-08-211-11/+0
| | | | | | | | | | | | | - visibility should not be hidden by default; this breaks shared libs. - optimization, -dead_strip should not be platform specific. - -g, -fPIE, -headerpad_max_install_names are already handled elsewhere. - -fstrict-aliasing, -gdwarf-2 are already compiler defaults (redundant). - -fexceptions has a task for a dedicated property (bad place anyways). - -fpascal-strings, -fasm-blocks, user can set these if they want 'em. Change-Id: I856d43f3d3539d0a0569c347615ef59dfc2f20f1 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* deprecate Artifact.fileName in favor of Artifact.filePathJoerg Bornemann2014-07-161-2/+2
| | | | | | | | 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>
* Move several JS files in the cpp module to imports.Jake Petroules2014-04-141-2/+2
| | | | | | | | | | | | | | | | | | 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>
* import qbs.FileInfo in darwin-tools.jsJoerg Bornemann2014-02-281-1/+0
| | | | | | | Also remove now superfluous imports. Change-Id: I548b6b0c2f3ff06472cfb40c579af7d9c65ed21f Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* use filePath instead of fileName where applicableJoerg Bornemann2014-02-251-2/+2
| | | | | | | | This fixes the recently introduced deprecation warnings. Task-number: QBS-258 Change-Id: I10660270895ec89a1444d596922c22e9658ca3ab 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>
* Introduce xcodeSdkName and xcodeSdkVersion properties.Jake Petroules2014-01-171-2/+2
| | | | | Change-Id: I6572b085c24cf8ba6d1a41dab267182cabe6aab8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Clean up prepare script of IPA Rule.Jake Petroules2014-01-161-6/+10
| | | | | Change-Id: Icafcf2edbb92217643a81fd747e803139f950424 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Rename provisionFile property to provisioningProfile.Jake Petroules2014-01-161-4/+5
| | | | | | | This is what these are actually called. Change-Id: Ifae520b02fa39368875111a42f393d79ac7fbf6f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix ResourceRules Rule condition for iOS.Jake Petroules2014-01-161-1/+1
| | | | | Change-Id: I15d27730b8ca7bc5bd0afdc01b126339209f4438 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* iOS: exclude non-applicable functionality from Simulator builds.Jake Petroules2013-12-091-0/+1
| | | | | Change-Id: I4c66d3f8bc6f70f2cd517800323d23bf215af4ce Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* Move a number of cpp module properties to the base module.Jake Petroules2013-10-221-3/+0
| | | | | | | Task-number: QBS-409 Change-Id: I7cd6942626e2543e8e4f75ee10f499d8f1f25e81 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Move Interface Builder document handling to its own module.Jake Petroules2013-09-091-1/+1
| | | | | | | | | | | | | | New/changed functionality: - Properly sets minimum OS deployment target. - Works if sysroot is not set. - Provide some options for the user to set. - Custom flags to ibtool compiler. - Support both xib and nib extensions. Task-number: QBS-328 Change-Id: I8702e83ddc31b00eef8ff72fb1b3fb8341babcc9 Reviewed-by: Joerg Bornemann <joerg.bornemann@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>
* Make built-in JavaScript extensions available on demand.Christian Kandeler2013-07-031-0/+1
| | | | | | | | | | | | This entails the following: - Project files can get access to built-in extensions in all contexts via import statements such as "import qbs.TextFile". - In turn, the automatic injection of these extensions in rules and probes no longer happens, i.e. one always has to explicitly import the required extension. Change-Id: Ib1e42c078354c564e417f80dd47897c7f41e7569 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Change targetOS and hostOS to lists, and remove targetPlatform.Jake Petroules2013-06-181-5/+7
| | | | | 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>
* ios: use same compiler flags as xcodeFawzi Mohamed2013-06-131-0/+8
| | | | | Change-Id: I66c09b7420ce7bd2f9e08c764dd62ea19cd26a35 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Make use of Rule.condition in ipa rule.Jake Petroules2013-06-101-8/+1
| | | | | | | | Instead of creating a fake command we turn the rule off if buildIpa is false. Change-Id: I6ecda5e65770813a196222f9fc36b3df30d6ecd4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Improve Info.plist handling.Jake Petroules2013-06-071-40/+0
| | | | | | | | | | | | | | | | | It's now possible to read from existing Info.plist files. The data in an external plist file will be aggregated with and overridden by the object dictionary specified in the QBS file. Postprocessing can also be disabled if desired. Defaults handling has also been DRY'ed up significantly and made more consistent across different bundle types and platforms. Task-number: QBS-301 Change-Id: Id3ff3bbca1e02c467143513216ef66d38ec9aa6b Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix/add missing import statementsJoerg Bornemann2013-06-041-0/+1
| | | | | Change-Id: Ie3cdd6fc9d08f1f7c1b2351335ac103e91093e5a Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* Add XIB compiler.Jake Petroules2013-06-041-1/+1
| | | | | | | | | | | | | | XIB files are now compiled into NIBs and placed in the bundle. A manual test has been added for testing this functionality. Note that the project was generated using one of the Xcode templates; this test will therefore be useful for ensuring that QBS can generate an identical application bundle to Xcode in general. Task-number: QBS-202 Change-Id: Ie098327a65c5340dd554cb7d6f49415efd1def27 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Introduce a series of functions for working with Darwin bundles.Jake Petroules2013-06-041-4/+7
| | | | | | | | | | | | | 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>
* Be less ambiguous about the naming and referencing of OS X.Jake Petroules2013-06-031-2/+2
| | | | | Change-Id: I7a389cb744c451cee435196fd65a8987199d3ed5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Centralize Info.plist/bundle handling code.Jake Petroules2013-05-311-84/+0
| | | | | | | | | | | | | | | The differences in plist/bundle handling between OS X and iOS are extremely minimal, so there is no reason to duplicate such a large block of code between their respective module files. As a side effect, this implements support for dictionaries and arrays in OS X plists as well as the defaults handling that already existed for iOS. As an additional side effect, QBS-272 is no longer an issue. Change-Id: I39be5681f4d4fba7369d55da720ff8130ff52cba Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>