Advertisement
Guest User

Python3 script: Eclipse headers substitution list for Eigen3

a guest
Feb 8th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.40 KB | None | 0 0
  1. import os
  2. from os.path import join
  3.  
  4. Eigen_path = "/usr/include/eigen3"
  5. src_path = join(Eigen_path,"Eigen/src")
  6.  
  7. xml_file = open("generated_substitution_list.xml",'w')
  8. xml_file.write('<?xml version="1.0" encoding="UTF-8"?>\n')
  9. xml_file.write('<header_substitution_map cpp_only="false" name="Eigen Header Substitution">\n')
  10. xml_file.write('<unconditional_substitution_map>\n')
  11.  
  12. for header_dir in os.listdir(src_path):
  13.     if (header_dir=="plugins" or header_dir=="misc"):
  14.         header_name = 'Eigen'
  15.     else:
  16.         header_name = header_dir
  17.     for root, dirs, files in os.walk(join(src_path, header_dir)):
  18.         for header in files:
  19.             if header.endswith(".h"):
  20.                 if (header_dir == "StlSupport"):
  21.                     if (header == "details.h"):
  22.                         header_name = 'StdDeque'
  23.                     else:
  24.                         header_name = header.replace('.h','')
  25.                 xml_file.write('<mapping key="&lt;Eigen/src')
  26.                 xml_file.write(root.replace(src_path,''))
  27.                 xml_file.write('/')
  28.                 xml_file.write(header)
  29.                 xml_file.write('&gt;" value="&lt;Eigen/')
  30.                 xml_file.write(header_name)
  31.                 xml_file.write('&gt;"/>\n')
  32.  
  33. xml_file.write('</unconditional_substitution_map>\n')
  34. xml_file.write('<optional_substitution_map/>\n')
  35. xml_file.write('</header_substitution_map>')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement