magica 0.7.1 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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