diff options
author | Johnathan Corgan <johnathan@corganlabs.com> | 2012-12-04 09:59:02 -0800 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2012-12-04 09:59:02 -0800 |
commit | be9a5bc1409e5d6447a92382f926394adf26800d (patch) | |
tree | 15242d7ac939fbaba2be073398aeebf86a20cdf2 /cmake | |
parent | 744e351c408eba97030aa25c31eeddd6139114db (diff) | |
parent | cf18523a45c74be8a53ab95d3bfcdd81a143ebb8 (diff) |
Merge branch 'master' into next
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Modules/GrSwig.cmake | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/cmake/Modules/GrSwig.cmake b/cmake/Modules/GrSwig.cmake index 3d1c5d47f0..b9bf0bb0b9 100644 --- a/cmake/Modules/GrSwig.cmake +++ b/cmake/Modules/GrSwig.cmake @@ -205,21 +205,25 @@ file(WRITE ${CMAKE_BINARY_DIR}/get_swig_deps.py " import os, sys, re -include_matcher = re.compile('[#|%]include\\s*[<|\"](.*)[>|\"]') +i_include_matcher = re.compile('%(include|import)\\s*[<|\"](.*)[>|\"]') +h_include_matcher = re.compile('#(include)\\s*[<|\"](.*)[>|\"]') include_dirs = sys.argv[2].split(';') def get_swig_incs(file_path): + if file_path.endswith('.i'): matcher = i_include_matcher + else: matcher = h_include_matcher file_contents = open(file_path, 'r').read() - return include_matcher.findall(file_contents, re.MULTILINE) + return matcher.findall(file_contents, re.MULTILINE) def get_swig_deps(file_path, level): deps = [file_path] if level == 0: return deps - for inc_file in get_swig_incs(file_path): + for keyword, inc_file in get_swig_incs(file_path): for inc_dir in include_dirs: inc_path = os.path.join(inc_dir, inc_file) if not os.path.exists(inc_path): continue deps.extend(get_swig_deps(inc_path, level-1)) + break #found, we dont search in lower prio inc dirs return deps if __name__ == '__main__': |