ritsu 0.7.0 → 0.7.1
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.
- data/README.md +95 -95
- data/bin/define_cpp_string +54 -54
- data/bin/ritsu +31 -31
- data/lib/ritsu.rb +16 -16
- data/lib/ritsu/block.rb +258 -258
- data/lib/ritsu/ext/cuda.rb +5 -5
- data/lib/ritsu/ext/cuda/external_library.rb +15 -15
- data/lib/ritsu/ext/cuda/project.rb +31 -31
- data/lib/ritsu/ext/cuda/src_files/cu_file.rb +46 -46
- data/lib/ritsu/ext/cuda/src_files/target_cmake_lists.rb +110 -110
- data/lib/ritsu/ext/cuda/target.rb +16 -16
- data/lib/ritsu/ext/cuda/targets/library.rb +16 -16
- data/lib/ritsu/ext/fake_install.rb +2 -2
- data/lib/ritsu/ext/fake_install/project.rb +16 -16
- data/lib/ritsu/ext/fake_install/src_files/project_cmake_lists.rb +45 -45
- data/lib/ritsu/ext/glsl.rb +1 -1
- data/lib/ritsu/ext/glsl/src_files/frag_file.rb +70 -70
- data/lib/ritsu/ext/glsl/src_files/vert_file.rb +70 -70
- data/lib/ritsu/ext/qt.rb +4 -4
- data/lib/ritsu/ext/qt/project.rb +47 -47
- data/lib/ritsu/ext/qt/src_files/header_file.rb +60 -60
- data/lib/ritsu/ext/qt/src_files/target_cmake_lists.rb +106 -106
- data/lib/ritsu/ext/qt/src_files/ui_file.rb +46 -46
- data/lib/ritsu/ext/test_case.rb +19 -19
- data/lib/ritsu/external_library.rb +46 -46
- data/lib/ritsu/project.rb +93 -93
- data/lib/ritsu/project_generator.rb +33 -33
- data/lib/ritsu/project_generators/default_generator.rb +72 -72
- data/lib/ritsu/project_generators/default_generator_files/Thorfile.erb +8 -8
- data/lib/ritsu/project_generators/default_generator_files/meta/project.rb.erb +10 -10
- data/lib/ritsu/src_file.rb +79 -79
- data/lib/ritsu/src_files.rb +12 -12
- data/lib/ritsu/src_files/cpp_file.rb +43 -43
- data/lib/ritsu/src_files/executable_cmake_lists.rb +39 -39
- data/lib/ritsu/src_files/header_file.rb +60 -60
- data/lib/ritsu/src_files/project_cmake_lists.rb +133 -133
- data/lib/ritsu/src_files/project_config_header_file.rb +14 -14
- data/lib/ritsu/src_files/project_config_header_template_file.rb +44 -44
- data/lib/ritsu/src_files/shared_library_cmake_lists.rb +39 -39
- data/lib/ritsu/src_files/static_library_cmake_lists.rb +39 -39
- data/lib/ritsu/src_files/target_cmake_lists.rb +189 -189
- data/lib/ritsu/src_files/templated_src_file.rb +47 -47
- data/lib/ritsu/src_files/unit.rb +32 -32
- data/lib/ritsu/target.rb +154 -154
- data/lib/ritsu/targets.rb +3 -3
- data/lib/ritsu/targets/executable.rb +44 -44
- data/lib/ritsu/targets/library.rb +29 -29
- data/lib/ritsu/targets/shared_library.rb +38 -38
- data/lib/ritsu/targets/static_library.rb +32 -32
- data/lib/ritsu/template.rb +68 -68
- data/lib/ritsu/template_policies.rb +132 -132
- data/lib/ritsu/test_helpers.rb +123 -123
- data/lib/ritsu/thors/default_thor.rb +1 -1
- data/lib/ritsu/utility.rb +7 -7
- data/lib/ritsu/utility/accessors.rb +29 -29
- data/lib/ritsu/utility/check_upon_add_set.rb +34 -34
- data/lib/ritsu/utility/file_robot.rb +128 -128
- data/lib/ritsu/utility/files.rb +12 -12
- data/lib/ritsu/utility/instance_dependencies.rb +112 -112
- data/lib/ritsu/utility/instance_set.rb +28 -28
- data/lib/ritsu/utility/platform.rb +20 -20
- data/lib/ritsu/utility/simple_io.rb +64 -64
- data/lib/ritsu/utility/single_instance.rb +33 -33
- data/lib/ritsu/utility/strings.rb +40 -40
- data/test/ritsu/block_test.rb +196 -196
- data/test/ritsu/ext/cuda/src_files/cuda_static_library_cmake_lists_test.rb +63 -63
- data/test/ritsu/external_library_test.rb +41 -41
- data/test/ritsu/project_generators/default_generator_test.rb +34 -34
- data/test/ritsu/project_test.rb +127 -127
- data/test/ritsu/src_file_test.rb +69 -69
- data/test/ritsu/src_files/cpp_file_test.rb +42 -42
- data/test/ritsu/src_files/executable_cmake_lists_test.rb +92 -92
- data/test/ritsu/src_files/header_file_test.rb +57 -57
- data/test/ritsu/src_files/project_cmake_lists_test.rb +159 -159
- data/test/ritsu/src_files/shared_library_cmake_lists_test.rb +54 -54
- data/test/ritsu/src_files/static_library_cmake_lists_test.rb +54 -54
- data/test/ritsu/src_files/target_cmake_lists_test.rb +15 -15
- data/test/ritsu/target_test.rb +105 -105
- data/test/ritsu/targets/executable_test.rb +10 -10
- data/test/ritsu/targets/shared_library_test.rb +10 -10
- data/test/ritsu/targets/static_library_test.rb +10 -10
- data/test/ritsu/utility/accessors_test.rb +14 -14
- data/test/ritsu/utility/check_upon_add_set_test.rb +31 -31
- data/test/ritsu/utility/file_robot_test.rb +175 -175
- data/test/ritsu/utility/strings_test.rb +28 -28
- data/test/test_helpers.rb +3 -3
- metadata +72 -124
- data/Thorfile +0 -104
- data/VERSION +0 -1
data/lib/ritsu/ext/cuda.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/cuda/src_files/cu_file")
|
2
|
-
require File.expand_path(File.dirname(__FILE__) + "/cuda/src_files/target_cmake_lists")
|
3
|
-
require File.expand_path(File.dirname(__FILE__) + "/cuda/project")
|
4
|
-
require File.expand_path(File.dirname(__FILE__) + "/cuda/external_library.rb")
|
5
|
-
require File.expand_path(File.dirname(__FILE__) + "/cuda/targets/library.rb")
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/cuda/src_files/cu_file")
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + "/cuda/src_files/target_cmake_lists")
|
3
|
+
require File.expand_path(File.dirname(__FILE__) + "/cuda/project")
|
4
|
+
require File.expand_path(File.dirname(__FILE__) + "/cuda/external_library.rb")
|
5
|
+
require File.expand_path(File.dirname(__FILE__) + "/cuda/targets/library.rb")
|
6
6
|
require File.expand_path(File.dirname(__FILE__) + "/cuda/target.rb")
|
@@ -1,16 +1,16 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../external_library.rb')
|
2
|
-
|
3
|
-
module Ritsu
|
4
|
-
class ExternalLibrary
|
5
|
-
attr_accessor :cuda_depend_script
|
6
|
-
attr_method :cuda_depend_script
|
7
|
-
|
8
|
-
alias_method :initialize_before_cuda, :initialize
|
9
|
-
|
10
|
-
def initialize(name, options={})
|
11
|
-
options = {:cuda_depend_script => ''}.merge(options)
|
12
|
-
initialize_before_cuda(name, options)
|
13
|
-
@cuda_depend_script = options[:cuda_depend_script]
|
14
|
-
end
|
15
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../external_library.rb')
|
2
|
+
|
3
|
+
module Ritsu
|
4
|
+
class ExternalLibrary
|
5
|
+
attr_accessor :cuda_depend_script
|
6
|
+
attr_method :cuda_depend_script
|
7
|
+
|
8
|
+
alias_method :initialize_before_cuda, :initialize
|
9
|
+
|
10
|
+
def initialize(name, options={})
|
11
|
+
options = {:cuda_depend_script => ''}.merge(options)
|
12
|
+
initialize_before_cuda(name, options)
|
13
|
+
@cuda_depend_script = options[:cuda_depend_script]
|
14
|
+
end
|
15
|
+
end
|
16
16
|
end
|
@@ -1,32 +1,32 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/../../project")
|
2
|
-
|
3
|
-
module Ritsu
|
4
|
-
class Project
|
5
|
-
def setup_cuda
|
6
|
-
add_external_library("cuda") do |e|
|
7
|
-
e.cmake_find_script "FIND_PACKAGE(CUDA REQUIRED)"
|
8
|
-
e.cmake_depend_script "INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})"
|
9
|
-
e.cuda_depend_script "CUDA_INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})"
|
10
|
-
e.cmake_name "${CUDA_LIBRARIES}"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def add_cuda_executable(name)
|
15
|
-
executable = Ritsu::Targets::Executable.new(name, :project=>self, :cuda_target=>true)
|
16
|
-
executable.add_external_library "cuda"
|
17
|
-
yield executable if block_given?
|
18
|
-
end
|
19
|
-
|
20
|
-
def add_cuda_shared_library(name)
|
21
|
-
shared_library = Ritsu::Targets::SharedLibrary.new(name, :project=>self, :cuda_target=>true)
|
22
|
-
shared_library.add_external_library "cuda"
|
23
|
-
yield shared_library if block_given?
|
24
|
-
end
|
25
|
-
|
26
|
-
def add_cuda_static_library(name)
|
27
|
-
static_library = Ritsu::Targets::StaticLibrary.new(name, :project=>self, :cuda_target=>true)
|
28
|
-
static_library.add_external_library "cuda"
|
29
|
-
yield static_library if block_given?
|
30
|
-
end
|
31
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../project")
|
2
|
+
|
3
|
+
module Ritsu
|
4
|
+
class Project
|
5
|
+
def setup_cuda
|
6
|
+
add_external_library("cuda") do |e|
|
7
|
+
e.cmake_find_script "FIND_PACKAGE(CUDA REQUIRED)"
|
8
|
+
e.cmake_depend_script "INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})"
|
9
|
+
e.cuda_depend_script "CUDA_INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})"
|
10
|
+
e.cmake_name "${CUDA_LIBRARIES}"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def add_cuda_executable(name)
|
15
|
+
executable = Ritsu::Targets::Executable.new(name, :project=>self, :cuda_target=>true)
|
16
|
+
executable.add_external_library "cuda"
|
17
|
+
yield executable if block_given?
|
18
|
+
end
|
19
|
+
|
20
|
+
def add_cuda_shared_library(name)
|
21
|
+
shared_library = Ritsu::Targets::SharedLibrary.new(name, :project=>self, :cuda_target=>true)
|
22
|
+
shared_library.add_external_library "cuda"
|
23
|
+
yield shared_library if block_given?
|
24
|
+
end
|
25
|
+
|
26
|
+
def add_cuda_static_library(name)
|
27
|
+
static_library = Ritsu::Targets::StaticLibrary.new(name, :project=>self, :cuda_target=>true)
|
28
|
+
static_library.add_external_library "cuda"
|
29
|
+
yield static_library if block_given?
|
30
|
+
end
|
31
|
+
end
|
32
32
|
end
|
@@ -1,47 +1,47 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/../../../project")
|
2
|
-
require File.expand_path(File.dirname(__FILE__) + "/../../../src_file")
|
3
|
-
|
4
|
-
module Ritsu
|
5
|
-
module SrcFiles
|
6
|
-
class CuFile < Ritsu::SrcFile
|
7
|
-
def initialize(src_path, owner)
|
8
|
-
super(src_path, owner)
|
9
|
-
end
|
10
|
-
|
11
|
-
def header_file?
|
12
|
-
false
|
13
|
-
end
|
14
|
-
|
15
|
-
def cpp_file?
|
16
|
-
false
|
17
|
-
end
|
18
|
-
|
19
|
-
def cu_file?
|
20
|
-
true
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
module AddCuFile
|
25
|
-
def add_cu_file(path, options={})
|
26
|
-
src_path = compute_src_path(path, options)
|
27
|
-
CuFile.new(src_path, self)
|
28
|
-
end
|
29
|
-
|
30
|
-
def add_cu_files(*paths)
|
31
|
-
paths.each do |path|
|
32
|
-
add_cu_file(path)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
module Ritsu
|
40
|
-
class Target
|
41
|
-
include Ritsu::SrcFiles::AddCuFile
|
42
|
-
end
|
43
|
-
|
44
|
-
class Project
|
45
|
-
include Ritsu::SrcFiles::AddCuFile
|
46
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../../project")
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../../src_file")
|
3
|
+
|
4
|
+
module Ritsu
|
5
|
+
module SrcFiles
|
6
|
+
class CuFile < Ritsu::SrcFile
|
7
|
+
def initialize(src_path, owner)
|
8
|
+
super(src_path, owner)
|
9
|
+
end
|
10
|
+
|
11
|
+
def header_file?
|
12
|
+
false
|
13
|
+
end
|
14
|
+
|
15
|
+
def cpp_file?
|
16
|
+
false
|
17
|
+
end
|
18
|
+
|
19
|
+
def cu_file?
|
20
|
+
true
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
module AddCuFile
|
25
|
+
def add_cu_file(path, options={})
|
26
|
+
src_path = compute_src_path(path, options)
|
27
|
+
CuFile.new(src_path, self)
|
28
|
+
end
|
29
|
+
|
30
|
+
def add_cu_files(*paths)
|
31
|
+
paths.each do |path|
|
32
|
+
add_cu_file(path)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
module Ritsu
|
40
|
+
class Target
|
41
|
+
include Ritsu::SrcFiles::AddCuFile
|
42
|
+
end
|
43
|
+
|
44
|
+
class Project
|
45
|
+
include Ritsu::SrcFiles::AddCuFile
|
46
|
+
end
|
47
47
|
end
|
@@ -1,111 +1,111 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'active_support/core_ext/string/starts_ends_with'
|
3
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../../src_files/target_cmake_lists')
|
4
|
-
|
5
|
-
module Ritsu
|
6
|
-
module SrcFiles
|
7
|
-
class TargetCmakeLists
|
8
|
-
class CudaIncludeDirectoriesTemplate < Ritsu::Template
|
9
|
-
attr_reader :target
|
10
|
-
|
11
|
-
def initialize(target)
|
12
|
-
super("TargetCmakeLists -- #{target.name} -- CudaIncludeDirectories")
|
13
|
-
@target = target
|
14
|
-
end
|
15
|
-
|
16
|
-
def update_block(block, options = {})
|
17
|
-
external_libraries = target.dependency_libraries.to_a
|
18
|
-
external_libraries.sort! {|x,y| x.name <=> y.name}
|
19
|
-
|
20
|
-
dependency_targets = target.dependency_targets.to_a
|
21
|
-
dependency_targets.sort! {|x,y| x.name <=> y.name}
|
22
|
-
|
23
|
-
block.contents.clear
|
24
|
-
external_libraries.each do |external_library|
|
25
|
-
if external_library.cuda_depend_script.strip.length > 0
|
26
|
-
block.contents << external_library.cuda_depend_script
|
27
|
-
end
|
28
|
-
end
|
29
|
-
dependency_targets.each do |dependency_target|
|
30
|
-
if dependency_target.cuda_depend_script.strip.length > 0
|
31
|
-
block.contents << dependency_target.cuda_depend_script
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
if target.library?
|
36
|
-
if target.cuda_depend_script.strip.length > 0
|
37
|
-
block.contents << target.cuda_depend_script
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
class CudaCompileTemplate < Ritsu::Template
|
44
|
-
attr_reader :target
|
45
|
-
|
46
|
-
def initialize(target)
|
47
|
-
super("TargetCmakeLists -- #{target.name} -- CudaCompile")
|
48
|
-
@target = target
|
49
|
-
end
|
50
|
-
|
51
|
-
def cuda_generate_files_var_name
|
52
|
-
"#{target.name.upcase}_CUDA_GENERATED_FILES"
|
53
|
-
end
|
54
|
-
|
55
|
-
def update_block(block, options = {})
|
56
|
-
block.clear_contents
|
57
|
-
|
58
|
-
cu_files = target.src_files.select { |x| x.respond_to?(:cu_file?) && x.cu_file? }
|
59
|
-
if cu_files.length == 0
|
60
|
-
return
|
61
|
-
end
|
62
|
-
cu_files.sort! {|x,y| x.src_path <=> y.src_path}
|
63
|
-
|
64
|
-
block.add_line "CUDA_COMPILE(#{cuda_generate_files_var_name}"
|
65
|
-
block.indent
|
66
|
-
cu_files.each do |cu_file|
|
67
|
-
block.add_line("${CMAKE_SOURCE_DIR}/#{cu_file.src_path}")
|
68
|
-
end
|
69
|
-
block.outdent
|
70
|
-
block.add_line ")"
|
71
|
-
block.add_new_line
|
72
|
-
block.add_line "SET(#{target.name.upcase}_SRC_FILES ${#{target.name.upcase}_SRC_FILES} ${#{cuda_generate_files_var_name}})"
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
class Template
|
77
|
-
attr_reader :cuda_compile_template
|
78
|
-
attr_reader :cuda_include_directories_template
|
79
|
-
|
80
|
-
alias_method :initialize_before_cuda, :initialize
|
81
|
-
|
82
|
-
def initialize(target, id = nil)
|
83
|
-
initialize_before_cuda(target, id)
|
84
|
-
|
85
|
-
@cuda_include_directories_template = CudaIncludeDirectoriesTemplate.new(target)
|
86
|
-
@cuda_compile_template = CudaCompileTemplate.new(target)
|
87
|
-
|
88
|
-
if target.cuda_target?
|
89
|
-
position = child_template_with_id_position(libraries_template.id) + 1
|
90
|
-
contents.insert(position, @cuda_include_directories_template)
|
91
|
-
contents.insert(position, "")
|
92
|
-
|
93
|
-
position = child_template_with_id_position(source_files_template.id) + 1
|
94
|
-
contents.insert(position, @cuda_compile_template)
|
95
|
-
contents.insert(position, "")
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
alias_method :position_to_insert_before_cuda, :position_to_insert
|
100
|
-
|
101
|
-
def position_to_insert(block, new_block)
|
102
|
-
if new_block.id == cuda_compile_template.id
|
103
|
-
block.child_block_with_id_position(source_files_template.id) + 2
|
104
|
-
else
|
105
|
-
position_to_insert_before_cuda(block, new_block)
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
1
|
+
require 'rubygems'
|
2
|
+
require 'active_support/core_ext/string/starts_ends_with'
|
3
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../../src_files/target_cmake_lists')
|
4
|
+
|
5
|
+
module Ritsu
|
6
|
+
module SrcFiles
|
7
|
+
class TargetCmakeLists
|
8
|
+
class CudaIncludeDirectoriesTemplate < Ritsu::Template
|
9
|
+
attr_reader :target
|
10
|
+
|
11
|
+
def initialize(target)
|
12
|
+
super("TargetCmakeLists -- #{target.name} -- CudaIncludeDirectories")
|
13
|
+
@target = target
|
14
|
+
end
|
15
|
+
|
16
|
+
def update_block(block, options = {})
|
17
|
+
external_libraries = target.dependency_libraries.to_a
|
18
|
+
external_libraries.sort! {|x,y| x.name <=> y.name}
|
19
|
+
|
20
|
+
dependency_targets = target.dependency_targets.to_a
|
21
|
+
dependency_targets.sort! {|x,y| x.name <=> y.name}
|
22
|
+
|
23
|
+
block.contents.clear
|
24
|
+
external_libraries.each do |external_library|
|
25
|
+
if external_library.cuda_depend_script.strip.length > 0
|
26
|
+
block.contents << external_library.cuda_depend_script
|
27
|
+
end
|
28
|
+
end
|
29
|
+
dependency_targets.each do |dependency_target|
|
30
|
+
if dependency_target.cuda_depend_script.strip.length > 0
|
31
|
+
block.contents << dependency_target.cuda_depend_script
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
if target.library?
|
36
|
+
if target.cuda_depend_script.strip.length > 0
|
37
|
+
block.contents << target.cuda_depend_script
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
class CudaCompileTemplate < Ritsu::Template
|
44
|
+
attr_reader :target
|
45
|
+
|
46
|
+
def initialize(target)
|
47
|
+
super("TargetCmakeLists -- #{target.name} -- CudaCompile")
|
48
|
+
@target = target
|
49
|
+
end
|
50
|
+
|
51
|
+
def cuda_generate_files_var_name
|
52
|
+
"#{target.name.upcase}_CUDA_GENERATED_FILES"
|
53
|
+
end
|
54
|
+
|
55
|
+
def update_block(block, options = {})
|
56
|
+
block.clear_contents
|
57
|
+
|
58
|
+
cu_files = target.src_files.select { |x| x.respond_to?(:cu_file?) && x.cu_file? }
|
59
|
+
if cu_files.length == 0
|
60
|
+
return
|
61
|
+
end
|
62
|
+
cu_files.sort! {|x,y| x.src_path <=> y.src_path}
|
63
|
+
|
64
|
+
block.add_line "CUDA_COMPILE(#{cuda_generate_files_var_name}"
|
65
|
+
block.indent
|
66
|
+
cu_files.each do |cu_file|
|
67
|
+
block.add_line("${CMAKE_SOURCE_DIR}/#{cu_file.src_path}")
|
68
|
+
end
|
69
|
+
block.outdent
|
70
|
+
block.add_line ")"
|
71
|
+
block.add_new_line
|
72
|
+
block.add_line "SET(#{target.name.upcase}_SRC_FILES ${#{target.name.upcase}_SRC_FILES} ${#{cuda_generate_files_var_name}})"
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
class Template
|
77
|
+
attr_reader :cuda_compile_template
|
78
|
+
attr_reader :cuda_include_directories_template
|
79
|
+
|
80
|
+
alias_method :initialize_before_cuda, :initialize
|
81
|
+
|
82
|
+
def initialize(target, id = nil)
|
83
|
+
initialize_before_cuda(target, id)
|
84
|
+
|
85
|
+
@cuda_include_directories_template = CudaIncludeDirectoriesTemplate.new(target)
|
86
|
+
@cuda_compile_template = CudaCompileTemplate.new(target)
|
87
|
+
|
88
|
+
if target.cuda_target?
|
89
|
+
position = child_template_with_id_position(libraries_template.id) + 1
|
90
|
+
contents.insert(position, @cuda_include_directories_template)
|
91
|
+
contents.insert(position, "")
|
92
|
+
|
93
|
+
position = child_template_with_id_position(source_files_template.id) + 1
|
94
|
+
contents.insert(position, @cuda_compile_template)
|
95
|
+
contents.insert(position, "")
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
alias_method :position_to_insert_before_cuda, :position_to_insert
|
100
|
+
|
101
|
+
def position_to_insert(block, new_block)
|
102
|
+
if new_block.id == cuda_compile_template.id
|
103
|
+
block.child_block_with_id_position(source_files_template.id) + 2
|
104
|
+
else
|
105
|
+
position_to_insert_before_cuda(block, new_block)
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
111
|
end
|
@@ -1,17 +1,17 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../target')
|
2
|
-
|
3
|
-
module Ritsu
|
4
|
-
class Target
|
5
|
-
alias_method :initialize_target_before_cuda, :initialize
|
6
|
-
|
7
|
-
def initialize(name, options={})
|
8
|
-
options = {:cuda_target => false}.merge(options)
|
9
|
-
initialize_target_before_cuda(name, options)
|
10
|
-
@cuda_target = options[:cuda_target]
|
11
|
-
end
|
12
|
-
|
13
|
-
def cuda_target?
|
14
|
-
@cuda_target
|
15
|
-
end
|
16
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../target')
|
2
|
+
|
3
|
+
module Ritsu
|
4
|
+
class Target
|
5
|
+
alias_method :initialize_target_before_cuda, :initialize
|
6
|
+
|
7
|
+
def initialize(name, options={})
|
8
|
+
options = {:cuda_target => false}.merge(options)
|
9
|
+
initialize_target_before_cuda(name, options)
|
10
|
+
@cuda_target = options[:cuda_target]
|
11
|
+
end
|
12
|
+
|
13
|
+
def cuda_target?
|
14
|
+
@cuda_target
|
15
|
+
end
|
16
|
+
end
|
17
17
|
end
|