Kaynağa Gözat

Merge pull request #121 from mcclure/add_dependencies

Fix first-time build following removal of Lua build products from scm
Ivan Safrin 13 yıl önce
ebeveyn
işleme
fa5cbc7783

+ 7 - 3
Bindings/Contents/LUA/CMakeLists.txt

@@ -8,12 +8,12 @@ INCLUDE_DIRECTORIES(
 )
 )
 
 
 SET(polycodeLua_SRCS
 SET(polycodeLua_SRCS
-    Source/PolycodeLUA.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/Source/PolycodeLUA.cpp
 )
 )
 
 
 SET(polycodeLua_HDRS
 SET(polycodeLua_HDRS
-    Include/PolycodeLUAWrappers.h
-    Include/PolycodeLUA.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/Include/PolycodeLUAWrappers.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/Include/PolycodeLUA.h
 )
 )
 
 
 SET(CMAKE_DEBUG_POSTFIX "_d")
 SET(CMAKE_DEBUG_POSTFIX "_d")
@@ -25,6 +25,10 @@ SET(CMAKE_DEBUG_POSTFIX "_d")
 
 
 #IF(POLYCODE_BUILD_STATIC)
 #IF(POLYCODE_BUILD_STATIC)
 ADD_LIBRARY(PolycodeLua ${polycodeLua_SRCS} ${polycodeLua_HDRS})
 ADD_LIBRARY(PolycodeLua ${polycodeLua_SRCS} ${polycodeLua_HDRS})
+
+SET_SOURCE_FILES_PROPERTIES(Source/PolycodeLUA.cpp PROPERTIES GENERATED 1) 
+SET_SOURCE_FILES_PROPERTIES(Include/PolycodeLUAWrappers.h PROPERTIES GENERATED 1)
+SET_SOURCE_FILES_PROPERTIES(Include/PolycodeLUA.h PROPERTIES GENERATED 1) 
 ADD_DEPENDENCIES(PolycodeLua PolycodeLuaGenerate)
 ADD_DEPENDENCIES(PolycodeLua PolycodeLuaGenerate)
 #ENDIF(POLYCODE_BUILD_STATIC)
 #ENDIF(POLYCODE_BUILD_STATIC)
 
 

BIN
Bindings/Scripts/create_lua_library/.create_lua_library.py.swp


+ 16 - 2
Bindings/Scripts/create_lua_library/create_lua_library.py

@@ -1,9 +1,18 @@
 import sys
 import sys
 import CppHeaderParser
 import CppHeaderParser
 import os
 import os
+import errno
 import re
 import re
-
-def createLUABindings(inputPath, prefix, mainInclude, libSmallName, libName, apiPath, apiClassPath, includePath, sourcePath):	
+  
+def mkdir_p(path): # Same effect as mkdir -p, create dir and all necessary parent dirs
+	try:
+		os.makedirs(path)
+	except OSError as e:
+		if e.errno == errno.EEXIST: # Dir already exists; not really an error
+			pass
+		else: raise
+
+def createLUABindings(inputPath, prefix, mainInclude, libSmallName, libName, apiPath, apiClassPath, includePath, sourcePath):
 	out = ""
 	out = ""
 	sout = ""
 	sout = ""
 	
 	
