Hopefully fixed some of the errors in cmake's finding of irrlicht
authorPerttu Ahola <celeron55@gmail.com>
Wed, 16 Feb 2011 07:43:04 +0000 (09:43 +0200)
committerPerttu Ahola <celeron55@gmail.com>
Wed, 16 Feb 2011 07:43:04 +0000 (09:43 +0200)
cmake/Modules/FindIrrlicht.cmake

index a5d0bdd0b6747e9c1efddb54d6d0a13c7c893318..f37d3f1de1d728fb82b7f61ec98eaf79ddad317f 100644 (file)
@@ -8,34 +8,59 @@ else( UNIX )
        # Windows
 endif( UNIX )
 
+set(IRRLICHT_INCLUDE_DIR "" CACHE PATH "")
+set(IRRLICHT_LIBRARY "" CACHE FILEPATH "")
+
 # Find include directory
 
 if(NOT IRRLICHT_SOURCE_DIR STREQUAL "")
        set(IRRLICHT_SOURCE_DIR_INCLUDE
                "${IRRLICHT_SOURCE_DIR}/include"
        )
-       set(IRRLICHT_SOURCE_DIR_LIBS
-               "${IRRLICHT_SOURCE_DIR}/lib/Win32-visualstudio"
-               "${IRRLICHT_SOURCE_DIR}/lib/Win32-gcc"
+
+       set(IRRLICHT_LIBRARY_NAMES libIrrlicht.a Irrlicht Irrlicht.lib)
+
+       if(WIN32)
+               if(MSVC)
+                       set(IRRLICHT_SOURCE_DIR_LIBS "${IRRLICHT_SOURCE_DIR}/lib/Win32-visualstudio")
+                       set(IRRLICHT_LIBRARY_NAMES Irrlicht.lib)
+               else()
+                       set(IRRLICHT_SOURCE_DIR_LIBS "${IRRLICHT_SOURCE_DIR}/lib/Win32-gcc")
+                       set(IRRLICHT_LIBRARY_NAMES libIrrlicht.a)
+               endif()
+       else()
+               set(IRRLICHT_SOURCE_DIR_LIBS "${IRRLICHT_SOURCE_DIR}/lib/Linux")
+               set(IRRLICHT_LIBRARY_NAMES libIrrlicht.a)
+       endif()
+
+       FIND_PATH(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
+               PATHS
+               ${IRRLICHT_SOURCE_DIR_INCLUDE}
+               NO_DEFAULT_PATH
+       )
+
+       FIND_LIBRARY(IRRLICHT_LIBRARY NAMES ${IRRLICHT_LIBRARY_NAMES}
+               PATHS
+               ${IRRLICHT_SOURCE_DIR_LIBS}
+               NO_DEFAULT_PATH
        )
-endif()
 
-FIND_PATH(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
-       PATHS
-       ${IRRLICHT_SOURCE_DIR_INCLUDE}
-       /usr/local/include/irrlicht
-       /usr/include/irrlicht
-)
+else()
 
-# Find library directory
+       FIND_PATH(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
+               PATHS
+               /usr/local/include/irrlicht
+               /usr/include/irrlicht
+       )
 
-FIND_LIBRARY(IRRLICHT_LIBRARY NAMES libIrrlicht.a Irrlicht
-       PATHS
-       ${IRRLICHT_SOURCE_DIR_LIBS}
-       /usr/local/lib
-       /usr/lib
-)
+       FIND_LIBRARY(IRRLICHT_LIBRARY NAMES libIrrlicht.a Irrlicht
+               PATHS
+               /usr/local/lib
+               /usr/lib
+       )
+endif()
 
+MESSAGE(STATUS "IRRLICHT_SOURCE_DIR = ${IRRLICHT_SOURCE_DIR}")
 MESSAGE(STATUS "IRRLICHT_INCLUDE_DIR = ${IRRLICHT_INCLUDE_DIR}")
 MESSAGE(STATUS "IRRLICHT_LIBRARY = ${IRRLICHT_LIBRARY}")