瀏覽代碼

[update] 通过 SCons生成 CMakefile.txt 使用相对路径 (#5677)

* [update] 通过 SCons生成 CMakefile.txt 使用相对路径
* [update] 通过 SCons生成 VSC 使用相对路径
LiuKang 3 年之前
父節點
當前提交
4e1b175138
共有 2 個文件被更改,包括 12 次插入4 次删除
  1. 7 2
      tools/cmake.py
  2. 5 2
      tools/vsc.py

+ 7 - 2
tools/cmake.py

@@ -8,6 +8,7 @@ import sys
 import re
 import utils
 import rtconfig
+from utils import _make_path_relative
 
 
 def GenerateCFiles(env,project):
@@ -106,7 +107,9 @@ def GenerateCFiles(env,project):
 
         cm_file.write("INCLUDE_DIRECTORIES(\n")
         for i in info['CPPPATH']:
-            cm_file.write( "\t" + i.replace("\\", "/") + "\n")
+            # use relative path
+            path = _make_path_relative(os.getcwd(), i)
+            cm_file.write( "\t" + path.replace("\\", "/") + "\n")
         cm_file.write(")\n\n")
 
         cm_file.write("ADD_DEFINITIONS(\n")
@@ -117,7 +120,9 @@ def GenerateCFiles(env,project):
         cm_file.write("SET(PROJECT_SOURCES\n")
         for group in project:
             for f in group['src']:
-                cm_file.write( "\t" + os.path.normpath(f.rfile().abspath).replace("\\", "/") + "\n" )
+                # use relative path
+                path = _make_path_relative(os.getcwd(), os.path.normpath(f.rfile().abspath))
+                cm_file.write( "\t" + path.replace("\\", "/") + "\n" )
         cm_file.write(")\n\n")
 
         if rtconfig.PLATFORM == 'gcc':

+ 5 - 2
tools/vsc.py

@@ -29,6 +29,9 @@ import os
 import json
 import utils
 import rtconfig
+import rtconfig
+from utils import _make_path_relative
+
 
 def GenerateCFiles(env):
     """
@@ -56,9 +59,9 @@ def GenerateCFiles(env):
         includePath = []
         for i in info['CPPPATH']:
             if i[0] == '\"' and i[len(i) - 2:len(i)] == '\",':
-                includePath.append(i[1:len(i) - 2])
+                includePath.append(_make_path_relative(os.getcwd(), i[1:len(i) - 2]))
             else:
-                includePath.append(i)
+                includePath.append(_make_path_relative(os.getcwd(), i))
         config_obj['includePath'] = includePath
 
         json_obj = {}