magica 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 62577788a3e691eb9721f30c543c72bc877a6440
4
- data.tar.gz: 474ddaa3cf884e948884cd488ea5a7746bf4bfe6
3
+ metadata.gz: eb7b82405cd742dc627d9f13a6d6d06320ef3444
4
+ data.tar.gz: be7f31fc4323449921753243b9540e773dbfa014
5
5
  SHA512:
6
- metadata.gz: f528514384ed8c0c1a54c7dd453acf3ba8d5e700820ad8278071d26a1055f7a94db01cb3805e65cee4adfcbb54457b17cc83b61a7306f180dcfcf4d578209268
7
- data.tar.gz: c87a4697ed722311df9e4a398e07e4d4cead6bf139aa24beea95007ce7d3ba2c38c29652d1d8625280570596ae687b2a614c97aa1189c34d725d84d21e9e2f11
6
+ metadata.gz: bb478c78a41dc0153535736dc3996c24ac217df35937488a12fae4c142c4198e45bc5ff9a409ce5e5133c6ebd503f5e2e4a56a2fca0abe265244ddeed14753ff
7
+ data.tar.gz: 7a0546aadf8c8852845f61bae792a9ce7ea7da7a78e2772bb8d936284f6645aa4ea84c3f2b395a46e93d3e347bbc496f712afed8ff12c1e7f654d97a9d8a902d
@@ -15,7 +15,7 @@ module Magica
15
15
  COMPILERS = %w(cc cxx)
16
16
  COMMANDS = COMPILERS + %w(linker git)
17
17
 
18
- attr_reader :options
18
+ attr_reader :options, :defines, :include_paths, :flags
19
19
  attr_block COMMANDS
20
20
 
21
21
  Exts = Struct.new(:object, :executable, :library)
@@ -71,7 +71,7 @@ module Magica
71
71
  name.flatten.map { |n| define(n, value) }
72
72
  else
73
73
  _define = name.to_s.upcase
74
- value = '\"%{value}\"' % {value: value} unless value.is_a?(Fixnum)
74
+ value = '\"%{value}\"' % {value: value} unless value.is_a?(Numeric)
75
75
  _define << "=#{value}" unless value.nil?
76
76
  @defines << _define
77
77
  end
@@ -205,17 +205,19 @@ module Magica
205
205
  end
206
206
 
207
207
  def compile(source)
208
+ return if Rake::Task.task_defined?(objfile(source))
208
209
  file objfile(source) => source do |t|
209
- Build.current = Magica.builds[@name]
210
- @compiler.run t.name, t.prerequisites.first, @defines, @include_paths, @flags
210
+ @compiler.run t.name, t.prerequisites.first, Build.current.defines, Build.current.include_paths, Build.current.flags
211
211
  end
212
212
  end
213
213
 
214
214
  def link(exec, objects)
215
215
  desc "Build #{@name}'s executable file"
216
- task "#{@name}" => @dependencies + objects do
216
+ task "#{@name}" do
217
217
  Build.current = Magica.builds[@name]
218
- @linker.run "#{exec}", objects + @static_libraries, @libraries, @library_paths, @flags
218
+ task "#{@name}:build" => @dependencies + objects do
219
+ @linker.run "#{exec}", objects + @static_libraries, @libraries, @library_paths, @flags
220
+ end.invoke
219
221
  end
220
222
  end
221
223
 
@@ -9,3 +9,9 @@ task :_all do |t|
9
9
  end
10
10
  end
11
11
  end
12
+
13
+ task :environment do |t|
14
+ p "ENV ===>"
15
+ p Magica::Build.current
16
+ t.reenable
17
+ end
@@ -1,3 +1,3 @@
1
1
  module Magica
2
- VERSION = "0.7.1"
2
+ VERSION = "0.7.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magica
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - 蒼時弦也
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-24 00:00:00.000000000 Z
11
+ date: 2017-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  version: '0'
128
128
  requirements: []
129
129
  rubyforge_project:
130
- rubygems_version: 2.5.1
130
+ rubygems_version: 2.6.11
131
131
  signing_key:
132
132
  specification_version: 4
133
133
  summary: A tool to build C++ project