lib/dev/BoostBuild.rb in dev-1.0.89 vs lib/dev/BoostBuild.rb in dev-1.0.90

- old
+ new

@@ -6,7 +6,59 @@ text.scan(/<toolset>([\.\w-]+)/).each{ | var_match | toolset=var_match[0].to_s } return toolset end + + def self.getLibraryProperties(filename) + words=filename.split('-') + flags=words[2]; + flags = flags + "-" + words[3] if words.length == 5 + result="<toolset>" + getToolset(words[1]) + link="static" + link="shared" if filename.indexOf("lib") != 0 + link="shared" if filename.include?(".so") + result = result + " <link>" + link + " " + result = result + " <variant>release " if !flags.include?("d") + result = result + " <variant>debug " if flags.include?("d") + result = result + " <threading>multi " if flags.include?("mt") + result = result + " <threading>single " if !flags.include?("mt") + result = result + " <runtime-link>shared " if !flags.include?("s") + result = result + " <runtime-link>static " if flags.include?("s") + result = result + " <runtime-debugging>off " if !flags.include?("g") + result = result + " <runtime-debugging>on " if flags.include?("g") + result = result ";" + end + + def self.buildJamfile(directory) + jamfilename=directory+"/Jamfile" + if(File.exists?(jamfilename)) + puts "Jamfile already exists." + return + end + if(File.exists?(directory)) + Dir.chdir(directory) do + File.open(jamfilename,'w') { |jamfile| + Dir.glob("*boost_*").each {|f| + jamfile.puts getJamfileLine(f) + } + } + end + end + end + + def self.getJamfileLine(filename) + words=filename.split('-') + library = words[0] + library = library[3,library.length-3] if library.indexOf("lib") == 0 + return "lib " + library + " : : <file>./" + filename + " " + getLibraryProperties(filename) + end + + def self.getToolset(name) + toolset = "msvc" + toolset = "msvc-9.0" if name=='vc90' + toolset = "msvc-10.0" if name=='vc100' + toolset = "msvc-11.0" if name=='vc110' + return toolset + end end end \ No newline at end of file