瀏覽代碼

add COREAPI_VERSION

David Rose 15 年之前
父節點
當前提交
e2ba56c3ed
共有 2 個文件被更改,包括 20 次插入0 次删除
  1. 7 0
      makepanda/makepanda.py
  2. 13 0
      makepanda/makepandacore.py

+ 7 - 0
makepanda/makepanda.py

@@ -46,6 +46,7 @@ RUNTIME=0
 DISTRIBUTOR=""
 VERSION=None
 MAJOR_VERSION=None
+COREAPI_VERSION=None
 OSXTARGET=None
 
 if "MACOSX_DEPLOYMENT_TARGET" in os.environ:
@@ -213,9 +214,13 @@ if (sys.platform == "darwin" and OSXTARGET != None):
 if (VERSION == None):
     if (RUNTIME):
         VERSION = ParsePluginVersion("dtool/PandaVersion.pp")
+        COREAPI_VERSION = VERSION + "." + ParseCoreapiVersion("dtool/PandaVersion.pp")
     else:
         VERSION = ParsePandaVersion("dtool/PandaVersion.pp")
 
+if (COREAPI_VERSION == None):
+    COREAPI_VERSION = VERSION
+
 MAJOR_VERSION = VERSION[:3]
 
 if (RUNTIME or RTDIST):
@@ -1563,6 +1568,7 @@ PANDAVERSION_H_RUNTIME="""
 #define P3D_PLUGIN_MINOR_VERSION $VERSION2
 #define P3D_PLUGIN_SEQUENCE_VERSION $VERSION3
 #define P3D_PLUGIN_VERSION_STR "$VERSION1.$VERSION2.$VERSION3"
+#define P3D_COREAPI_VERSION_STR "$COREAPI_VERSION"
 #define PANDA_DISTRIBUTOR "$DISTRIBUTOR"
 #define PANDA_PACKAGE_VERSION_STR ""
 #define PANDA_PACKAGE_HOST_URL "https://runtime.panda3d.org/"
@@ -1664,6 +1670,7 @@ def CreatePandaVersionFiles():
     pandaversion_h = pandaversion_h.replace("$NVERSION",str(nversion))
     pandaversion_h = pandaversion_h.replace("$DISTRIBUTOR",DISTRIBUTOR)
     pandaversion_h = pandaversion_h.replace("$RTDIST_VERSION",RTDIST_VERSION)
+    pandaversion_h = pandaversion_h.replace("$COREAPI_VERSION",COREAPI_VERSION)
     if (DISTRIBUTOR == "cmu"):
         pandaversion_h += "\n#define PANDA_OFFICIAL_VERSION\n"
     else:

+ 13 - 0
makepanda/makepandacore.py

@@ -1725,6 +1725,19 @@ def ParsePluginVersion(fn):
     except: pass
     return "0.0.0"
 
+def ParseCoreapiVersion(fn):
+    try:
+        f = file(fn, "r")
+        pattern = re.compile('^[ \t]*[#][ \t]*define[ \t]+P3D_COREAPI_VERSION.*([0-9]+)[ \t]*$')
+        for line in f:
+            match = pattern.match(line,0)
+            if (match):
+                f.close()
+                return match.group(1)
+        f.close()
+    except: pass
+    return "0"
+
 ##########################################################################################
 #
 # Utility function to generate a resource file