|
20 | 20 | os.chdir(os.path.abspath(script_dir))
|
21 | 21 | print("Boost.Geometry is making .qbk files in %s" % os.getcwd())
|
22 | 22 |
|
| 23 | +# Resolves the path to an executable and returns an absolute path to it |
| 24 | +def resolve_executable(orig_path): |
| 25 | + resolved_path = shutil.which(orig_path) |
| 26 | + if resolved_path is None: |
| 27 | + raise Exception("%s is not found or not executable" % orig_path) |
| 28 | + return os.path.abspath(resolved_path) |
| 29 | + |
| 30 | +# Resolve paths to executables early so that commands are executable from arbitrary locations |
23 | 31 | if 'DOXYGEN' in os.environ:
|
24 | 32 | doxygen_cmd = os.environ['DOXYGEN']
|
25 | 33 | else:
|
26 | 34 | doxygen_cmd = 'doxygen'
|
| 35 | +doxygen_cmd = resolve_executable(doxygen_cmd) |
| 36 | +os.environ['DOXYGEN'] = doxygen_cmd |
| 37 | +doxygen_cmd = '"' + doxygen_cmd + '"' |
27 | 38 |
|
28 | 39 | if 'DOXYGEN_XML2QBK' in os.environ:
|
29 | 40 | doxygen_xml2qbk_cmd = os.environ['DOXYGEN_XML2QBK']
|
30 | 41 | elif '--doxygen-xml2qbk' in sys.argv:
|
31 | 42 | doxygen_xml2qbk_cmd = sys.argv[sys.argv.index('--doxygen-xml2qbk')+1]
|
32 | 43 | else:
|
33 | 44 | doxygen_xml2qbk_cmd = 'doxygen_xml2qbk'
|
34 |
| -os.environ['PATH'] = os.environ['PATH']+os.pathsep+os.path.dirname(doxygen_xml2qbk_cmd) |
35 |
| -doxygen_xml2qbk_cmd = os.path.basename(doxygen_xml2qbk_cmd) |
| 45 | +doxygen_xml2qbk_cmd = resolve_executable(doxygen_xml2qbk_cmd) |
| 46 | +os.environ['DOXYGEN_XML2QBK'] = doxygen_xml2qbk_cmd |
| 47 | +doxygen_xml2qbk_cmd = '"' + doxygen_xml2qbk_cmd + '"' |
36 | 48 |
|
37 | 49 | cmd = doxygen_xml2qbk_cmd
|
38 | 50 | cmd = cmd + " --xml doxy/doxygen_output/xml/%s.xml"
|
|
0 commit comments