Class: Xezat::Generator::CMake
- Inherits:
-
Object
- Object
- Xezat::Generator::CMake
- Includes:
- Xezat
- Defined in:
- lib/xezat/generator/cmake.rb
Constant Summary
Constants included from Xezat
CONFIG_FILE, DATA_DIR, REPOSITORY_DIR, ROOT_DIR, TEMPLATE_DIR, VERSION
Instance Method Summary collapse
- #generate ⇒ Object
- #generate_cmakelists(variables, options) ⇒ Object
- #get_cmakelists(variables) ⇒ Object
-
#initialize(options, cygport) ⇒ CMake
constructor
A new instance of CMake.
Methods included from Xezat
#bashvar, #config, #packages, #variables
Constructor Details
#initialize(options, cygport) ⇒ CMake
Returns a new instance of CMake.
11 12 13 14 |
# File 'lib/xezat/generator/cmake.rb', line 11 def initialize(, cygport) @options = @cygport = cygport end |
Instance Method Details
#generate ⇒ Object
16 17 18 19 20 21 |
# File 'lib/xezat/generator/cmake.rb', line 16 def generate Xezat.logger.debug('Start CMakeLists.txt generation') vars = variables(@cygport) generate_cmakelists(vars, @options) Xezat.logger.debug('End CMakeLists.txt generation') end |
#generate_cmakelists(variables, options) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/xezat/generator/cmake.rb', line 23 def generate_cmakelists(variables, ) srcdir = variables[:CYGCONF_SOURCE] || variables[:CYGCMAKE_SOURCE] || variables[:S] srcdir = File.(File.join(variables[:S], ['srcdir'])) if ['srcdir'] Xezat.logger.debug(" srcdir = #{srcdir}") cmakelists = File.(File.join(srcdir, 'CMakeLists.txt')) raise UnregeneratableConfigurationError, 'CMakeLists.txt already exists' if File.exist?(cmakelists) && !['overwrite'] Xezat.logger.debug(' Generate CMakeLists.txt') File.atomic_write(cmakelists) do |f| f.write(get_cmakelists(variables)) end end |
#get_cmakelists(variables) ⇒ Object
38 39 40 41 |
# File 'lib/xezat/generator/cmake.rb', line 38 def get_cmakelists(variables) erb = File.(File.join(TEMPLATE_DIR, 'cmake', 'cmake.erb')) ERB.new(File.readlines(erb).join(nil), trim_mode: '%-').result(binding) end |