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.
Files changed (89) hide show
  1. data/README.md +95 -95
  2. data/bin/define_cpp_string +54 -54
  3. data/bin/ritsu +31 -31
  4. data/lib/ritsu.rb +16 -16
  5. data/lib/ritsu/block.rb +258 -258
  6. data/lib/ritsu/ext/cuda.rb +5 -5
  7. data/lib/ritsu/ext/cuda/external_library.rb +15 -15
  8. data/lib/ritsu/ext/cuda/project.rb +31 -31
  9. data/lib/ritsu/ext/cuda/src_files/cu_file.rb +46 -46
  10. data/lib/ritsu/ext/cuda/src_files/target_cmake_lists.rb +110 -110
  11. data/lib/ritsu/ext/cuda/target.rb +16 -16
  12. data/lib/ritsu/ext/cuda/targets/library.rb +16 -16
  13. data/lib/ritsu/ext/fake_install.rb +2 -2
  14. data/lib/ritsu/ext/fake_install/project.rb +16 -16
  15. data/lib/ritsu/ext/fake_install/src_files/project_cmake_lists.rb +45 -45
  16. data/lib/ritsu/ext/glsl.rb +1 -1
  17. data/lib/ritsu/ext/glsl/src_files/frag_file.rb +70 -70
  18. data/lib/ritsu/ext/glsl/src_files/vert_file.rb +70 -70
  19. data/lib/ritsu/ext/qt.rb +4 -4
  20. data/lib/ritsu/ext/qt/project.rb +47 -47
  21. data/lib/ritsu/ext/qt/src_files/header_file.rb +60 -60
  22. data/lib/ritsu/ext/qt/src_files/target_cmake_lists.rb +106 -106
  23. data/lib/ritsu/ext/qt/src_files/ui_file.rb +46 -46
  24. data/lib/ritsu/ext/test_case.rb +19 -19
  25. data/lib/ritsu/external_library.rb +46 -46
  26. data/lib/ritsu/project.rb +93 -93
  27. data/lib/ritsu/project_generator.rb +33 -33
  28. data/lib/ritsu/project_generators/default_generator.rb +72 -72
  29. data/lib/ritsu/project_generators/default_generator_files/Thorfile.erb +8 -8
  30. data/lib/ritsu/project_generators/default_generator_files/meta/project.rb.erb +10 -10
  31. data/lib/ritsu/src_file.rb +79 -79
  32. data/lib/ritsu/src_files.rb +12 -12
  33. data/lib/ritsu/src_files/cpp_file.rb +43 -43
  34. data/lib/ritsu/src_files/executable_cmake_lists.rb +39 -39
  35. data/lib/ritsu/src_files/header_file.rb +60 -60
  36. data/lib/ritsu/src_files/project_cmake_lists.rb +133 -133
  37. data/lib/ritsu/src_files/project_config_header_file.rb +14 -14
  38. data/lib/ritsu/src_files/project_config_header_template_file.rb +44 -44
  39. data/lib/ritsu/src_files/shared_library_cmake_lists.rb +39 -39
  40. data/lib/ritsu/src_files/static_library_cmake_lists.rb +39 -39
  41. data/lib/ritsu/src_files/target_cmake_lists.rb +189 -189
  42. data/lib/ritsu/src_files/templated_src_file.rb +47 -47
  43. data/lib/ritsu/src_files/unit.rb +32 -32
  44. data/lib/ritsu/target.rb +154 -154
  45. data/lib/ritsu/targets.rb +3 -3
  46. data/lib/ritsu/targets/executable.rb +44 -44
  47. data/lib/ritsu/targets/library.rb +29 -29
  48. data/lib/ritsu/targets/shared_library.rb +38 -38
  49. data/lib/ritsu/targets/static_library.rb +32 -32
  50. data/lib/ritsu/template.rb +68 -68
  51. data/lib/ritsu/template_policies.rb +132 -132
  52. data/lib/ritsu/test_helpers.rb +123 -123
  53. data/lib/ritsu/thors/default_thor.rb +1 -1
  54. data/lib/ritsu/utility.rb +7 -7
  55. data/lib/ritsu/utility/accessors.rb +29 -29
  56. data/lib/ritsu/utility/check_upon_add_set.rb +34 -34
  57. data/lib/ritsu/utility/file_robot.rb +128 -128
  58. data/lib/ritsu/utility/files.rb +12 -12
  59. data/lib/ritsu/utility/instance_dependencies.rb +112 -112
  60. data/lib/ritsu/utility/instance_set.rb +28 -28
  61. data/lib/ritsu/utility/platform.rb +20 -20
  62. data/lib/ritsu/utility/simple_io.rb +64 -64
  63. data/lib/ritsu/utility/single_instance.rb +33 -33
  64. data/lib/ritsu/utility/strings.rb +40 -40
  65. data/test/ritsu/block_test.rb +196 -196
  66. data/test/ritsu/ext/cuda/src_files/cuda_static_library_cmake_lists_test.rb +63 -63
  67. data/test/ritsu/external_library_test.rb +41 -41
  68. data/test/ritsu/project_generators/default_generator_test.rb +34 -34
  69. data/test/ritsu/project_test.rb +127 -127
  70. data/test/ritsu/src_file_test.rb +69 -69
  71. data/test/ritsu/src_files/cpp_file_test.rb +42 -42
  72. data/test/ritsu/src_files/executable_cmake_lists_test.rb +92 -92
  73. data/test/ritsu/src_files/header_file_test.rb +57 -57
  74. data/test/ritsu/src_files/project_cmake_lists_test.rb +159 -159
  75. data/test/ritsu/src_files/shared_library_cmake_lists_test.rb +54 -54
  76. data/test/ritsu/src_files/static_library_cmake_lists_test.rb +54 -54
  77. data/test/ritsu/src_files/target_cmake_lists_test.rb +15 -15
  78. data/test/ritsu/target_test.rb +105 -105
  79. data/test/ritsu/targets/executable_test.rb +10 -10
  80. data/test/ritsu/targets/shared_library_test.rb +10 -10
  81. data/test/ritsu/targets/static_library_test.rb +10 -10
  82. data/test/ritsu/utility/accessors_test.rb +14 -14
  83. data/test/ritsu/utility/check_upon_add_set_test.rb +31 -31
  84. data/test/ritsu/utility/file_robot_test.rb +175 -175
  85. data/test/ritsu/utility/strings_test.rb +28 -28
  86. data/test/test_helpers.rb +3 -3
  87. metadata +72 -124
  88. data/Thorfile +0 -104
  89. data/VERSION +0 -1
