From 810df68f9c1b382bce8abb4af1066e88adbe6b28 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 21 Jun 2016 10:08:57 +0200 Subject: [PATCH] Unbundle ENet Signed-off-by: Igor Gnatenko --- CMakeLists.txt | 6 +++--- cmake/FindENet.cmake | 48 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 cmake/FindENet.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 9142b7669..f8301463a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,8 +108,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}) # Find system GLEW library or build it if missing if(NOT USE_GLES2 AND NOT SERVER_ONLY) @@ -434,7 +434,7 @@ target_link_libraries(supertuxkart bulletdynamics bulletcollision bulletmath - enet + ${ENet_LIBRARIES} stkirrlicht ${Angelscript_LIBRARIES} ${CURL_LIBRARIES} diff --git a/cmake/FindENet.cmake b/cmake/FindENet.cmake new file mode 100644 index 000000000..91c252713 --- /dev/null +++ b/cmake/FindENet.cmake @@ -0,0 +1,48 @@ +# - 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)