rake-builder 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -1,10 +1,9 @@
1
1
  = rake-builder - Rake for C/C++/Objective-C/Objective-C++ Projects
2
2
 
3
- rake-builder provides a simple interface for building C, C++,
4
- Objective-C and Objective-C++ projects.
5
- It uses rake, which was created as a make replacement,
6
- and specializes it for the specific purpose of compiling
7
- single projects.
3
+ rake-builder builds C, C++, Objective-C and Objective-C++
4
+ projects.
5
+ Project files are dicovered accoring to indicated paths
6
+ and or flie globs.
8
7
 
9
8
  Projects are managed and built via a 'Rakefile'.
10
9
 
@@ -56,7 +55,7 @@ You can list tasks as follows:
56
55
 
57
56
  = Online
58
57
 
59
- * 'Source code'[http://github.com/joeyates/rake-builder]
58
+ * {Source code}[http://github.com/joeyates/rake-builder]
60
59
  * Documentation[http://rdoc.info/projects/joeyates/rake-builder]
61
60
  * Gem[http://rubygems.org/gems/rake-builder]
62
61
 
@@ -100,6 +99,6 @@ So, if there are two source files with the same name, they will overwrite each o
100
99
 
101
100
  = TODO
102
101
 
103
- * Objective-C/Objective-C++ builds
102
+ * Objective-C++ projects
104
103
  * pre-compiled headers
105
104
  * parallel builds
@@ -5,5 +5,6 @@ require 'rake/builder'
5
5
  Rake::Builder.new do |builder|
6
6
  builder.target = 'hello_world_objective_c'
7
7
  builder.programming_language = 'objective-c'
8
- builder.library_dependencies = ''
8
+ builder.library_dependencies = [ 'objc' ]
9
+ builder.linker_options = '-framework CoreFoundation -framework Foundation'
9
10
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  int main(void)
4
4
  {
5
- // NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
6
5
  NSString *hello = @"Hello World!";
6
+ NSLog( @"%@", hello );
7
7
  }
data/examples/README.rdoc CHANGED
@@ -31,3 +31,7 @@ In this case, there are two build projects,
31
31
  one for the main executable and one for tests.
32
32
 
33
33
  The tests are in the 'test' namespace.
34
+
35
+ == 6. Hello World! in Objective-C
36
+
37
+ Minimal project using NSLog.
data/lib/rake/builder.rb CHANGED
@@ -33,7 +33,7 @@ module Rake
33
33
  module VERSION #:nodoc:
34
34
  MAJOR = 0
35
35
  MINOR = 0
36
- TINY = 8
36
+ TINY = 9
37
37
 
38
38
  STRING = [ MAJOR, MINOR, TINY ].join('.')
39
39
  end
@@ -134,6 +134,9 @@ module Rake
134
134
  # Additional library directories for linking
135
135
  attr_accessor :library_paths
136
136
 
137
+ # extra options to pass to the linker
138
+ attr_accessor :linker_options
139
+
137
140
  # Libraries to be linked
138
141
  attr_accessor :library_dependencies
139
142
 
@@ -206,6 +209,7 @@ module Rake
206
209
  @install_path ||= default_install_path( @target_type )
207
210
 
208
211
  @compilation_options ||= ''
212
+ @linker_options ||= ''
209
213
  @include_paths ||= @header_search_paths.dup
210
214
  @include_paths = Rake::Builder.expand_paths_with_root( @include_paths, @rakefile_path )
211
215
  @generated_files = Rake::Builder.expand_paths_with_root( @generated_files, @rakefile_path )
@@ -378,7 +382,7 @@ module Rake
378
382
  end
379
383
 
380
384
  def link_flags
381
- [ library_paths_list, library_dependencies_list ].join( " " )
385
+ [ @linker_options, library_paths_list, library_dependencies_list ].join( " " )
382
386
  end
383
387
 
384
388
  # Paths
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-builder
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 8
10
- version: 0.0.8
9
+ - 9
10
+ version: 0.0.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Joe Yates