summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorthread-liu <[email protected]>2021-06-17 14:42:54 +0800
committerthread-liu <[email protected]>2021-06-17 14:44:34 +0800
commit7a52944051338961e671f078cfbf5971ffc70887 (patch)
treed47c9e0e6f621d7e87943ca4aa82dd3cbe6543c0 /tools
parent4b9913f06df85d85f074c4ad921c7e6946e58473 (diff)
[update] support windows cmake tool.
Diffstat (limited to 'tools')
-rw-r--r--tools/cmake.py38
1 files changed, 24 insertions, 14 deletions
diff --git a/tools/cmake.py b/tools/cmake.py
index 645bdbb229..5b43c39409 100644
--- a/tools/cmake.py
+++ b/tools/cmake.py
@@ -4,6 +4,7 @@ Author: https://github.com/klivelinux
"""
import os
+import sys
import re
import utils
import rtconfig
@@ -13,17 +14,26 @@ def GenerateCFiles(env,project):
"""
Generate CMakeLists.txt files
"""
-
info = utils.ProjectInfo(env)
-
- CC = os.path.join(rtconfig.EXEC_PATH, rtconfig.CC)
- CXX = os.path.join(rtconfig.EXEC_PATH, rtconfig.CXX)
- AS = os.path.join(rtconfig.EXEC_PATH, rtconfig.AS)
- AR = os.path.join(rtconfig.EXEC_PATH, rtconfig.AR)
- LINK = os.path.join(rtconfig.EXEC_PATH, rtconfig.LINK)
- SIZE = os.path.join(rtconfig.EXEC_PATH, rtconfig.SIZE)
- OBJDUMP = os.path.join(rtconfig.EXEC_PATH, rtconfig.OBJDUMP)
- OBJCOPY = os.path.join(rtconfig.EXEC_PATH, rtconfig.OBJCPY)
+
+ CC = os.path.join(rtconfig.EXEC_PATH, rtconfig.CC).replace('\\', "/")
+ CXX = os.path.join(rtconfig.EXEC_PATH, rtconfig.CXX).replace('\\', "/")
+ AS = os.path.join(rtconfig.EXEC_PATH, rtconfig.AS).replace('\\', "/")
+ AR = os.path.join(rtconfig.EXEC_PATH, rtconfig.AR).replace('\\', "/")
+ LINK = os.path.join(rtconfig.EXEC_PATH, rtconfig.LINK).replace('\\', "/")
+ SIZE = os.path.join(rtconfig.EXEC_PATH, rtconfig.SIZE).replace('\\', "/")
+ OBJDUMP = os.path.join(rtconfig.EXEC_PATH, rtconfig.OBJDUMP).replace('\\', "/")
+ OBJCOPY = os.path.join(rtconfig.EXEC_PATH, rtconfig.OBJCPY).replace('\\', "/")
+
+ if "win32" in sys.platform:
+ CC += ".exe"
+ CXX += ".exe"
+ AS += ".exe"
+ AR += ".exe"
+ LINK += ".exe"
+ SIZE += ".exe"
+ OBJDUMP += ".exe"
+ OBJCOPY += ".exe"
cm_file = open('CMakeLists.txt', 'w')
if cm_file:
@@ -49,7 +59,7 @@ def GenerateCFiles(env,project):
cm_file.write("INCLUDE_DIRECTORIES(\n")
for i in info['CPPPATH']:
- cm_file.write( "\t" +i + "\n")
+ cm_file.write( "\t" + i.replace("\\", "/") + "\n")
cm_file.write(")\n\n")
@@ -61,21 +71,21 @@ 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)+"\n" )
+ cm_file.write( "\t" + os.path.normpath(f.rfile().abspath).replace("\\", "/") + "\n" )
cm_file.write(")\n\n")
cm_file.write("LINK_DIRECTORIES(\n")
for group in project:
if 'LIBPATH' in group.keys():
for f in group['LIBPATH']:
- cm_file.write( "\t"+ f + "\n" )
+ cm_file.write( "\t"+ f.replace("\\", "/") + "\n" )
cm_file.write(")\n\n")
cm_file.write("LINK_LIBRARIES(\n")
for group in project:
if 'LIBS' in group.keys():
for f in group['LIBS']:
- cm_file.write( "\t"+ "{}\n".format(f))
+ cm_file.write( "\t"+ "{}\n".format(f.replace("\\", "/")))
cm_file.write(")\n\n")
cm_file.write("ADD_EXECUTABLE(${CMAKE_PROJECT_NAME}.elf ${PROJECT_SOURCES})\n")