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 +4 -4
- data/lib/magica/build.rb +8 -6
- data/lib/magica/tasks/framework.rake +6 -0
- data/lib/magica/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb7b82405cd742dc627d9f13a6d6d06320ef3444
|
4
|
+
data.tar.gz: be7f31fc4323449921753243b9540e773dbfa014
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb478c78a41dc0153535736dc3996c24ac217df35937488a12fae4c142c4198e45bc5ff9a409ce5e5133c6ebd503f5e2e4a56a2fca0abe265244ddeed14753ff
|
7
|
+
data.tar.gz: 7a0546aadf8c8852845f61bae792a9ce7ea7da7a78e2772bb8d936284f6645aa4ea84c3f2b395a46e93d3e347bbc496f712afed8ff12c1e7f654d97a9d8a902d
|
data/lib/magica/build.rb
CHANGED
@@ -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?(
|
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
|
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}"
|
216
|
+
task "#{@name}" do
|
217
217
|
Build.current = Magica.builds[@name]
|
218
|
-
|
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
|
|
data/lib/magica/version.rb
CHANGED
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.
|
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:
|
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.
|
130
|
+
rubygems_version: 2.6.11
|
131
131
|
signing_key:
|
132
132
|
specification_version: 4
|
133
133
|
summary: A tool to build C++ project
|