Browse Source

CMake: Configure: Support VRPN.

kestred 12 years ago
parent
commit
90e4926b94
3 changed files with 53 additions and 11 deletions
  1. 3 0
      cmake/modules/FindCg.cmake
  2. 47 0
      cmake/modules/FindVRPN.cmake
  3. 3 11
      dtool/Configure.cmake

+ 3 - 0
cmake/modules/FindCg.cmake

@@ -78,16 +78,19 @@ endmacro()
 
 
 # Find Cg for DirectX 8
 # Find Cg for DirectX 8
 macro(find_cgdx8)
 macro(find_cgdx8)
+	# TODO: Implement
 endmacro()
 endmacro()
 
 
 
 
 # Find Cg for DirectX 9
 # Find Cg for DirectX 9
 macro(find_cgdx9)
 macro(find_cgdx9)
+	# TODO: Implement
 endmacro()
 endmacro()
 
 
 
 
 # Find Cg for DirectX 10
 # Find Cg for DirectX 10
 macro(find_cgdx10)
 macro(find_cgdx10)
+	# TODO: Implement
 endmacro()
 endmacro()
 
 
 
 

+ 47 - 0
cmake/modules/FindVRPN.cmake

@@ -0,0 +1,47 @@
+# Filename: FindTar.cmake
+# Author: kestred (29 Nov, 2013)
+#
+# Usage:
+#   find_package(Tar [REQUIRED] [QUIET])
+#
+# It sets the following variables:
+#   FOUND_VRPN  - system has libvrpn
+#   VRPN_IPATH - the vrpn include directory
+#   VRPN_LPATH - the vrpn library directory
+#
+
+if(VRPN_IPATH AND VRPN_LPATH)
+	set(FOUND_VRPN TRUE)
+else()
+	# Find the vrpn include files
+	find_path(VRPN_IPATH
+		NAMES "vrpn_Keyboard.h"
+		PATHS "/usr/include"
+		      "/usr/local/include"
+		      "/opt/vrpn/include"
+		PATH_SUFFIXES "" "vrpn"
+		DOC "The path to vrpn's include directory."
+	)
+
+	# Find the libvrpn library (.a, .so)
+	find_library(VRPN_LIBRARY
+		NAMES "vrpn"
+		      "libvrpn"
+		PATHS "/usr"
+		      "/usr/local"
+		      "/opt/vrpn"
+		PATH_SUFFIXES "lib" "lib32" "lib64"
+	)
+	get_filename_component(VRPN_LIBRARY_DIR "${VRPN_LIBRARY}" PATH)
+	set(VRPN_LPATH "${VRPN_LIBRARY_DIR}" CACHE PATH "The path to vrpn's library directory.") # Library path
+
+	# Check if we have everything we need
+	if(VRPN_IPATH AND VRPN_LPATH)
+		set(FOUND_VRPN TRUE)
+	endif()
+
+	unset(VRPN_LIBRARY_DIR)
+	unset(VRPN_LIBRARY CACHE)
+	mark_as_advanced(VRPN_IPATH)
+	mark_as_advanced(VRPN_LPATH)
+endif()

+ 3 - 11
dtool/Configure.cmake

@@ -70,20 +70,12 @@ config_package(CGDX8 COMMENT "Cg DX8 API")
 config_package(CGDX9 COMMENT "Cg DX9 API")
 config_package(CGDX9 COMMENT "Cg DX9 API")
 config_package(CGDX10 COMMENT "Cg DX10 API")
 config_package(CGDX10 COMMENT "Cg DX10 API")
 
 
+# Find and configure VRPN library
+find_package(VRPN)
+config_package(VRPN)
 
 
 
 
 
 
-if(FOUND_VRPN)
-	set(USE_VRPN TRUE CACHE BOOL "If true, compile Panda3D with VRPN")
-	if(USE_VRPN)
-		set(HAVE_VRPN TRUE)
-	endif()
-endif()
-if(HAVE_VRPN)
-	message(STATUS "+ VRPN")
-else()
-	message(STATUS "- Did not find VRPN")
-endif()
 
 
 if(FOUND_ZLIB)
 if(FOUND_ZLIB)
 	set(USE_ZLIB TRUE CACHE BOOL "If true, compile Panda3D with zlib")
 	set(USE_ZLIB TRUE CACHE BOOL "If true, compile Panda3D with zlib")