Module: TXT

Included in:
CMAKE::Project
Defined in:
lib/ebngen/adapter/cmake/txt.rb

Instance Method Summary collapse

Instance Method Details

#save(path, data_hash) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/ebngen/adapter/cmake/txt.rb', line 50

def save(path, data_hash)
	FileUtils.mkdir_p File.dirname(path) if ! File.exist?(File.dirname(path))
	File.open(path, 'w+') do |file| 
		file.write($CMAKE_HEADER)
		data_hash["target"].each_key do |target|
			$CONFIG_SETTINGS.each do |key|
				next if ! data_hash["target"][target].has_key?(key.to_s)
				data_hash["target"][target][key.to_s].each do |line|
					file.puts(line)
				end
			end
		end
		binary = data_hash["document"]["project_name"]
		case data_hash["type"].upcase
		when "APPLICATION"
			file.puts("add_executable(#{binary}.elf") 
		else
			file.puts("add_library(STATIC #{binary}.a")
		end
		data_hash["sources"].each do |line|
			file.puts line
		end
		file.puts(")")
	end
end