Browse Source

Add support for ToCppHook.lua to accept extra parameter.
The extra param 'IS_BUILDING_URHO3D' should not be passed by external project.

Yao Wei Tjong 姚伟忠 10 years ago
parent
commit
2c798dd5bf
2 changed files with 5 additions and 2 deletions
  1. 1 1
      Source/Urho3D/CMakeLists.txt
  2. 4 1
      Source/Urho3D/LuaScript/pkgs/ToCppHook.lua

+ 1 - 1
Source/Urho3D/CMakeLists.txt

@@ -68,7 +68,7 @@ if (URHO3D_LUA)
         list (APPEND GEN_CPP_FILES ${GEN_CPP_FILE})
         file (GLOB PKG_FILES LuaScript/pkgs/${DIR}/*.pkg)
         add_custom_command (OUTPUT ${GEN_CPP_FILE}
-            COMMAND ${CMAKE_BINARY_DIR}/bin/tool/tolua++ -L ToCppHook.lua -o ${CMAKE_CURRENT_BINARY_DIR}/${GEN_CPP_FILE} ${NAME}
+            COMMAND ${CMAKE_BINARY_DIR}/bin/tool/tolua++ -E IS_BUILDING_URHO3D -L ToCppHook.lua -o ${CMAKE_CURRENT_BINARY_DIR}/${GEN_CPP_FILE} ${NAME}
             DEPENDS tolua++ ${API_PKG_FILE} ${PKG_FILES} LuaScript/pkgs/ToCppHook.lua
             WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/LuaScript/pkgs
             COMMENT "Generating tolua++ API binding on the fly for ${DIR}")

+ 4 - 1
Source/Urho3D/LuaScript/pkgs/ToCppHook.lua

@@ -90,12 +90,15 @@ function post_output_hook(package)
 //
 
 #include <toluapp/tolua++.h>
-#include "LuaScript/ToluaUtils.h"
+#include <Urho3D/LuaScript/ToluaUtils.h>
 
 #if __clang__
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wunused-function"
 #endif]])
+    if _extra_parameters["IS_BUILDING_URHO3D"] then
+        replace([[<Urho3D/LuaScript/ToluaUtils.h>]], [["LuaScript/ToluaUtils.h"]])
+    end
 
     WRITE(result)
     WRITE([[