@@ -1,16 +1,16 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../../../targets/library.rb")
2
-
3
- module Ritsu::Targets
4
- class Library
5
- attr_accessor :cuda_depend_script
6
- attr_method :cuda_depend_script
7
-
8
- alias_method :initialize_library_before_cuda, :initialize
9
-
10
- def initialize(name, options={})
11
- options = {:cuda_depend_script => ""}.merge(options)
12
- initialize_library_before_cuda(name, options)
13
- @cuda_depend_script = options[:cuda_depend_script]
14
- end
15
- end
16
- end
1
+ require File.expand_path(File.dirname(__FILE__) + "/../../../targets/library.rb")
2
+
3
+ module Ritsu::Targets
4
+ class Library
5
+ attr_accessor :cuda_depend_script
6
+ attr_method :cuda_depend_script
7
+
8
+ alias_method :initialize_library_before_cuda, :initialize
9
+
10
+ def initialize(name, options={})
11
+ options = {:cuda_depend_script => ""}.merge(options)
12
+ initialize_library_before_cuda(name, options)
13
+ @cuda_depend_script = options[:cuda_depend_script]
14
+ end
15
+ end
16
+ end
@@ -1,2 +1,2 @@
1
- require File.dirname(__FILE__) + "/fake_install/project"
2
- require File.dirname(__FILE__) + "/fake_install/src_files/project_cmake_lists"
1
+ require File.dirname(__FILE__) + "/fake_install/project"
2
+ require File.dirname(__FILE__) + "/fake_install/src_files/project_cmake_lists"
@@ -1,17 +1,17 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../../project")
2
-
3
- module Ritsu
4
- class Project
5
- def performs_fake_install?
6
- @fake_install ||= false
7
- end
8
-
9
- def fake_install=(value)
10
- @fake_install = value
11
- end
12
-
13
- def setup_fake_install
14
- @fake_install = true
15
- end
16
- end
1
+ require File.expand_path(File.dirname(__FILE__) + "/../../project")
2
+
3
+ module Ritsu
4
+ class Project
5
+ def performs_fake_install?
6
+ @fake_install ||= false
7
+ end
8
+
9
+ def fake_install=(value)
10
+ @fake_install = value
11
+ end
12
+
13
+ def setup_fake_install
14
+ @fake_install = true
15
+ end
16
+ end
17
17
  end
