42 Commits

Author SHA1 Message Date
Mark Villacampa
73621fc941 Expand path 2015-03-19 13:55:54 +09:00
Mark Villacampa
509cb5106f We generate the BS file in the common build dir now. Also no need to pattern-search since we know the path of the file. 2015-03-19 13:55:46 +09:00
Mark Villacampa
a07b27204f Generate bridgesupport files for vendor projects in the common build dir 2015-03-19 13:55:38 +09:00
Watson
449da29c70 [RM-675] make sure that add "require ‘pathname'" in where uses Pathname in order to fix that it can't build extension with system bundled ruby 2014-12-12 07:51:36 +09:00
Eloy Durán
4afb269ef5 [vendor] Only ever try to run xcodebuild clean if the dir really exists. 2014-11-05 22:37:35 +09:00
Eloy Durán
4b62457ce4 [Vendor] Allow the user to override default cflags. 2014-11-05 22:18:02 +09:00
Eloy Durán
8198d55c89 [Vendor] Don't allow xcodebuild to litter our output with noise at all.
Xcoode 6 loves to complain about things that are not fatal to the build,
so we should hide those from the user, unless in verbose mode.
2014-10-13 23:36:44 +09:00
Eloy Durán
b9433fc188 [Vendor] Fail as early as possible.
Otherwise we'd still generate BS metadata for no good reason.

In addition this could make subsequent builds fail because the
build dir would exist and seem up-to-date.
2014-10-13 23:36:39 +09:00
Eloy Durán
e119c495ed [Vendor] Use xcodebuild to properly clean.
This is needed to solve any cache issues, such as
the dreaded SharedPrecompiledHeaders issue.

See:

* https://github.com/clayallsopp/afmotion/issues/72
* http://openradar.appspot.com/18536864
2014-10-13 23:36:34 +09:00
Eloy Durán
a382234b30 [vendor] Refactor slightly, no need to delete option values. 2014-10-13 23:36:26 +09:00
Watson
d12219b395 [OSX] fix a bug where vendor build directory is not removed with `rake clean' on OSX project
http://hipbyte.myjetbrains.com/youtrack/issue/RM-571
2014-09-23 16:35:15 +09:00
Mark Villacampa
4023bc4a78 Print relative paths when cleaning targets and vendor_projects inside targets 2014-09-01 23:58:42 +09:00
Eloy Durán
9acfb32bad [vendor] Traverse symlink dirs when finding headers. 2014-08-29 14:45:40 +09:00
Watson
c2da3957d7 add validation into app.vendor_project('xxx', :xcode, ...) because xcodebuild command fails if xcode project directory is not writable 2014-08-20 16:25:04 +09:00
Watson
745a3f942a fix a bug where vendor library contained in gem causes a build error with system bundled ruby
http://hipbyte.myjetbrains.com/youtrack/issue/RM-553
2014-08-20 16:24:48 +09:00
Laurent Sansonetti
a7c839173c add magic encoding comments to all ruby source files 2014-03-05 21:35:20 +09:00
Eloy Durán
2725ead68c [Vendor] When an explicit BS file exists in lib root, use that.
This allows a lib author to override the BS metadata by (manually)
creating and supplying one, which seems to be the case with Joybox.
2014-03-05 11:52:12 +09:00
Eloy Durán
437634448b [Vendor] Cannot reuse opts[:cflags] if it has been deleted before. 2014-03-05 11:51:42 +09:00
Eloy Durán
a4fe35523c [Vendor] BS files for :xcode projects are collected differently than :static. 2014-02-04 07:50:56 +09:00
Eloy Durán
95b61b826c [Vendor] Always explicitely create the dir where the BS will be stored.
Fixes http://hipbyte.myjetbrains.com/youtrack/issue/RM-417.
2014-02-04 07:50:47 +09:00
Eloy Durán
1ce7f3eb81 [Vendor] BS files should also go in the platform specific build dir.
* Because they can be different per platform.
* Because this way they are deleted as part of `rake clean.

