Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt15
-rw-r--r--build_files/cmake/Modules/FindSpacenav.cmake70
-rw-r--r--build_files/cmake/macros.cmake5
-rw-r--r--intern/ghost/CMakeLists.txt3
4 files changed, 84 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fe86aaf9b26..d95cbb6e536 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -454,11 +454,15 @@ if(UNIX AND NOT APPLE)
endif()
if (WITH_INPUT_NDOF)
- if(CMAKE_SYSTEM_NAME MATCHES "Linux")
- set(NDOF /usr)
- set(NDOF_INC ${NDOF}/include)
- set(NDOF_LIBRARY spnav)
- set(NDOF_LIBPATH ${NDOF}/lib)
+ find_package(Spacenav)
+ if(NOT SPACENAV_FOUND)
+ set(WITH_INPUT_NDOF OFF)
+ endif()
+
+ # use generic names within blenders buildsystem.
+ if(SPACENAV_FOUND)
+ set(NDOF_INCLUDE_DIRS ${SPACENAV_INCLUDE_DIRS})
+ set(NDOF_LIBRARIES ${SPACENAV_LIBRARIES})
endif()
endif()
@@ -1334,6 +1338,7 @@ if(FIRST_RUN)
info_cfg_option(WITH_OPENCOLLADA)
info_cfg_option(WITH_FFTW3)
info_cfg_option(WITH_INTERNATIONAL)
+ info_cfg_option(WITH_INPUT_NDOF)
info_cfg_text("Compiler Options:")
info_cfg_option(WITH_BUILDINFO)
diff --git a/build_files/cmake/Modules/FindSpacenav.cmake b/build_files/cmake/Modules/FindSpacenav.cmake
new file mode 100644
index 00000000000..206f3611ed6
--- /dev/null
+++ b/build_files/cmake/Modules/FindSpacenav.cmake
@@ -0,0 +1,70 @@
+# - Find Spacenav library
+# Find the native Spacenav includes and library
+# This module defines
+# SPACENAV_INCLUDE_DIRS, where to find spnav.h, Set when
+# SPACENAV_INCLUDE_DIR is found.
+# SPACENAV_LIBRARIES, libraries to link against to use Spacenav.
+# SPACENAV_ROOT_DIR, The base directory to search for Spacenav.
+# This can also be an environment variable.
+# SPACENAV_FOUND, If false, do not try to use Spacenav.
+#
+# also defined, but not for general use are
+# SPACENAV_LIBRARY, where to find the Spacenav library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If SPACENAV_ROOT_DIR was defined in the environment, use it.
+IF(NOT SPACENAV_ROOT_DIR AND NOT $ENV{SPACENAV_ROOT_DIR} STREQUAL "")
+ SET(SPACENAV_ROOT_DIR $ENV{SPACENAV_ROOT_DIR})
+ENDIF()
+
+SET(_spacenav_SEARCH_DIRS
+ ${SPACENAV_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(SPACENAV_INCLUDE_DIR
+ NAMES
+ spnav.h
+ HINTS
+ ${_spacenav_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+FIND_LIBRARY(SPACENAV_LIBRARY
+ NAMES
+ spnav
+ HINTS
+ ${_spacenav_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set SPACENAV_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Spacenav DEFAULT_MSG
+ SPACENAV_LIBRARY SPACENAV_INCLUDE_DIR)
+
+IF(SPACENAV_FOUND)
+ SET(SPACENAV_LIBRARIES ${SPACENAV_LIBRARY})
+ SET(SPACENAV_INCLUDE_DIRS ${SPACENAV_INCLUDE_DIR})
+ENDIF(SPACENAV_FOUND)
+
+MARK_AS_ADVANCED(
+ SPACENAV_INCLUDE_DIR
+ SPACENAV_LIBRARY
+)
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index c53f52b7bae..ed200abd419 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -193,9 +193,6 @@ macro(SETUP_LIBDIRS)
if(WITH_MEM_JEMALLOC)
link_directories(${JEMALLOC_LIBPATH})
endif()
- if(WITH_INPUT_NDOF)
- link_directories(${NDOF_LIBPATH})
- endif()
if(WIN32 AND NOT UNIX)
link_directories(${PTHREADS_LIBPATH})
@@ -318,7 +315,7 @@ macro(setup_liblinks
target_link_libraries(${target} ${JEMALLOC_LIBRARIES})
endif()
if(WITH_INPUT_NDOF)
- target_link_libraries(${target} ${NDOF_LIBRARY})
+ target_link_libraries(${target} ${NDOF_LIBRARIES})
endif()
if(WIN32 AND NOT UNIX)
diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt
index 86829c892ed..2180ddbe567 100644
--- a/intern/ghost/CMakeLists.txt
+++ b/intern/ghost/CMakeLists.txt
@@ -99,6 +99,9 @@ endif()
if(WITH_INPUT_NDOF)
add_definitions(-DWITH_INPUT_NDOF)
+ list(APPEND INC_SYS
+ ${NDOF_INCLUDE_DIRS}
+ )
endif()
if(WITH_HEADLESS OR WITH_GHOST_SDL)