From f67c7bee8b308c2e8427154cee2ab9290befca7d Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 May 2014 16:44:37 +0400 Subject: [PATCH 5/6] unbundle wiiuse Signed-off-by: Igor Gnatenko --- CMakeLists.txt | 7 ++-- cmake/FindWiiUse.cmake | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 4 deletions(-) create mode 100644 cmake/FindWiiUse.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 861b76c..a28498c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,10 +57,9 @@ include_directories(${IRRLICHT_INCLUDE_DIR}) # (at least on VS) irrlicht will find wiiuse io.h file because # of the added include directory. if(USE_WIIUSE) - if(WIIUSE_BUILD) - add_subdirectory("${PROJECT_SOURCE_DIR}/lib/wiiuse") - endif() include_directories("${PROJECT_SOURCE_DIR}/lib/wiiuse") + find_package(WiiUse REQUIRED) + include_directories(${WIIUSE_INCLUDE_DIR}) endif() @@ -263,7 +262,7 @@ if(USE_WIIUSE) target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/dependencies/lib/wiiuse.lib) endif() else() - target_link_libraries(supertuxkart wiiuse bluetooth) + target_link_libraries(supertuxkart ${WIIUSE_LIBRARIES}) endif() add_definitions(-DENABLE_WIIUSE) diff --git a/cmake/FindWiiUse.cmake b/cmake/FindWiiUse.cmake new file mode 100644 index 0000000..2657cbb --- /dev/null +++ b/cmake/FindWiiUse.cmake @@ -0,0 +1,99 @@ +# - try to find WiiUse library +# +# Cache Variables: (probably not for direct use in your scripts) +# WIIUSE_INCLUDE_DIR +# WIIUSE_LIBRARY +# +# Non-cache variables you might use in your CMakeLists.txt: +# WIIUSE_FOUND +# WIIUSE_INCLUDE_DIRS +# WIIUSE_LIBRARIES +# WIIUSE_RUNTIME_LIBRARIES - aka the dll for installing +# WIIUSE_RUNTIME_LIBRARY_DIRS +# +# Requires these CMake modules: +# FindPackageHandleStandardArgs (known included with CMake >=2.6.2) +# +# Original Author: +# 2009-2010 Ryan Pavlik +# http://academic.cleardefinition.com +# Iowa State University HCI Graduate Program/VRAC +# +# Copyright Iowa State University 2009-2010. +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +set(WIIUSE_ROOT_DIR + "${WIIUSE_ROOT_DIR}" + CACHE + PATH + "Directory to search for WiiUse") + +if(CMAKE_SIZEOF_VOID_P MATCHES "8") + set(_LIBSUFFIXES /lib64 /lib) +else() + set(_LIBSUFFIXES /lib) +endif() + +find_library(WIIUSE_LIBRARY + NAMES + wiiuse + PATHS + "${WIIUSE_ROOT_DIR}" + PATH_SUFFIXES + "${_LIBSUFFIXES}") + +get_filename_component(_libdir "${WIIUSE_LIBRARY}" PATH) + +find_path(WIIUSE_INCLUDE_DIR + NAMES + wiiuse.h + HINTS + "${_libdir}" + "${_libdir}/.." + PATHS + "${WIIUSE_ROOT_DIR}" + PATH_SUFFIXES + include/) + +set(_deps_check) +if(WIN32) + find_file(WIIUSE_RUNTIME_LIBRARY + NAMES + wiiuse.dll + HINTS + "${_libdir}" + "${_libdir}/.." + PATH_SUFFIXES + bin) + + set(WIIUSE_RUNTIME_LIBRARIES "${WIIUSE_RUNTIME_LIBRARY}") + get_filename_component(WIIUSE_RUNTIME_LIBRARY_DIRS + "${WIIUSE_RUNTIME_LIBRARY}" + PATH) + list(APPEND _deps_check WIIUSE_RUNTIME_LIBRARY) +else() + set(WIIUSE_RUNTIME_LIBRARY "${WIIUSE_LIBRARY}") + set(WIIUSE_RUNTIME_LIBRARIES "${WIIUSE_RUNTIME_LIBRARY}") + get_filename_component(WIIUSE_RUNTIME_LIBRARY_DIRS + "${WIIUSE_LIBRARY}" + PATH) +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(WiiUse + DEFAULT_MSG + WIIUSE_LIBRARY + WIIUSE_INCLUDE_DIR + ${_deps_check}) + +if(WIIUSE_FOUND) + set(WIIUSE_LIBRARIES "${WIIUSE_LIBRARY}") + set(WIIUSE_INCLUDE_DIRS "${WIIUSE_INCLUDE_DIR}") + mark_as_advanced(WIIUSE_ROOT_DIR) +endif() + +mark_as_advanced(WIIUSE_INCLUDE_DIR + WIIUSE_LIBRARY + WIIUSE_RUNTIME_LIBRARY) -- 1.9.3