@@ -1,46 +1,46 @@
1
- require File.dirname(__FILE__) + "/../../../src_files/project_cmake_lists"
2
-
3
- module Ritsu
4
- module SrcFiles
5
- class ProjectCmakeLists
6
- class FakeInstallTemplate < Ritsu::Template
7
- attr_reader :project
8
-
9
- def initialize(project)
10
- super("ProjectCmakeLists -- Fake Install")
11
- @project = project
12
- end
13
-
14
- def update_block(block, options={})
15
- block.contents.clear
16
-
17
- to_install = project.targets.select { |x| x.install? }
18
- to_install.sort! {|x,y| x.name <=> y.name }
19
-
20
- if project.performs_fake_install? && to_install.length > 0
21
- block.add_line "ADD_CUSTOM_TARGET(fake_install"
22
- block.add_line " ALL"
23
- block.add_line " \"${CMAKE_COMMAND}\""
24
- block.add_line " -D CMAKE_INSTALL_PREFIX:string=${CMAKE_SOURCE_DIR}/../"
25
- block.add_line " -P \"${CMAKE_CURRENT_BINARY_DIR}/cmake_install.cmake\""
26
- block.add_line " DEPENDS"
27
- to_install.each do |target|
28
- block.add_line " #{target.name}"
29
- end
30
- block.add_line ")"
31
- end
32
- end
33
- end
34
-
35
- class Template
36
- alias_method :initialize_before_fake_install, :initialize
37
-
38
- def initialize(project)
39
- initialize_before_fake_install(project)
40
- add_new_line
41
- add_template FakeInstallTemplate.new(project)
42
- end
43
- end
44
- end
45
- end
1
+ require File.dirname(__FILE__) + "/../../../src_files/project_cmake_lists"
2
+
3
+ module Ritsu
4
+ module SrcFiles
5
+ class ProjectCmakeLists
6
+ class FakeInstallTemplate < Ritsu::Template
7
+ attr_reader :project
8
+
9
+ def initialize(project)
10
+ super("ProjectCmakeLists -- Fake Install")
11
+ @project = project
12
+ end
13
+
14
+ def update_block(block, options={})
15
+ block.contents.clear
16
+
17
+ to_install = project.targets.select { |x| x.install? }
18
+ to_install.sort! {|x,y| x.name <=> y.name }
19
+
20
+ if project.performs_fake_install? && to_install.length > 0
21
+ block.add_line "ADD_CUSTOM_TARGET(fake_install"
22
+ block.add_line " ALL"
23
+ block.add_line " \"${CMAKE_COMMAND}\""
24
+ block.add_line " -D CMAKE_INSTALL_PREFIX:string=${CMAKE_SOURCE_DIR}/../"
25
+ block.add_line " -P \"${CMAKE_CURRENT_BINARY_DIR}/cmake_install.cmake\""
26
+ block.add_line " DEPENDS"
27
+ to_install.each do |target|
28
+ block.add_line " #{target.name}"
29
+ end
30
+ block.add_line ")"
31
+ end
32
+ end
33
+ end
34
+
35
+ class Template
36
+ alias_method :initialize_before_fake_install, :initialize
37
+
38
+ def initialize(project)
39
+ initialize_before_fake_install(project)
40
+ add_new_line
41
+ add_template FakeInstallTemplate.new(project)
42
+ end
43
+ end
44
+ end
45
+ end
46
46
  end
@@ -1,2 +1,2 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/glsl/src_files/frag_file")
1
+ require File.expand_path(File.dirname(__FILE__) + "/glsl/src_files/frag_file")
2
2
  require File.expand_path(File.dirname(__FILE__) + "/glsl/src_files/vert_file")
