Browse Source

Fix FindUrho3D CMake module to perform rooted search on MinGW CC build.

Yao Wei Tjong 姚伟忠 11 years ago
parent
commit
0652ccf394

+ 1 - 0
Rakefile

@@ -248,6 +248,7 @@ endif ()
 set (CMAKE_MODULE_PATH
 set (CMAKE_MODULE_PATH
     \\$ENV{URHO3D_HOME}/Source/CMake/Modules
     \\$ENV{URHO3D_HOME}/Source/CMake/Modules
     \\$ENV{CMAKE_PREFIX_PATH}/share/Urho3D/CMake/Modules
     \\$ENV{CMAKE_PREFIX_PATH}/share/Urho3D/CMake/Modules
+    \\${CMAKE_INSTALL_PREFIX}/share/Urho3D/CMake/Modules
     CACHE PATH \"Path to Urho3D-specific CMake modules\")
     CACHE PATH \"Path to Urho3D-specific CMake modules\")
 
 
 # Include Urho3D CMake common module
 # Include Urho3D CMake common module

+ 2 - 2
Source/CMake/Modules/FindUrho3D.cmake

@@ -110,7 +110,7 @@ else ()
     # Note that the prefix path should not contain the "/include" or "/lib"
     # Note that the prefix path should not contain the "/include" or "/lib"
     # For example on Windows platform: CMAKE_PREFIX_PATH=C:/Users/john/Urho3D if the SDK is installed using CMAKE_INSTALL_PREFIX=C:/Users/john/Urho3D
     # For example on Windows platform: CMAKE_PREFIX_PATH=C:/Users/john/Urho3D if the SDK is installed using CMAKE_INSTALL_PREFIX=C:/Users/john/Urho3D
     # For example on Linux platform: CMAKE_PREFIX_PATH=/home/john/usr/local if the SDK is installed using DESTDIR=/home/john and CMAKE_INSTALL_PREFIX=/usr/local
     # For example on Linux platform: CMAKE_PREFIX_PATH=/home/john/usr/local if the SDK is installed using DESTDIR=/home/john and CMAKE_INSTALL_PREFIX=/usr/local
-    if (WIN32)
+    if (CMAKE_HOST_WIN32)
         set (URHO3D_INC_SEARCH_PATH include)
         set (URHO3D_INC_SEARCH_PATH include)
         set (URHO3D_LIB_SEARCH_PATH lib)
         set (URHO3D_LIB_SEARCH_PATH lib)
     else ()
     else ()
@@ -123,7 +123,7 @@ else ()
     find_path (URHO3D_INCLUDE_DIRS Urho3D.h PATHS ${URHO3D_INC_SEARCH_PATH} PATH_SUFFIXES ${PATH_SUFFIX})
     find_path (URHO3D_INCLUDE_DIRS Urho3D.h PATHS ${URHO3D_INC_SEARCH_PATH} PATH_SUFFIXES ${PATH_SUFFIX})
     find_library (URHO3D_LIBRARIES NAMES ${URHO3D_LIB_NAMES} PATHS ${URHO3D_LIB_SEARCH_PATH} PATH_SUFFIXES ${PATH_SUFFIX})
     find_library (URHO3D_LIBRARIES NAMES ${URHO3D_LIB_NAMES} PATHS ${URHO3D_LIB_SEARCH_PATH} PATH_SUFFIXES ${PATH_SUFFIX})
     if (WIN32)
     if (WIN32)
-        find_library (URHO3D_LIBRARIES_DBG NAMES ${URHO3D_LIB_NAMES_DBG} PATHS ${URHO3D_LIB_SEARCH_PATH} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+        find_library (URHO3D_LIBRARIES_DBG NAMES ${URHO3D_LIB_NAMES_DBG} PATHS ${URHO3D_LIB_SEARCH_PATH} PATH_SUFFIXES ${PATH_SUFFIX})
     endif ()
     endif ()
 
 
     if (URHO3D_INCLUDE_DIRS)
     if (URHO3D_INCLUDE_DIRS)

+ 1 - 1
Source/CMake/Toolchains/mingw.toolchain.cmake

@@ -42,7 +42,7 @@ set (CMAKE_RC_COMPILER ${MINGW_PREFIX}-windres CACHE PATH "RC compiler")
 file (TO_CMAKE_PATH "$ENV{MINGW_ROOT}" MINGW_ROOT)
 file (TO_CMAKE_PATH "$ENV{MINGW_ROOT}" MINGW_ROOT)
 if (NOT MINGW_ROOT)
 if (NOT MINGW_ROOT)
     get_filename_component (MINGW_PREFIX ${MINGW_PREFIX} NAME)
     get_filename_component (MINGW_PREFIX ${MINGW_PREFIX} NAME)
-    set (MINGW_ROOT /usr/${MINGW_PREFIX}/sys-root/mingw)
+    set (MINGW_ROOT /usr/${MINGW_PREFIX}/sys-root)
 endif ()
 endif ()
 set (MINGW_SYSROOT ${MINGW_ROOT} CACHE PATH "Path to MinGW SYSROOT")
 set (MINGW_SYSROOT ${MINGW_ROOT} CACHE PATH "Path to MinGW SYSROOT")
 set (CMAKE_FIND_ROOT_PATH ${MINGW_SYSROOT})
 set (CMAKE_FIND_ROOT_PATH ${MINGW_SYSROOT})

+ 2 - 2
Source/CMakeLists.txt

@@ -51,8 +51,8 @@ if (HAVE_STDINT_H)
 endif ()
 endif ()
 
 
 # Setup SDK install destinations
 # Setup SDK install destinations
-if (WIN32)
-    # CMake already automatically prepends "Urho3D" to CMAKE_INSTALL_PREFIX on Windows platform
+if (CMAKE_HOST_WIN32)
+    # CMake already automatically appends "Urho3D" to CMAKE_INSTALL_PREFIX on Windows platform
     set (SCRIPT_PATTERN *.bat)
     set (SCRIPT_PATTERN *.bat)
 else ()
 else ()
     set (PATH_SUFFIX /Urho3D)
     set (PATH_SUFFIX /Urho3D)

+ 3 - 2
cmake_gcc.sh

@@ -28,9 +28,10 @@ SOURCE=`pwd`/Source
 # Define helpers
 # Define helpers
 . ./.bash_helpers.sh
 . ./.bash_helpers.sh
 
 
-# Detect CMake toolchains directory
-TOOLCHAINS=$SOURCE/CMake/Toolchains
+# Detect CMake toolchains directory if it is not provided explicitly
+[ "$TOOLCHAINS" == "" -a -d $SOURCE/CMake/Toolchains ] && TOOLCHAINS=$SOURCE/CMake/Toolchains
 [ ! -d $TOOLCHAINS -a -d $URHO3D_HOME/Source/CMake/Toolchains ] && TOOLCHAINS=$URHO3D_HOME/Source/CMake/Toolchains
 [ ! -d $TOOLCHAINS -a -d $URHO3D_HOME/Source/CMake/Toolchains ] && TOOLCHAINS=$URHO3D_HOME/Source/CMake/Toolchains
+[ ! -d $TOOLCHAINS -a -d $CMAKE_PREFIX_PATH/share/Urho3D/CMake/Toolchains ] && TOOLCHAINS=$CMAKE_PREFIX_PATH/share/Urho3D/CMake/Toolchains
 
 
 # Add support for Eclipse IDE
 # Add support for Eclipse IDE
 IFS=#
 IFS=#