Fixes http://hipbyte.myjetbrains.com/youtrack/issue/RM-416
2014-02-03 22:22:59 +09:00
Eloy Durán
80da9e62c1 [Vendor] Use MACOSX_DEPLOYMENT_TARGET when building for OS X.
Fixes http://hipbyte.myjetbrains.com/youtrack/issue/RM-412
2014-02-03 22:22:00 +09:00
Eloy Durán
ba64b5644b [vendor] Default to :cflags option for BS generation.
Fixes http://hipbyte.myjetbrains.com/youtrack/issue/RM-388.
2014-01-28 21:23:30 +09:00
Eloy Durán
53cf90f2bb [vendor] Accept glob patterns for the `source_files' option.
Fixes http://hipbyte.myjetbrains.com/youtrack/issue/RM-317.
2014-01-28 21:22:45 +09:00
Eloy Durán
11bcc3d370 [vendor] Use custom XCPretty printer when building an Xcode project. 2013-12-30 23:05:12 +09:00
Eloy Durán
440cfc9d25 [rake] Raise error if cleaning does not succeed.
Fixes https://hipbyte.freshdesk.com/helpdesk/tickets/1359.
2013-11-20 23:42:36 +09:00
Eloy Durán
9534a30414 [Vendor] Always clean all build dirs, including actual object files.
No need to do it differently for different types of vendoring.
2013-10-11 00:05:07 +09:00
Laurent Sansonetti
30a24be8d1 run ranlib separately to avoid a warning when creating a universal static archive 2013-09-26 07:34:11 +09:00
Laurent Sansonetti
14f0cb174d dup the option hash as we are deleting stuff from it and might have to reuse it in case we build for a different mode (dev+release) 2013-09-12 22:01:49 +09:00
Watson
2afbcd0cb1 fix where it does not generate 64bit type into brigesupport in 3rd-party library on MacOSX platform
http://hipbyte.myjetbrains.com/youtrack/issue/RM-192
2013-07-10 21:21:08 +09:00
Watson
bc7d3e7ba6 fix a bug where it could not build the 3rd-party library if file path of app contains the spaces
http://hipbyte.myjetbrains.com/youtrack/issue/RM-191
2013-07-03 13:32:23 +09:00
Laurent Sansonetti
2d81dec34f app.vendor_project(:xcode) now rebuilds the project in case a file changed 2013-06-09 21:07:59 +09:00
Jack Chen (chendo)
4f5fd08280 Use absolute path for CONFIGURATION_BUILD_DIR because when using relative xcodeproj path 2013-05-24 00:39:08 +10:00
Laurent Sansonetti
83eb68f66b app.vendor_project how honors :bridgesupport_{cflags,exceptions} options 2013-05-10 00:43:26 +09:00
Watson
9b9daa2c85 remove spaces 2013-05-10 00:43:09 +09:00
Watson
8e6d48c697 osx: import Cocoa/Cocoa.h in vendor.pch for mac 2013-05-10 00:42:10 +09:00
Watson
630d88043f add :force_load option into configuration of `app.vendor_project'
There are 3rd-party library which would trigger "duplicate symbol" error at compile time.
It will be useful in such libraries when specify false in :force_load option.

When specify true in this option (by default), it behaves in the same manner as before.

Usage:
    app.vendor_project('vendor/OAuth2Client',
      :static,
      :force_load => false,
      :headers_dir => 'Sources/OAuth2Client'
      ....
2013-03-15 11:26:53 +09:00
Laurent Sansonetti
33e070a2bb fix a bug in c66f4fa 2012-10-09 14:19:37 +02:00
Laurent Sansonetti
c66f4faeff use a different build directory when building vendored Xcode projects 2012-10-09 00:59:27 +02:00
Laurent Sansonetti
fca66307a7 pass app.deployment_target to xcodebuild 2012-09-26 16:16:20 +02:00
Laurent Sansonetti
3d4c6df749 fixed vendor_project to create static libraries with an object-file index (required by the Mountain Lion linker) 2012-09-01 20:13:25 +02:00
Laurent Sansonetti
c14c432602 initial revision 2012-06-01 19:26:29 +02:00