Browse Source

CMake: Configure: Nominally support Miles Sound System. Can't actually test it, because I don't own it.

kestred 12 years ago
parent
commit
9790c6f504
3 changed files with 109 additions and 4 deletions
  1. 105 0
      cmake/modules/FindMiles.cmake
  2. 1 1
      cmake/modules/MangleZLIB.cmake
  3. 3 3
      dtool/Configure.cmake

+ 105 - 0
cmake/modules/FindMiles.cmake

@@ -0,0 +1,105 @@
+# Filename: FindMiles.cmake
+# Author: kestred (9 Dec, 2013)
+#
+# Usage:
+#   find_package(Miles [REQUIRED] [QUIET])
+#
+# It sets the following variables:
+#   FOUND_RAD_MSS  - system has Radgame's Miles SDK
+#   RAD_MSS_IPATH - the Miles SDK include directory
+#   RAD_MSS_LPATH - the Miles SDK library directory
+#   RAD_MSS_LIBS  - the Miles SDK components found
+#
+
+if(RAD_MSS_IPATH AND RAD_MSS_LPATH)
+	set(FOUND_RAD_MSS TRUE)
+	set(RAD_MSS_LIBS Mss32)
+
+	if(CMAKE_BUILD_TYPE MATCHES "Release" AND RAD_MSS_RELEASE_LIBRARY)
+		unset(RAD_MSS_LPATH)
+		get_filename_component(RAD_MSS_LIBRARY_DIR "${RAD_MSS_RELEASE_LIBRARY}" PATH)
+		set(RAD_MSS_LPATH "${RAD_MSS_LIBRARY_DIR}" CACHE PATH "The path to the Miles SDK library directory.")
+		unset(RAD_MSS_LIBRARY_DIR)
+	elseif(CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo" AND RAD_MSS_RELWITHDEBINFO_LIBRARY)
+		unset(RAD_MSS_LPATH)
+		get_filename_component(RAD_MSS_LIBRARY_DIR "${RAD_MSS_RELWITHDEBINFO_LIBRARY}" PATH)
+		set(RAD_MSS_LPATH "${RAD_MSS_LIBRARY_DIR}" CACHE PATH "The path to the Miles SDK library directory.")
+		unset(RAD_MSS_LIBRARY_DIR)
+	elseif(CMAKE_BUILD_TYPE MATCHES "MinSizeRel" AND RAD_MSS_MINSIZE_LIBRARY)
+		unset(RAD_MSS_LPATH)
+		get_filename_component(RAD_MSS_LIBRARY_DIR "${RAD_MSS_MINSIZE_LIBRARY}" PATH)
+		set(RAD_MSS_LPATH "${RAD_MSS_LIBRARY_DIR}" CACHE PATH "The path to the Miles SDK library directory.")
+		unset(RAD_MSS_LIBRARY_DIR)
+	elseif(CMAKE_BUILD_TYPE MATCHES "Debug" AND RAD_MSS_DEBUG_LIBRARY)
+		unset(RAD_MSS_LPATH)
+		get_filename_component(RAD_MSS_LIBRARY_DIR "${RAD_MSS_DEBUG_LIBRARY}" PATH)
+		set(RAD_MSS_LPATH "${RAD_MSS_LIBRARY_DIR}" CACHE PATH "The path to the Miles SDK library directory.")
+		unset(RAD_MSS_LIBRARY_DIR)
+	endif()
+else()
+	# Find the Miles SDK include files
+	find_path(RAD_MSS_IPATH
+		NAMES "miles.h"
+		PATHS "/usr/include"
+		      "/usr/local/include"
+		      "/opt/miles/include"
+		      "C:/Program Files/miles"
+		      "C:/Program Files (x86)/miles"
+		PATH_SUFFIXES "" "miles"
+		DOC "The path to the Miles SDK include directory."
+	)
+
+	# Find the Miles SDK libraries (.a, .so)
+	find_library(RAD_MSS_RELEASE_LIBRARY
+		NAMES "miles"
+		PATHS "/usr"
+		      "/usr/local"
+		      "/opt/miles"
+		      "C:/Program Files/miles"
+		      "C:/Program Files (x86)/miles"
+		PATH_SUFFIXES "lib" "lib32"
+	)
+	find_library(RAD_MSS_MINSIZE_LIBRARY
+		NAMES "miles_s"
+		PATHS "/usr"
+		      "/usr/local"
+		      "/opt/miles"
+		      "C:/Program Files/miles"
+		      "C:/Program Files (x86)/miles"
+		PATH_SUFFIXES "lib" "lib32"
+	)
+	find_library(RAD_MSS_RELWITHDEBINFO_LIBRARY
+		NAMES "miles_rd"
+		PATHS "/usr"
+		      "/usr/local"
+		      "/opt/miles"
+		      "C:/Program Files/miles"
+		      "C:/Program Files (x86)/miles"
+		PATH_SUFFIXES "lib" "lib32"
+	)
+	find_library(RAD_MSS_DEBUG_LIBRARY
+		NAMES "miles_d"
+		PATHS "/usr"
+		      "/usr/local"
+		      "/opt/miles"
+		      "C:/Program Files/miles"
+		      "C:/Program Files (x86)/miles"
+		PATH_SUFFIXES "lib" "lib32"
+	)
+	get_filename_component(RAD_MSS_LIBRARY_DIR "${RAD_MSS_RELEASE_LIBRARY}" PATH)
+	set(RAD_MSS_LPATH "${RAD_MSS_LIBRARY_DIR}" CACHE PATH "The path to the Miles SDK library directory.")
+
+	# Check if we have everything we need
+	if(RAD_MSS_IPATH AND RAD_MSS_LPATH)
+		set(FOUND_RAD_MSS TRUE)
+		set(RAD_MSS_LIBS Mss32)
+	endif()
+
+	unset(RAD_MSS_LIBRARY_DIR)
+	mark_as_advanced(RAD_MSS_IPATH)
+	mark_as_advanced(RAD_MSS_LPATH)
+	mark_as_advanced(RAD_MSS_DEBUG_LIBRARY)
+	mark_as_advanced(RAD_MSS_RELEASE_LIBRARY)
+	mark_as_advanced(RAD_MSS_RELWITHDEBINFO_LIBRARY)
+	mark_as_advanced(RAD_MSS_MINSIZE_LIBRARY)
+endif()

+ 1 - 1
cmake/modules/MangleZLIB.cmake

@@ -7,7 +7,7 @@
 
 
 if(ZLIB_FOUND)
 if(ZLIB_FOUND)
 	set(FOUND_ZLIB TRUE)
 	set(FOUND_ZLIB TRUE)
-	set(ZLIB_LIBS ZLIB)
+	set(ZLIB_LIBS z)
 
 
 	list(GET ZLIB_INCLUDE_DIRS 0 ZLIB_INCLUDE_DIR)
 	list(GET ZLIB_INCLUDE_DIRS 0 ZLIB_INCLUDE_DIR)
 	list(GET ZLIB_LIBRARIES 0 ZLIB_LIBRARY)
 	list(GET ZLIB_LIBRARIES 0 ZLIB_LIBRARY)

+ 3 - 3
dtool/Configure.cmake

@@ -96,9 +96,9 @@ config_package(ZLIB COMMENT "zlib")
 # TODO #
 # TODO #
 ########
 ########
 
 
-# Find and configure Miles sound system
-#find_package(RAD_MSS)
-#config_package(RAD_MSS COMMENT "Miles Sound System")
+# Find and configure Miles Sound System
+find_package(Miles)
+config_package(RAD_MSS COMMENT "Miles Sound System")
 
 
 # Find and configure FMOD Ex
 # Find and configure FMOD Ex
 #find_package(FMODEX)
 #find_package(FMODEX)