@@ -1,71 +1,71 @@
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 FragFile < Ritsu::SrcFile
7
- def initialize(src_path, owner)
8
- super(src_path, owner)
9
- end
10
-
11
- def glsl_file?
12
- true
13
- end
14
-
15
- def vert_file?
16
- false
17
- end
18
-
19
- def frag_file?
20
- true
21
- end
22
-
23
- def header_file?
24
- false
25
- end
26
-
27
- def cpp_file?
28
- false
29
- end
30
-
31
- def cpp_file_base_name
32
- base_name.gsub(/[.\/]+/,'_') + ".cpp"
33
- end
34
-
35
- def code_var_name
36
- src_path.gsub(/[.\/]+/,'_') + "_code"
37
- end
38
- end
39
-
40
- module AddFragFile
41
- def add_frag_file(path, options={})
42
- src_path = compute_src_path(path, options)
43
- frag_file = FragFile.new(src_path, self)
44
-
45
- cpp_src_path = compute_src_path(frag_file.cpp_file_base_name, options)
46
- cpp_file = CppFile.new(cpp_src_path, self)
47
-
48
- self.custom_commands << "ADD_CUSTOM_COMMAND(\n" +
49
- " OUTPUT ${CMAKE_SOURCE_DIR}/#{cpp_src_path}\n" +
50
- " COMMAND define_cpp_string #{frag_file.code_var_name} < ${CMAKE_SOURCE_DIR}/#{frag_file.src_path} > ${CMAKE_SOURCE_DIR}/#{cpp_file.src_path}\n" +
51
- " DEPENDS ${CMAKE_SOURCE_DIR}/#{frag_file.src_path})"
52
- end
53
-
54
- def add_frag_files(*paths)
55
- paths.each do |path|
56
- add_frag_file(path)
57
- end
58
- end
59
- end
60
- end
61
- end
62
-
63
- module Ritsu
64
- class Target
65
- include Ritsu::SrcFiles::AddFragFile
66
- end
67
-
68
- class Project
69
- include Ritsu::SrcFiles::AddFragFile
70
- 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 FragFile < Ritsu::SrcFile
7
+ def initialize(src_path, owner)
8
+ super(src_path, owner)
9
+ end
10
+
11
+ def glsl_file?
12
+ true
13
+ end
14
+
15
+ def vert_file?
16
+ false
17
+ end
18
+
19
+ def frag_file?
20
+ true
21
+ end
22
+
23
+ def header_file?
24
+ false
25
+ end
26
+
27
+ def cpp_file?
28
+ false
29
+ end
30
+
31
+ def cpp_file_base_name
32
+ base_name.gsub(/[.\/]+/,'_') + ".cpp"
33
+ end
34
+
35
+ def code_var_name
36
+ src_path.gsub(/[.\/]+/,'_') + "_code"
37
+ end
38
+ end
39
+
40
+ module AddFragFile
41
+ def add_frag_file(path, options={})
42
+ src_path = compute_src_path(path, options)
43
+ frag_file = FragFile.new(src_path, self)
44
+
45
+ cpp_src_path = compute_src_path(frag_file.cpp_file_base_name, options)
46
+ cpp_file = CppFile.new(cpp_src_path, self)
47
+
48
+ self.custom_commands << "ADD_CUSTOM_COMMAND(\n" +
49
+ " OUTPUT ${CMAKE_SOURCE_DIR}/#{cpp_src_path}\n" +
50
+ " COMMAND define_cpp_string #{frag_file.code_var_name} < ${CMAKE_SOURCE_DIR}/#{frag_file.src_path} > ${CMAKE_SOURCE_DIR}/#{cpp_file.src_path}\n" +
51
+ " DEPENDS ${CMAKE_SOURCE_DIR}/#{frag_file.src_path})"
52
+ end
53
+
54
+ def add_frag_files(*paths)
55
+ paths.each do |path|
56
+ add_frag_file(path)
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+
63
+ module Ritsu
64
+ class Target
65
+ include Ritsu::SrcFiles::AddFragFile
66
+ end
67
+
68
+ class Project
69
+ include Ritsu::SrcFiles::AddFragFile
70
+ end
71
71
  end
