[openrtm-commit:01358] r2535 - trunk/OpenRTM-aist/build

openrtm @ openrtm.org openrtm @ openrtm.org
2014年 3月 15日 (土) 01:50:28 JST


Author: n-ando
Date: 2014-03-15 01:50:28 +0900 (Sat, 15 Mar 2014)
New Revision: 2535

Modified:
   trunk/OpenRTM-aist/build/slntool.py
   trunk/OpenRTM-aist/build/vcxprojtool.py
Log:
[compat,build,->RELENG_1_1] vcproj/sln tools have been updated for 64bit and vc11, vc12 support. refs #3041

Modified: trunk/OpenRTM-aist/build/slntool.py
===================================================================
--- trunk/OpenRTM-aist/build/slntool.py	2014-03-14 16:49:21 UTC (rev 2534)
+++ trunk/OpenRTM-aist/build/slntool.py	2014-03-14 16:50:28 UTC (rev 2535)
@@ -24,7 +24,9 @@
 #------------------------------------------------------------
 vcversions = {"VC8": {"sln": "9.00", "vc": "2005"},
               "VC9": {"sln": "10.00", "vc": "2008"},
-              "VC10": {"sln": "11.00", "vc": "2010"}
+              "VC10": {"sln": "11.00", "vc": "2010"},
+              "VC11": {"sln": "12.00", "vc": "2012"},
+              "VC12": {"sln": "13.00", "vc": "2013"},
               }
 sln_template = """Microsoft Visual Studio Solution File, Format Version %s
 # Visual Studio %s
@@ -67,7 +69,9 @@
 SolutionGUID: 8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942
 Configurations:
   - Release|Win32
+  - Release|x64
   - Debug|Win32
+  - Debug|x64
 """
 
 
@@ -77,7 +81,7 @@
   slntool.py --dep dep_file [--outfile outfile] vcproj_files...
 
 Options:
-    --vcversion: Visual C++'s version [VC8|VC9|VC10]
+    --vcversion: Visual C++'s version [VC8|VC9|VC10|VC11|VC12]
     --dep: dependency file
     --out or --output: output file name
 
@@ -109,7 +113,9 @@
     guid = None
     regexs = {"VC8": {"guid":'^.*?ProjectGUID=\"{(.*)}\"',"name":'^.*?Name=\"(.*)\"'}, 
               "VC9": {"guid":'^.*?ProjectGUID=\"{(.*)}\"',"name":'^.*?Name=\"(.*)\"'}, 
-              "VC10": {"guid":'^.*?<ProjectGuid>{(.*)}</ProjectGuid>',"name":'^.*<ProjectName>(.*)</ProjectName>'}
+              "VC10": {"guid":'^.*?<ProjectGuid>{(.*)}</ProjectGuid>',"name":'^.*<ProjectName>(.*)</ProjectName>'},
+              "VC11": {"guid":'^.*?<ProjectGuid>{(.*)}</ProjectGuid>',"name":'^.*<ProjectName>(.*)</ProjectName>'},
+              "VC12": {"guid":'^.*?<ProjectGuid>{(.*)}</ProjectGuid>',"name":'^.*<ProjectName>(.*)</ProjectName>'},
              }
     re_guid = re.compile(regexs[vcversion]["guid"])
     re_name = re.compile(regexs[vcversion]["name"])

Modified: trunk/OpenRTM-aist/build/vcxprojtool.py
===================================================================
--- trunk/OpenRTM-aist/build/vcxprojtool.py	2014-03-14 16:49:21 UTC (rev 2534)
+++ trunk/OpenRTM-aist/build/vcxprojtool.py	2014-03-14 16:50:28 UTC (rev 2535)
@@ -24,10 +24,18 @@
       <Configuration>Debug</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
     <ProjectConfiguration Include="Release|Win32">
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectName>[RootNamespace]</ProjectName>
@@ -265,6 +273,18 @@
     VC10_InheritedPropertySheets: # Set vsprops file if you need
 """
 
+def get_after_config(text):
+  import re
+  ret = ""
+  flag = False
+  for l in text.splitlines():
+    m = re.match("^Configurations:", l)
+    if m:
+      flag = True
+      continue
+    if flag:
+      ret += l.replace("Win32", "x64") + "\n"
+  return ret
 
 #------------------------------------------------------------
 # Yaml template
@@ -410,6 +430,7 @@
 #    VCWebDeploymentTool:
 #    VC10_VCPostBuildEventTool:
 """
+exe_yaml = exe_yaml + get_after_config(exe_yaml)
 
 dll_yaml = """ProjectType: "Visual C++"
 Version: "__VCVERSION__"
@@ -556,6 +577,8 @@
           copy "$(OutDir)\\\\$(TargetName).lib" "$(SolutionDir)bin\\\\"
           copy "$(OutDir)\\\\$(TargetName).dll" "$(SolutionDir)bin\\\\"
 """
+dll_yaml = dll_yaml + get_after_config(dll_yaml)
+
 #------------------------------------------------------------
 lib_yaml = """ProjectType: "Visual C++"
 Version: "__VCVERSION__"
@@ -663,8 +686,8 @@
         Value: |
           copy "$(OutDir)\\\\libRTCSkel.lib" "$(SolutionDir)\\\\bin"
 """
+lib_yaml = lib_yaml + get_after_config(lib_yaml)
 
-
 rtcexe_yaml="""ProjectType: "Visual C++"
 Version: "__VCVERSION__"
 Name: __PROJECT_NAME__
@@ -780,6 +803,7 @@
       - Key: TargetMachine
         Value: "MachineX86"
 """
+rtcexe_yaml = rtcexe_yaml + get_after_config(rtcexe_yaml)
 
 rtcdll_yaml="""ProjectType: "Visual C++"
 Version: "__VCVERSION__"
@@ -919,6 +943,7 @@
   vcprojtool.py yaml --type [exe|dll|nmake|lib] --output
   vcprojtool.py flist --out --source|--header|--resource *
 """
+rtcdll_yaml = rtcdll_yaml + get_after_config(rtcdll_yaml)
 
 import sys
 



More information about the openrtm-commit mailing list