Browse Source

Fixed the Lua compilation error in GCC build by making sure the right Precompiled.h include file is found by adjusting the GCC include search path.

Wei Tjong Yao 12 years ago
parent
commit
81af6af406

+ 12 - 3
Source/CMake/Modules/Urho3D-CMake-magic.cmake

@@ -268,15 +268,24 @@ endfunction ()
 # Macro for precompiled headers
 macro (enable_pch)
     if (MSVC)
-        foreach(FILE ${SOURCE_FILES})
-            if (${FILE} MATCHES "[A-Za-z0-9 _/]*[.]cpp")
-                if (${FILE} MATCHES "Precompiled.cpp$")
+        foreach (FILE ${SOURCE_FILES})
+            if (${FILE} MATCHES \\.cpp$)
+                if (${FILE} MATCHES Precompiled\\.cpp$)
                     set_source_files_properties(${FILE} PROPERTIES COMPILE_FLAGS "/YcPrecompiled.h")
                 else ()
                     set_source_files_properties(${FILE} PROPERTIES COMPILE_FLAGS "/YuPrecompiled.h")
                 endif ()
             endif ()
         endforeach ()
+    else ()
+        # TODO: to enable usage of precompiled header in GCC, for now just make sure the correct Precompiled.h is found in the search
+        foreach (FILE ${SOURCE_FILES})
+            if (${FILE} MATCHES Precompiled\\.h$)
+                get_filename_component (PATH ${FILE} PATH)
+                include_directories (${PATH})
+                break ()
+            endif ()
+        endforeach ()
     endif ()
 endmacro ()
 

+ 1 - 1
Source/Extras/LuaScript/CMakeLists.txt

@@ -33,7 +33,7 @@ file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated)
 file (GLOB API_PKG_FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgs/*.pkg)
 foreach (API_PKG_FILE ${API_PKG_FILES})
     get_filename_component (NAME ${API_PKG_FILE} NAME)
-    string (REGEX REPLACE LuaAPI.pkg$ "" API ${NAME})
+    string (REGEX REPLACE LuaAPI\\.pkg$ "" API ${NAME})
     set (GEN_CPP_FILE generated/${API}LuaAPI.cpp)
     set (GEN_CPP_FILES ${GEN_CPP_FILES} ${GEN_CPP_FILE})
     file (GLOB PKG_FILES ${CMAKE_CURRENT_SOURCE_DIR}/pkgs/${API}/*.pkg)