@@ -1,71 +1,71 @@
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 VertFile < Ritsu::SrcFile
7
- def initialize(src_path, owner)
8
- super(src_path, owner)
9
- end
10
-
11
- def glsl_file?
12
- true
13
- end
14
-
15
- def vert_file?
16
- true
17
- end
18
-
19
- def frag_file?
20
- false
21
- end
22
-
23
- def header_file?
24
- false
25
- end
26
-
27
- def cpp_file?
28
- false
29
- end
30
-
31
- def cpp_file_base_name
32
- base_name.gsub(/[.\/]+/,'_') + ".cpp"
33
- end
34
-
35
- def code_var_name
36
- src_path.gsub(/[.\/]+/,'_') + "_code"
37
- end
38
- end
39
-
40
- module AddVertFile
41
- def add_vert_file(path, options={})
42
- src_path = compute_src_path(path, options)
43
- vert_file = VertFile.new(src_path, self)
44
-
45
- cpp_src_path = compute_src_path(vert_file.cpp_file_base_name, options)
46
- cpp_file = CppFile.new(cpp_src_path, self)
47
-
48
- self.custom_commands << "ADD_CUSTOM_COMMAND(\n" +
49
- " OUTPUT ${CMAKE_SOURCE_DIR}/#{cpp_src_path}\n" +
50
- " COMMAND define_cpp_string #{vert_file.code_var_name} < ${CMAKE_SOURCE_DIR}/#{vert_file.src_path} > ${CMAKE_SOURCE_DIR}/#{cpp_file.src_path}\n" +
51
- " DEPENDS ${CMAKE_SOURCE_DIR}/#{vert_file.src_path})"
52
- end
53
-
54
- def add_vert_files(*paths)
55
- paths.each do |path|
56
- add_vert_file(path)
57
- end
58
- end
59
- end
60
- end
61
- end
62
-
63
- module Ritsu
64
- class Target
65
- include Ritsu::SrcFiles::AddVertFile
66
- end
67
-
68
- class Project
69
- include Ritsu::SrcFiles::AddVertFile
70
- 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 VertFile < Ritsu::SrcFile
7
+ def initialize(src_path, owner)
8
+ super(src_path, owner)
9
+ end
10
+
11
+ def glsl_file?
12
+ true
13
+ end
14
+
15
+ def vert_file?
16
+ true
17
+ end
18
+
19
+ def frag_file?
20
+ false
21
+ end
22
+
23
+ def header_file?
24
+ false
25
+ end
26
+
27
+ def cpp_file?
28
+ false
29
+ end
30
+
31
+ def cpp_file_base_name
32
+ base_name.gsub(/[.\/]+/,'_') + ".cpp"
33
+ end
34
+
35
+ def code_var_name
36
+ src_path.gsub(/[.\/]+/,'_') + "_code"
37
+ end
38
+ end
39
+
40
+ module AddVertFile
41
+ def add_vert_file(path, options={})
42
+ src_path = compute_src_path(path, options)
43
+ vert_file = VertFile.new(src_path, self)
44
+
45
+ cpp_src_path = compute_src_path(vert_file.cpp_file_base_name, options)
46
+ cpp_file = CppFile.new(cpp_src_path, self)
47
+
48
+ self.custom_commands << "ADD_CUSTOM_COMMAND(\n" +
49
+ " OUTPUT ${CMAKE_SOURCE_DIR}/#{cpp_src_path}\n" +
50
+ " COMMAND define_cpp_string #{vert_file.code_var_name} < ${CMAKE_SOURCE_DIR}/#{vert_file.src_path} > ${CMAKE_SOURCE_DIR}/#{cpp_file.src_path}\n" +
51
+ " DEPENDS ${CMAKE_SOURCE_DIR}/#{vert_file.src_path})"
52
+ end
53
+
54
+ def add_vert_files(*paths)
55
+ paths.each do |path|
56
+ add_vert_file(path)
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+
63
+ module Ritsu
64
+ class Target
65
+ include Ritsu::SrcFiles::AddVertFile
66
+ end
67
+
68
+ class Project
69
+ include Ritsu::SrcFiles::AddVertFile
70
+ end
71
71
  end