From bdac17c7481fffaa3f0713c5fde9010160376338 Mon Sep 17 00:00:00 2001
From: auria <auria@178a84e3-b1eb-0310-8ba1-8eac791a3b58>
Date: Mon, 12 Mar 2012 00:48:52 +0000
Subject: [PATCH] CMake can now also generate cygwin makefiles

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10962 178a84e3-b1eb-0310-8ba1-8eac791a3b58
---
 CMakeLists.txt           | 20 +++++++++++++++-----
 cmake/FindIrrlicht.cmake | 10 ++++++++--
 2 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4c7abf384..929509f56 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,7 +45,7 @@ find_package(OpenGL REQUIRED)
 include_directories(${OPENGL_INCLUDE_DIR})
 
 # OpenAL
-if(WIN32)
+if(MSVC)
   find_library(OPENAL_LIBRARY OpenAL32 REQUIRED PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
 else()
   find_package(OpenAL REQUIRED)
@@ -56,8 +56,11 @@ include_directories(${OPENAL_INCLUDE_DIR})
 find_package(OggVorbis REQUIRED)
 include_directories(${OGGVORBIS_INCLUDE_DIRS})
 
+
 # CURL
-if(WIN32)
+if(CYGWIN)
+  find_package(CURL REQUIRED)
+elseif(WIN32)
   find_library(CURL_LIBRARIES curl libcurl_imp REQUIRED PATHS ${PROJECT_SOURCE_DIR}/dependencies/lib)
 else()
   find_package(CURL REQUIRED)
@@ -136,7 +139,9 @@ else()
 
     # Build the final executable
     add_executable(supertuxkart ${STK_SOURCES})
-    if(UNIX)
+	if(CYGWIN)
+	    target_link_libraries(supertuxkart pthread)
+    elseif(UNIX)
         target_link_libraries(supertuxkart pthread Xxf86vm)
     endif()
 endif()
@@ -164,8 +169,13 @@ if(USE_WIIUSE)
 endif()
 
 if(WIN32)
-    find_library(PTHREAD_LIBRARY NAMES pthreadVC2 PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
-	target_link_libraries(supertuxkart ${PTHREAD_LIBRARY})
+    if(CYGWIN)
+		find_library(PTHREAD_LIBRARY NAMES pthread PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
+		target_link_libraries(supertuxkart ${PTHREAD_LIBRARY})
+	else()
+		find_library(PTHREAD_LIBRARY NAMES pthreadVC2 PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
+		target_link_libraries(supertuxkart ${PTHREAD_LIBRARY})
+	endif()
 endif()
 
 # Optional tools
diff --git a/cmake/FindIrrlicht.cmake b/cmake/FindIrrlicht.cmake
index 4892a63b8..5edd8edb7 100644
--- a/cmake/FindIrrlicht.cmake
+++ b/cmake/FindIrrlicht.cmake
@@ -16,12 +16,16 @@ set(IRRLICHT_DIR "" CACHE PATH "Path to Irrlicht")
 # Set library directories depending on system
 if(APPLE)
 	set(IRRLICHT_LIBRARY_DIR "/Library/Frameworks/IrrFramework.framework")
+elseif(CYGWIN)
+    # CYGWIN must be checked before "Unix" since Cygwin is a Unix
+	set(IRRLICHT_LIBRARY_DIR "${PROJECT_SOURCE_DIR}/dependencies/lib")
 elseif(UNIX)
 	set(IRRLICHT_LIBRARY_DIR "${IRRLICHT_DIR}/lib/Linux")
 elseif(MSVC)
 	set(IRRLICHT_LIBRARY_DIR "${PROJECT_SOURCE_DIR}/dependencies/lib")
 else()
-	set(IRRLICHT_LIBRARY_DIR "${IRRLICHT_DIR}/lib/Win32-gcc")
+    # mingw / cygwin
+	set(IRRLICHT_LIBRARY_DIR "${PROJECT_SOURCE_DIR}/dependencies/lib")
 endif()
 
 # Find include directory and library
@@ -32,7 +36,9 @@ find_path(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
 if(APPLE)
     find_library(IRRLICHT_LIBRARY NAMES IrrFramework PATHS ${IRRLICHT_LIBRARY_DIR})
 else()
-    find_library(IRRLICHT_LIBRARY NAMES Irrlicht PATHS ${IRRLICHT_LIBRARY_DIR} ${PROJECT_SOURCE_DIR})
+    message("IRRLICHT_LIBRARY_DIR = ${IRRLICHT_LIBRARY_DIR}")
+    find_library(IRRLICHT_LIBRARY REQUIRED NAMES Irrlicht libIrrlicht PATHS ${IRRLICHT_LIBRARY_DIR} ${PROJECT_SOURCE_DIR})
+	message("IRRLICHT_LIBRARY = ${IRRLICHT_LIBRARY}")
 endif()
 
 # Determine Irrlicht version