@@ -447,6 +456,7 @@ def createLUABindings(inputPath, prefix, mainInclude, libSmallName, libName, api
 					#lout += "\tself:handleEvent(event)\n"
 					#lout += "\tself:handleEvent(event)\n"
 					lout += "end\n"
 					lout += "end\n"
 				lfout += "require \"%s/%s\"\n" % (prefix, ckey)
 				lfout += "require \"%s/%s\"\n" % (prefix, ckey)
+				mkdir_p(apiClassPath)
 				fout = open("%s/%s.lua" % (apiClassPath, ckey), "w")
 				fout = open("%s/%s.lua" % (apiClassPath, ckey), "w")
 				fout.write(lout)
 				fout.write(lout)
 		except CppHeaderParser.CppParseError,  e:
 		except CppHeaderParser.CppParseError,  e:
@@ -473,6 +483,10 @@ def createLUABindings(inputPath, prefix, mainInclude, libSmallName, libName, api
 	shout += "int _PolyExport luaopen_%s(lua_State *L);\n" % (prefix)
 	shout += "int _PolyExport luaopen_%s(lua_State *L);\n" % (prefix)
 	shout += "}\n"
 	shout += "}\n"
 	
 	
+	mkdir_p(includePath)
+	mkdir_p(apiPath)
+	mkdir_p(sourcePath)
+
 	fout = open("%s/%sLUA.h" % (includePath, prefix), "w")
 	fout = open("%s/%sLUA.h" % (includePath, prefix), "w")
 	fout.write(shout)
 	fout.write(shout)
 
 

+ 10 - 4
Modules/Bindings/2DPhysics/CMakeLists.txt

@@ -11,20 +11,26 @@ INCLUDE_DIRECTORIES(
 )
 )
 
 
 SET(polycode2DPhysics_SRCS
 SET(polycode2DPhysics_SRCS
-    Source/Physics2DLUA.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/Source/Physics2DLUA.cpp
     ../../Contents/2DPhysics/Source/PolyPhysicsScreen.cpp
     ../../Contents/2DPhysics/Source/PolyPhysicsScreen.cpp
     ../../Contents/2DPhysics/Source/PolyPhysicsScreenEntity.cpp
     ../../Contents/2DPhysics/Source/PolyPhysicsScreenEntity.cpp
 )
 )
 
 
 SET(polycode2DPhysics_HDRS
 SET(polycode2DPhysics_HDRS
-    Include/Physics2DLUA.h
-    Include/Physics2DLUAWrappers.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/Include/Physics2DLUA.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/Include/Physics2DLUAWrappers.h
     ../../Contents/2DPhysics/Include/Polycode2DPhysics.h
     ../../Contents/2DPhysics/Include/Polycode2DPhysics.h
     ../../Contents/2DPhysics/Include/PolyPhysicsScreenEntity.h
     ../../Contents/2DPhysics/Include/PolyPhysicsScreenEntity.h
-   ../../Contents/2DPhysics/Include/PolyPhysicsScreen.h
+    ../../Contents/2DPhysics/Include/PolyPhysicsScreen.h
 )
 )
 
 
 ADD_LIBRARY(Physics2D SHARED ${polycode2DPhysics_SRCS} ${polycode2DPhysics_HDRS})
 ADD_LIBRARY(Physics2D SHARED ${polycode2DPhysics_SRCS} ${polycode2DPhysics_HDRS})
+
+SET_SOURCE_FILES_PROPERTIES(Source/Physics2DLUA.cpp PROPERTIES GENERATED 1)
+SET_SOURCE_FILES_PROPERTIES(Include/Physics2DLUAWrappers.h PROPERTIES GENERATED 1)
+SET_SOURCE_FILES_PROPERTIES(Include/Physics2DLUA.h PROPERTIES GENERATED 1)
+ADD_DEPENDENCIES(Physics2D PolycodeLuaGenerate)
+
 SET(CMAKE_DEBUG_POSTFIX "_d")
 SET(CMAKE_DEBUG_POSTFIX "_d")
 
 
 SET_TARGET_PROPERTIES(Physics2D PROPERTIES PREFIX "")
 SET_TARGET_PROPERTIES(Physics2D PROPERTIES PREFIX "")

+ 8 - 3
Modules/Bindings/3DPhysics/CMakeLists.txt

@@ -12,7 +12,7 @@ INCLUDE_DIRECTORIES(
 )
 )
 
 
 SET(polycode3DPhysics_SRCS
 SET(polycode3DPhysics_SRCS
-    Source/Physics3DLUA.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/Source/Physics3DLUA.cpp
     ../../Contents/3DPhysics/Source/PolyPhysicsSceneEntity.cpp
     ../../Contents/3DPhysics/Source/PolyPhysicsSceneEntity.cpp
     ../../Contents/3DPhysics/Source/PolyPhysicsScene.cpp
     ../../Contents/3DPhysics/Source/PolyPhysicsScene.cpp
     ../../Contents/3DPhysics/Source/PolyCollisionSceneEntity.cpp
     ../../Contents/3DPhysics/Source/PolyCollisionSceneEntity.cpp
@@ -20,8 +20,8 @@ SET(polycode3DPhysics_SRCS
 )
 )
 
 
 SET(polycode3DPhysics_HDRS
 SET(polycode3DPhysics_HDRS
-    Include/Physics3DLUA.h
-    Include/Physics3DLUAWrappers.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/Include/Physics3DLUA.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/Include/Physics3DLUAWrappers.h
     ../../Contents/3DPhysics/Include/PolyPhysicsSceneEntity.h
     ../../Contents/3DPhysics/Include/PolyPhysicsSceneEntity.h
     ../../Contents/3DPhysics/Include/Polycode3DPhysics.h
     ../../Contents/3DPhysics/Include/Polycode3DPhysics.h
     ../../Contents/3DPhysics/Include/PolyCollisionScene.h
     ../../Contents/3DPhysics/Include/PolyCollisionScene.h
@@ -31,6 +31,11 @@ SET(polycode3DPhysics_HDRS
 
 
 ADD_LIBRARY(Physics3D SHARED ${polycode3DPhysics_SRCS} ${polycode3DPhysics_HDRS})
 ADD_LIBRARY(Physics3D SHARED ${polycode3DPhysics_SRCS} ${polycode3DPhysics_HDRS})
 
 
+SET_SOURCE_FILES_PROPERTIES(Source/Physics3DLUA.cpp PROPERTIES GENERATED 1)
+SET_SOURCE_FILES_PROPERTIES(Include/Physics3DLUAWrappers.h PROPERTIES GENERATED 1)
+SET_SOURCE_FILES_PROPERTIES(Include/Physics3DLUA.h PROPERTIES GENERATED 1)
+ADD_DEPENDENCIES(Physics2D PolycodeLuaGenerate)
+
 SET(CMAKE_DEBUG_POSTFIX "_d")
 SET(CMAKE_DEBUG_POSTFIX "_d")
 
 
 SET_TARGET_PROPERTIES(Physics3D PROPERTIES PREFIX "")
 SET_TARGET_PROPERTIES(Physics3D PROPERTIES PREFIX "")