From 3a85509696bcfd26e1f1a386579e4e278e192564 Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <ignatenko@redhat.com>
Date: Tue, 21 Jun 2016 10:08:57 +0200
Subject: [PATCH 2/4] Unbundle ENet
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
---
CMakeLists.txt | 6 +++---
cmake/FindENet.cmake | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 52 insertions(+), 3 deletions(-)
create mode 100644 cmake/FindENet.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 41e1662..4e5089e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -64,8 +64,8 @@ add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet")
include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
# Build the ENet UDP network library
-add_subdirectory("${PROJECT_SOURCE_DIR}/lib/enet")
-include_directories("${PROJECT_SOURCE_DIR}/lib/enet/include")
+find_package(ENet REQUIRED)
+include_directories(${ENet_INCLUDE_DIRS})
# Build glew library
add_definitions(-DGLEW_NO_GLU)
@@ -342,7 +342,7 @@ target_link_libraries(supertuxkart
bulletdynamics
bulletcollision
bulletmath
- enet
+ ${ENet_LIBRARIES}
glew
stkirrlicht
${Angelscript_LIBRARIES}
diff --git a/cmake/FindENet.cmake b/cmake/FindENet.cmake
new file mode 100644
index 0000000..b6c146c
--- /dev/null
+++ b/cmake/FindENet.cmake
@@ -0,0 +1,49 @@
+# - Try to find enet
+# Once done this will define
+#
+# ENET_FOUND - system has enet
+# ENet_INCLUDE_DIRS - the enet include directory
+# ENet_LIBRARIES - the libraries needed to use enet
+#
+# $ENETDIR is an environment variable used for finding enet.
+#
+# Borrowed from The Mana World
+# http://themanaworld.org/
+#
+# Several changes and additions by Fabian 'x3n' Landau
+# Lots of simplifications by Adrian Friedli
+# > www.orxonox.net <
+
+FIND_PATH(ENet_INCLUDE_DIRS enet/enet.h
+ PATHS
+ $ENV{ENETDIR}
+ /usr/local
+ /usr
+ PATH_SUFFIXES include
+ )
+
+FIND_LIBRARY(ENet_LIBRARY
+ NAMES enet
+ PATHS
+ $ENV{ENETDIR}
+ /usr/local
+ /usr
+ PATH_SUFFIXES lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set ENET_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ENet DEFAULT_MSG ENet_LIBRARY ENet_INCLUDE_DIRS)
+
+IF (ENET_FOUND)
+ IF(WIN32)
+ SET(WINDOWS_ENET_DEPENDENCIES "ws2_32;winmm")
+ SET(ENet_LIBRARIES ${ENet_LIBRARY} ${WINDOWS_ENET_DEPENDENCIES})
+ ELSE(WIN32)
+ SET(ENet_LIBRARIES ${ENet_LIBRARY})
+ ENDIF(WIN32)
+ENDIF (ENET_FOUND)
+
+MARK_AS_ADVANCED(ENet_LIBRARY ENet_LIBRARIES ENet_INCLUDE_DIRS)
+
--
2.7.4