From 826979c09968f3f41e60c385872b750f15dba2e7 Mon Sep 17 00:00:00 2001 From: kestred Date: Fri, 13 Dec 2013 13:32:04 -0700 Subject: [PATCH] CMake: Configure: Finish cleaning up finding packages. --- cmake/modules/FindCg.cmake | 13 ++- cmake/modules/FindEigen2.cmake | 21 ++--- cmake/modules/FindEigen3.cmake | 21 ++--- cmake/modules/FindFFTW.cmake | 2 +- cmake/modules/FindFMODEx.cmake | 157 +++++++++++++++------------------ cmake/modules/FindMiles.cmake | 126 +++++++++++++------------- cmake/modules/FindSquish.cmake | 82 +++++++---------- cmake/modules/FindTar.cmake | 30 +++---- cmake/modules/FindVRPN.cmake | 29 +++--- cmake/modules/MangleGTK2.cmake | 34 ------- dtool/Configure.cmake | 22 ++--- 11 files changed, 230 insertions(+), 307 deletions(-) delete mode 100644 cmake/modules/MangleGTK2.cmake diff --git a/cmake/modules/FindCg.cmake b/cmake/modules/FindCg.cmake index f22e279765..55e7b7ea42 100644 --- a/cmake/modules/FindCg.cmake +++ b/cmake/modules/FindCg.cmake @@ -4,7 +4,7 @@ # Usage: # find_package(Cg [REQUIRED] [QUIET]) # -# It sets the following variables: +# Once done this will define: # CG_FOUND - system has NvidiaCg # CG_INCLUDE_DIR - the NvidiaCg include directory # CG_LIBRARY_DIR - the NvidiaCg library directory @@ -21,7 +21,10 @@ # Find Cg for OpenGL macro(find_cggl) - if(NOT CGGL_LIBRARY_DIR AND NOT CGGL_INCLUDE_DIR) + if(Cg_FIND_QUIETLY) + set(CgGL_FIND_QUIETLY TRUE) + endif() + if(NOT CGGL_LIBRARY_DIR OR NOT CGGL_INCLUDE_DIR) # Find the include directory find_path(CGGL_INCLUDE_DIR NAMES "cgGL.h" @@ -41,6 +44,7 @@ macro(find_cggl) PATHS "C:/Program Files/Cg" "C:/Program Files/NVIDIA Corporation/Cg" "/usr" + "/usr/lib/x86_64-linux-gnu" "/usr/local" "/opt/Cg" "/opt/nvidia-cg-toolkit" # Gentoo @@ -80,7 +84,7 @@ endmacro() # Find base Nvidia Cg -if(NOT CG_LIBRARY_DIR AND NOT CG_INCLUDE_DIR) +if(NOT CG_LIBRARY_DIR OR NOT CG_INCLUDE_DIR) # On OSX default to using the framework version of Cg. if(APPLE) include(${CMAKE_ROOT}/Modules/CMakeFindFrameworks.cmake) @@ -125,6 +129,7 @@ if(NOT CG_LIBRARY_DIR AND NOT CG_INCLUDE_DIR) PATHS "C:/Program Files/Cg" "C:/Program Files/NVIDIA Corporation/Cg" "/usr" + "/usr/lib/x86_64-linux-gnu" "/usr/local" "/opt/Cg" "/opt/nvidia-cg-toolkit" # Gentoo @@ -142,7 +147,7 @@ endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Cg DEFAULT_MSG CG_LIBRARY CG_INCLUDE_DIR CG_LIBRARY_DIR) -if(FOUND_CG) +if(CG_INCLUDE_DIR AND CG_LIBRARY_DIR) find_cggl() find_cgdx8() find_cgdx9() diff --git a/cmake/modules/FindEigen2.cmake b/cmake/modules/FindEigen2.cmake index bbdb28b620..8cf93e94d5 100644 --- a/cmake/modules/FindEigen2.cmake +++ b/cmake/modules/FindEigen2.cmake @@ -5,24 +5,25 @@ # find_package(Eigen2 [REQUIRED] [QUIET]) # # Once done this will define: -# EIGEN_FOUND - system has Eigen2 -# EIGEN_INCLUDE_DIR - the Eigen2 include directory +# EIGEN_FOUND - system has any version of Eigen +# EIGEN2_FOUND - system has Eigen2 +# EIGEN2_INCLUDE_DIR - the Eigen2 include directory # -if(Eigen2_FIND_QUIETLY) - set(Eigen_FIND_QUIETLY TRUE) -endif() - -if(NOT EIGEN_INCLUED_DIR) - find_path(EIGEN_INCLUDE_DIR +if(NOT EIGEN2_INCLUDE_DIR) + find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core PATHS ${INCLUDE_INSTALL_DIR} ${KDE4_INCLUDE_DIR} PATH_SUFFIXES eigen2 ) - mark_as_advanced(EIGEN_INCLUDE_DIR) + mark_as_advanced(EIGEN2_INCLUDE_DIR) endif() include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Eigen DEFAULT_MSG EIGEN_INCLUDE_DIR) +find_package_handle_standard_args(Eigen2 DEFAULT_MSG EIGEN2_INCLUDE_DIR) + +if(EIGEN2_FOUND) + set(EIGEN_FOUND TRUE) +endif() \ No newline at end of file diff --git a/cmake/modules/FindEigen3.cmake b/cmake/modules/FindEigen3.cmake index 3f7b5047d7..73b0b90062 100644 --- a/cmake/modules/FindEigen3.cmake +++ b/cmake/modules/FindEigen3.cmake @@ -5,24 +5,25 @@ # find_package(Eigen3 [REQUIRED] [QUIET]) # # Once done this will define: -# EIGEN_FOUND - system has Eigen3 -# EIGEN_INCLUDE_DIR - the Eigen3 include directory +# EIGEN_FOUND - system has any version of Eigen +# EIGEN3_FOUND - system has Eigen3 +# EIGEN3_INCLUDE_DIR - the Eigen3 include directory # -if(Eigen3_FIND_QUIETLY) - set(Eigen_FIND_QUIETLY TRUE) -endif() - -if(NOT EIGEN_INCLUDE_DIR) - find_path(EIGEN_INCLUDE_DIR +if(NOT EIGEN3_INCLUDE_DIR) + find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library PATHS ${CMAKE_INSTALL_PREFIX}/include ${KDE4_INCLUDE_DIR} PATH_SUFFIXES eigen3 eigen ) - mark_as_advanced(EIGEN_INCLUDE_DIR) + mark_as_advanced(EIGEN3_INCLUDE_DIR) endif() include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Eigen DEFAULT_MSG EIGEN_INCLUDE_DIR) \ No newline at end of file +find_package_handle_standard_args(Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR) + +if(EIGEN3_FOUND) + set(EIGEN_FOUND TRUE) +endif() \ No newline at end of file diff --git a/cmake/modules/FindFFTW.cmake b/cmake/modules/FindFFTW.cmake index 1fb9d3edf0..c4b86ce812 100644 --- a/cmake/modules/FindFFTW.cmake +++ b/cmake/modules/FindFFTW.cmake @@ -14,7 +14,7 @@ # FFTW_ROOT - if set, the libraries are exclusively searched under this path # -if(NOT FFTW_INCLUDE_DIR AND NOT FFTW_LIBRARY_DIR) +if(NOT FFTW_INCLUDE_DIR OR NOT FFTW_LIBRARY_DIR) # Check if we can use PkgConfig find_package(PkgConfig QUIET) diff --git a/cmake/modules/FindFMODEx.cmake b/cmake/modules/FindFMODEx.cmake index 47e8de3f24..5725c365c0 100644 --- a/cmake/modules/FindFMODEx.cmake +++ b/cmake/modules/FindFMODEx.cmake @@ -2,99 +2,84 @@ # Author: kestred (8 Dec, 2013) # # Usage: -# find_package(FMODEx [REQUIRED] [QUIET]) +# find_pcackage(FMODEx [REQUIRED] [QUIET]) # -# It sets the following variables: -# FOUND_FMODEX - system has FMOD Ex -# FMODEX_IPATH - the FMOD Ex include directory -# FMODEX_LPATH - the FMOD Ex library directory -# FMODEX_LIBS - the FMOD Ex components found -# FMODEX_LIBRARY - the path to the library binary +# Once done this will define: +# FMODEX_FOUND - system has FMOD Ex +# FMODEX_INCLUDE_DIR - the FMOD Ex include directory +# FMODEX_LIBRARY_DIR - the FMOD Ex library directory +# FMODEX_LIBRARY - the path to the library binary # -# FMODEX_32_LIBRARY - the filepath of the Miles SDK 32-bit library -# FMOXEX_64_LIBRARY - the filepath of the Miles SDK 64-bit library +# FMODEX_32_LIBRARY - the filepath of the Miles SDK 32-bit library +# FMOXEX_64_LIBRARY - the filepath of the Miles SDK 64-bit library # -if(FMODEX_LPATH AND FMODEX_IPATH) - # If its cached, we don't need to refind it - set(FOUND_FMODEX TRUE) +if(NOT FMODEX_LIBRARY_DIR OR NOT FMODEX_INCLUDE_DIR) + # Find the include directory + find_path(FMODEX_INCLUDE_DIR + NAMES "fmod.h" + PATHS "/usr/include" + "/usr/local/include" + "/sw/include" + "/opt/include" + "/opt/local/include" + "/opt/csw/include" + "/opt/fmodex/include" + "/opt/fmodex/api/inc" + "C:/Program Files (x86)/FMOD SoundSystem/FMOD Programmers API Win32/api/inc" + PATH_SUFFIXES "" "fmodex/fmod" "fmodex/fmod3" "fmod" "fmod3" + DOC "The path to FMOD Ex's include directory." + ) - if(FMODEX_32_LIBRARY) - set(FMODEX_LIBS fmodex) - elseif(FMODEX_64_LIBRARY) - set(FMODEX_LIBS fmodex64) - endif() -else() - # Find the include directory - find_path(FMODEX_IPATH - NAMES "fmod.h" - PATHS "/usr/include" - "/usr/local/include" - "/sw/include" - "/opt/include" - "/opt/local/include" - "/opt/csw/include" - "/opt/fmodex/include" - "/opt/fmodex/api/inc" - "C:/Program Files (x86)/FMOD SoundSystem/FMOD Programmers API Win32/api/inc" - PATH_SUFFIXES "" "fmodex/fmod" "fmodex/fmod3" "fmod" "fmod3" - DOC "The path to FMOD Ex's include directory." - ) + # Find the 32-bit library + find_library(FMODEX_32_LIBRARY + NAMES "fmodex_vc" "fmodex_bc" "fmodex" "fmodexL" "libfmodex" "libfmodexL" + PATHS "/usr" + "/usr/local" + "/usr/X11R6" + "/usr/local/X11R6" + "/sw" + "/opt" + "/opt/local" + "/opt/csw" + "/opt/fmodex" + "/opt/fmodex/api" + "C:/Program Files (x86)/FMOD SoundSystem/FMOD Programmers API Win32/api/lib" + PATH_SUFFIXES "" "lib" "lib32" + ) - # Find the 32-bit library - find_library(FMODEX_32_LIBRARY - NAMES "fmodex_vc" "fmodex_bc" "fmodex" "fmodexL" "libfmodex" "libfmodexL" - PATHS "/usr" - "/usr/local" - "/usr/X11R6" - "/usr/local/X11R6" - "/sw" - "/opt" - "/opt/local" - "/opt/csw" - "/opt/fmodex" - "/opt/fmodex/api" - "C:/Program Files (x86)/FMOD SoundSystem/FMOD Programmers API Win32/api/lib" - PATH_SUFFIXES "" "lib" "lib32" - ) + # Find the 64-bit library + find_library(FMODEX_64_LIBRARY + NAMES "fmodex64" "libfmodex64" "fmodexL64" "libfmodexL64" + PATHS "/usr" + "/usr/local" + "/usr/X11R6" + "/usr/local/X11R6" + "/sw" + "/opt" + "/opt/local" + "/opt/csw" + "/opt/fmodex" + "/opt/fmodex/api" + "/usr/freeware" + PATH_SUFFIXES "" "lib" "lib64" + ) - # Find the 64-bit library - find_library(FMODEX_64_LIBRARY - NAMES "fmodex64" "libfmodex64" "fmodexL64" "libfmodexL64" - PATHS "/usr" - "/usr/local" - "/usr/X11R6" - "/usr/local/X11R6" - "/sw" - "/opt" - "/opt/local" - "/opt/csw" - "/opt/fmodex" - "/opt/fmodex/api" - "/usr/freeware" - PATH_SUFFIXES "" "lib" "lib64" - ) + if(FMODEX_32_LIBRARY) + set(FMODEX_LIBRARY ${FMODEX_32_LIBRARY} CACHE FILEPATH "The filepath to FMOD Ex's library binary.") + elseif(FMODEX_64_LIBRARY) + set(FMODEX_LIBRARY ${FMODEX_64_LIBRARY} CACHE FILEPATH "The filepath to FMOD Ex's library binary.") + endif() - if(FMODEX_32_LIBRARY) - set(FMODEX_LIBRARY ${FMODEX_32_LIBRARY}) - set(FMODEX_LIBS fmodex) - elseif(FMODEX_64_LIBRARY) - set(FMODEX_LIBRARY ${FMODEX_64_LIBRARY}) - set(FMODEX_LIBS fmodex64) - endif() + get_filename_component(FMODEX_LIBRARY_DIR "${FMODEX_LIBRARY}" PATH) + set(FMODEX_LIBRARY_DIR "${FMODEX_LIBRARY_DIR}" CACHE PATH "The path to FMOD Ex's library directory.") - get_filename_component(FMODEX_LIBRARY_DIR "${FMODEX_LIBRARY}" PATH) - set(FMODEX_LPATH "${FMODEX_LIBRARY_DIR}" CACHE PATH "The path to FMOD Ex's library directory.") - - # Check if we have everything we need - if(FMODEX_IPATH AND FMODEX_LPATH) - set(FOUND_FMODEX TRUE) - endif() - - mark_as_advanced(FMODEX_IPATH) - mark_as_advanced(FMODEX_LPATH) - mark_as_advanced(FMODEX_LIBRARY) - mark_as_advanced(FMODEX_32_LIBRARY) - mark_as_advanced(FMODEX_64_LIBRARY) - unset(FMODEX_LIBRARY_DIR) + mark_as_advanced(FMODEX_INCLUDE_DIR) + mark_as_advanced(FMODEX_LIBRARY_DIR) + mark_as_advanced(FMODEX_LIBRARY) + mark_as_advanced(FMODEX_32_LIBRARY) + mark_as_advanced(FMODEX_64_LIBRARY) endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(FMODEx DEFAULT_MSG FMODEX_LIBRARY FMODEX_INCLUDE_DIR FMODEX_LIBRARY_DIR) diff --git a/cmake/modules/FindMiles.cmake b/cmake/modules/FindMiles.cmake index dde814df8d..def0949e78 100644 --- a/cmake/modules/FindMiles.cmake +++ b/cmake/modules/FindMiles.cmake @@ -4,49 +4,22 @@ # 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 -# RAD_MSS_LIBRARY - the path to the library binary +# Once done this will define: +# MILES_FOUND - system has Radgame's Miles SDK +# RAD_MSS_FOUND - system has Radgame's Miles SDK +# MILES_INCLUDE_DIR - the Miles SDK include directory +# MILES_LIBRARY_DIR - the Miles SDK library directory +# MILES_LIBRARY - the path to the library binary # -# RAD_MSS_RELEASE_LIBRARY - the filepath of the Miles SDK release library -# RAD_MSS_RELWITHDEBINFO_LIBRARY - the filepath of the Miles SDK optimize debug library -# RAD_MSS_MINSIZE_LIBRARY - the filepath of the Miles SDK minimum size library -# RAD_MSS_DEBUG_LIBRARY - the filepath of the Miles SDK debug library +# MILES_RELEASE_LIBRARY - the filepath of the Miles SDK release library +# MILES_RELDBG_LIBRARY - the filepath of the Miles SDK optimize debug library +# MILES_MINSIZE_LIBRARY - the filepath of the Miles SDK minimum size library +# MILES_DEBUG_LIBRARY - the filepath of the Miles SDK debug library # -if(RAD_MSS_IPATH AND RAD_MSS_LPATH) - set(FOUND_RAD_MSS TRUE) - set(RAD_MSS_LIBS Mss32) - - - # Choose library - if(CMAKE_BUILD_TYPE MATCHES "Release" AND RAD_MSS_RELEASE_LIBRARY) - unset(RAD_MSS_LIBRARY) - set(RAD_MSS_LIBRARY ${RAD_MSS_RELEASE_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") - elseif(CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo" AND RAD_MSS_RELWITHDEBINFO_LIBRARY) - unset(RAD_MSS_LIBRARY) - set(RAD_MSS_LIBRARY ${RAD_MSS_RELWITHDEBINFO_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") - elseif(CMAKE_BUILD_TYPE MATCHES "MinSizeRel" AND RAD_MSS_MINSIZE_LIBRARY) - unset(RAD_MSS_LIBRARY) - set(RAD_MSS_LIBRARY ${RAD_MSS_MINSIZE_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") - elseif(CMAKE_BUILD_TYPE MATCHES "Debug" AND RAD_MSS_DEBUG_LIBRARY) - unset(RAD_MSS_LIBRARY) - set(RAD_MSS_LIBRARY ${RAD_MSS_DEBUG_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") - endif() - - # Set library path - if(DEFINED RAD_MSS_LIBRARY) - unset(RAD_MSS_LPATH) - get_filename_component(RAD_MSS_LIBRARY_DIR "${RAD_MSS_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() +if(NOT MILES_INCLUDE_DIR OR NOT MILES_LIBRARY_DIR) # Find the Miles SDK include files - find_path(RAD_MSS_IPATH + find_path(MILES_INCLUDE_DIR NAMES "miles.h" PATHS "/usr/include" "/usr/local/include" @@ -58,7 +31,7 @@ else() ) # Find the Miles SDK libraries (.a, .so) - find_library(RAD_MSS_RELEASE_LIBRARY + find_library(MILES_RELEASE_LIBRARY NAMES "miles" PATHS "/usr" "/usr/local" @@ -70,7 +43,7 @@ else() "C:/Program Files (x86)/Miles6" PATH_SUFFIXES "lib" "lib32" ) - find_library(RAD_MSS_MINSIZE_LIBRARY + find_library(MILES_MINSIZE_LIBRARY NAMES "miles_s" PATHS "/usr" "/usr/local" @@ -81,7 +54,7 @@ else() "C:/Program Files (x86)/Miles6" PATH_SUFFIXES "lib" "lib32" ) - find_library(RAD_MSS_RELWITHDEBINFO_LIBRARY + find_library(MILES_RELWITHDEBINFO_LIBRARY NAMES "miles_rd" PATHS "/usr" "/usr/local" @@ -92,7 +65,7 @@ else() "C:/Program Files (x86)/Miles6" PATH_SUFFIXES "lib" "lib32" ) - find_library(RAD_MSS_DEBUG_LIBRARY + find_library(MILES_DEBUG_LIBRARY NAMES "miles_d" PATHS "/usr" "/usr/local" @@ -105,32 +78,57 @@ else() ) # Choose library - if(CMAKE_BUILD_TYPE MATCHES "Release" AND RAD_MSS_RELEASE_LIBRARY) - set(RAD_MSS_LIBRARY ${RAD_MSS_RELEASE_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") - elseif(CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo" AND RAD_MSS_RELWITHDEBINFO_LIBRARY) - set(RAD_MSS_LIBRARY ${RAD_MSS_RELWITHDEBINFO_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") - elseif(CMAKE_BUILD_TYPE MATCHES "MinSizeRel" AND RAD_MSS_MINSIZE_LIBRARY) - set(RAD_MSS_LIBRARY ${RAD_MSS_MINSIZE_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") - elseif(CMAKE_BUILD_TYPE MATCHES "Debug" AND RAD_MSS_DEBUG_LIBRARY) - set(RAD_MSS_LIBRARY ${RAD_MSS_DEBUG_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") + if(CMAKE_BUILD_TYPE MATCHES "Release" AND MILES_RELEASE_LIBRARY) + set(MILES_LIBRARY ${MILES_RELEASE_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") + elseif(CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo" AND MILES_RELDBG_LIBRARY) + set(MILES_LIBRARY ${MILES_RELWITHDEBINFO_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") + elseif(CMAKE_BUILD_TYPE MATCHES "MinSizeRel" AND MILES_MINSIZE_LIBRARY) + set(MILES_LIBRARY ${MILES_MINSIZE_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") + elseif(CMAKE_BUILD_TYPE MATCHES "Debug" AND MILES_DEBUG_LIBRARY) + set(MILES_LIBRARY ${MILES_DEBUG_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") endif() # Set library path - get_filename_component(RAD_MSS_LIBRARY_DIR "${RAD_MSS_LIBRARY}" PATH) - set(RAD_MSS_LPATH "${RAD_MSS_LIBRARY_DIR}" CACHE PATH "The path to the Miles SDK library directory.") + get_filename_component(MILES_LIBRARY_DIR "${MILES_LIBRARY}" PATH) + set(MILES_LIBRARY_DIR "${MILES_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) + if(MILES_INCLUDE_DIR AND MILES_LIBRARY_DIR) + set(FOUND_MILES TRUE) + set(MILES_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_LIBRARY) - 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) + mark_as_advanced(MILES_INCLUDE_DIR) + mark_as_advanced(MILES_DEBUG_LIBRARY) + mark_as_advanced(MILES_RELEASE_LIBRARY) + mark_as_advanced(MILES_RELWITHDEBINFO_LIBRARY) + mark_as_advanced(MILES_MINSIZE_LIBRARY) endif() + +# Choose library +if(CMAKE_BUILD_TYPE MATCHES "RelWithDebInfo" AND MILES_RELDBG_LIBRARY) + unset(MILES_LIBRARY CACHE) + set(MILES_LIBRARY ${MILES_RELDBG_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") +elseif(CMAKE_BUILD_TYPE MATCHES "MinSizeRel" AND MILES_MINSIZE_LIBRARY) + unset(MILES_LIBRARY CACHE) + set(MILES_LIBRARY ${MILES_MINSIZE_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") +elseif(CMAKE_BUILD_TYPE MATCHES "Debug" AND MILES_DEBUG_LIBRARY) + unset(MILES_LIBRARY CACHE) + set(MILES_LIBRARY ${MILES_DEBUG_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") +elseif(MILES_RELEASE_LIBRARY) + unset(MILES_LIBRARY CACHE) + set(MILES_LIBRARY ${MILES_RELEASE_LIBRARY} CACHE FILEPATH "The Miles SDK library file.") +endif() + +# Set library path +if(DEFINED MILES_LIBRARY) + unset(MILES_LIBRARY_DIR CACHE) + get_filename_component(MILES_LIBRARY_DIR "${MILES_LIBRARY}" PATH) + set(MILES_LIBRARY_DIR "${MILES_LIBRARY_DIR}" CACHE PATH "The path to the Miles SDK library directory.") +endif() + +mark_as_advanced(MILES_LIBRARY) +mark_as_advanced(MILES_LIBRARY_DIR) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Miles DEFAULT_MSG MILES_LIBRARY MILES_INCLUDE_DIR MILES_LIBRARY_DIR) diff --git a/cmake/modules/FindSquish.cmake b/cmake/modules/FindSquish.cmake index dd626e63f5..9a0acb80ae 100644 --- a/cmake/modules/FindSquish.cmake +++ b/cmake/modules/FindSquish.cmake @@ -4,38 +4,19 @@ # Usage: # find_package(Squish [REQUIRED] [QUIET]) # -# It sets the following variables: -# FOUND_SQUISH - system has squish -# SQUISH_IPATH - the squish include directory -# SQUISH_LPATH - the squish library directory -# SQUISH_LIBS - the squish components found -# SQUISH_LIBRARY - the path to the library binary +# Once done this will define: +# SQUISH_FOUND - system has squish +# SQUISH_INCLUDE_DIR - the squish include directory +# SQUISH_LIBRARY_DIR - the squish library directory +# SQUISH_LIBRARY - the path to the library binary # # SQUISH_RELEASE_LIBRARY - the filepath of the squish release library # SQUISH_DEBUG_LIBRARY - the filepath of the squish debug library # -if(SQUISH_IPATH AND SQUISH_LPATH) - set(FOUND_SQUISH TRUE) - set(SQUISH_LIBS squish) - - # Use the library appropriate to the build type - if(CMAKE_BUILD_TYPE MATCHES "Debug" AND SQUISH_DEBUG_LIBRARY) - set(SQUISH_LIBRARY ${SQUISH_DEBUG_LIBRARY}) - elseif(SQUISH_RELEASE_LIBRARY) - set(SQUISH_LIBRARY ${SQUISH_RELEASE_LIBRARY}) - endif() - - # Update Squish library path - if(SQUISH_LIBRARY) - get_filename_component(SQUISH_LIBRARY_DIR "${SQUISH_LIBRARY}" PATH) - set(SQUISH_LPATH "${SQUISH_LIBRARY_DIR}" CACHE PATH "The path to libsquish's library directory.") # Library path - unset(SQUISH_LIBRARY_DIR) - unset(SQUISH_LIBRARY CACHE) - endif() -else() +if(NOT SQUISH_INCLUDE_DIR OR NOT SQUISH_LIBRARY_DIR) # Find the libsquish include files - find_path(SQUISH_IPATH + find_path(SQUISH_INCLUDE_DIR NAMES "squish.h" PATHS "/usr/include" "/usr/local/include" @@ -70,33 +51,30 @@ else() PATH_SUFFIXES "lib" "lib32" "lib64" ) - # Use the library appropriate to the build type - if(CMAKE_BUILD_TYPE MATCHES "Debug") - if(SQUISH_DEBUG_LIBRARY) - set(SQUISH_LIBRARY ${SQUISH_DEBUG_LIBRARY}) - else() - set(SQUISH_LIBRARY ${SQUISH_RELEASE_LIBRARY}) - endif() - elseif(SQUISH_RELEASE_LIBRARY) - set(SQUISH_LIBRARY ${SQUISH_RELEASE_LIBRARY}) - else() - set(SQUISH_LIBRARY ${SQUISH_DEBUG_LIBRARY}) - endif() - # Translate library into library path - get_filename_component(SQUISH_LIBRARY_DIR "${SQUISH_LIBRARY}" PATH) - set(SQUISH_LPATH "${SQUISH_LIBRARY_DIR}" CACHE PATH "The path to libsquish's library directory.") # Library path - - # Check if we have everything we need - if(SQUISH_IPATH AND SQUISH_LPATH) - set(FOUND_SQUISH TRUE) - set(SQUISH_LIBS squish) - endif() - - unset(SQUISH_LIBRARY_DIR) - mark_as_advanced(SQUISH_IPATH) - mark_as_advanced(SQUISH_LPATH) - mark_as_advanced(SQUISH_LIBRARY) + mark_as_advanced(SQUISH_INCLUDE_DIR) mark_as_advanced(SQUISH_RELEASE_LIBRARY) mark_as_advanced(SQUISH_DEBUG_LIBRARY) endif() + +# Choose library +if(CMAKE_BUILD_TYPE MATCHES "Debug" AND SQUISH_DEBUG_LIBRARY) + set(SQUISH_LIBRARY ${SQUISH_DEBUG_LIBRARY} CACHE FILEPATH "The filepath to libsquish's library binary.") +elseif(SQUISH_RELEASE_LIBRARY) + set(SQUISH_LIBRARY ${SQUISH_RELEASE_LIBRARY} CACHE FILEPATH "The filepath to libsquish's library binary.") +elseif(SQUISH_DEBUG_LIBRARY) + set(SQUISH_LIBRARY ${SQUISH_DEBUG_LIBRARY} CACHE FILEPATH "The filepath to libsquish's library binary.") +endif() + +# Translate library into library directory +if(SQUISH_LIBRARY) + unset(SQUISH_LIBRARY_DIR CACHE) + get_filename_component(SQUISH_LIBRARY_DIR "${SQUISH_LIBRARY}" PATH) + set(SQUISH_LIBRARY_DIR "${SQUISH_LIBRARY_DIR}" CACHE PATH "The path to libsquish's library directory.") # Library path +endif() + +mark_as_advanced(SQUISH_LIBRARY) +mark_as_advanced(SQUISH_LIBRARY_DIR) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Squish DEFAULT_MSG SQUISH_LIBRARY SQUISH_INCLUDE_DIR SQUISH_LIBRARY_DIR) diff --git a/cmake/modules/FindTar.cmake b/cmake/modules/FindTar.cmake index de365a30c4..a14a99bb6b 100644 --- a/cmake/modules/FindTar.cmake +++ b/cmake/modules/FindTar.cmake @@ -5,19 +5,15 @@ # find_package(Tar [REQUIRED] [QUIET]) # # It sets the following variables: -# FOUND_TAR - system has libtar -# TAR_IPATH - the tar include directory -# TAR_LPATH - the tar library directory -# TAR_LIBS - the tar components found +# TAR_FOUND - system has libtar +# TAR_INCLUDE_DIR - the tar include directory +# TAR_LIBRARY_DIR - the tar library directory # TAR_LIBRARY - the path to the library binary # -if(TAR_IPATH AND TAR_LPATH) - set(FOUND_TAR TRUE) - set(TAR_LIBS tar) -else() +if(NOT TAR_INCLUDE_DIR OR NOT TAR_LIBRARY_DIR) # Find the libtar include files - find_path(TAR_IPATH + find_path(TAR_INCLUDE_DIR NAMES "libtar.h" PATHS "/usr/include" "/usr/local/include" @@ -34,16 +30,12 @@ else() PATH_SUFFIXES "lib" "lib32" "lib64" ) get_filename_component(TAR_LIBRARY_DIR "${TAR_LIBRARY}" PATH) - set(TAR_LPATH "${TAR_LIBRARY_DIR}" CACHE PATH "The path to libtar's library directory.") # Library path + set(TAR_LIBRARY_DIR "${TAR_LIBRARY_DIR}" CACHE PATH "The path to libtar's library directory.") # Library path - # Check if we have everything we need - if(TAR_IPATH AND TAR_LPATH) - set(FOUND_TAR TRUE) - set(TAR_LIBS tar) - endif() - - unset(TAR_LIBRARY_DIR) - mark_as_advanced(TAR_IPATH) - mark_as_advanced(TAR_LPATH) + mark_as_advanced(TAR_INCLUDE_DIR) + mark_as_advanced(TAR_LIBRARY_DIR) mark_as_advanced(TAR_LIBRARY) endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Tar DEFAULT_MSG TAR_LIBRARY TAR_INCLUDE_DIR TAR_LIBRARY_DIR) diff --git a/cmake/modules/FindVRPN.cmake b/cmake/modules/FindVRPN.cmake index 3f9247db9b..759cbbf2a8 100644 --- a/cmake/modules/FindVRPN.cmake +++ b/cmake/modules/FindVRPN.cmake @@ -1,21 +1,21 @@ -# Filename: FindTar.cmake +# Filename: FindVRPN.cmake # Author: kestred (29 Nov, 2013) # # Usage: -# find_package(Tar [REQUIRED] [QUIET]) +# find_package(VRPN [REQUIRED] [QUIET]) # # It sets the following variables: -# FOUND_VRPN - system has libvrpn -# VRPN_IPATH - the vrpn include directory -# VRPN_LPATH - the vrpn library directory +# VRPN_FOUND - system has libvrpn +# VRPN_INCLUDE_DIR - the vrpn include directory +# VRPN_LIBRARY_DIR - the vrpn library directory # VRPN_LIBRARY - the path to the library binary # -if(VRPN_IPATH AND VRPN_LPATH) +if(VRPN_INCLUDE_DIR AND VRPN_LIBRARY_DIR) set(FOUND_VRPN TRUE) else() # Find the vrpn include files - find_path(VRPN_IPATH + find_path(VRPN_INCLUDE_DIR NAMES "vrpn_Keyboard.h" PATHS "/usr/include" "/usr/local/include" @@ -34,15 +34,12 @@ else() 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 + set(VRPN_LIBRARY_DIR "${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) - mark_as_advanced(VRPN_IPATH) - mark_as_advanced(VRPN_LPATH) + mark_as_advanced(VRPN_INCLUDE_DIR) + mark_as_advanced(VRPN_LIBRARY_DIR) mark_as_advanced(VRPN_LIBRARY) endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(VRPN DEFAULT_MSG VRPN_LIBRARY VRPN_INCLUDE_DIR VRPN_LIBRARY_DIR) diff --git a/cmake/modules/MangleGTK2.cmake b/cmake/modules/MangleGTK2.cmake deleted file mode 100644 index e3918f40d1..0000000000 --- a/cmake/modules/MangleGTK2.cmake +++ /dev/null @@ -1,34 +0,0 @@ -# Filename: MangleGTK2.cmake -# Author: kestred (11 Dec, 2013) -# -# MangleGTK2 replaces the output variables of the builtin FindGTK2 -# with vars matching Panda3D's existing config-var names. -# - -if(GTK2_FOUND) - set(FOUND_GTK TRUE) - - list(GET GTK2_LIBRARIES 0 GTK2_LIBRARY) - list(GET GTK2_INCLUDE_DIRS 0 GTK2_INCLUDE_DIR) - - get_filename_component(GTK2_LIBRARY_DIR "${GTK2_LIBRARY}" PATH) - - set(GTK_IPATH "${GTK2_INCLUDE_DIR}" CACHE PATH "The path to gtk-2's include directory.") # Include path - set(GTK_LPATH "${GTK2_LIBRARY_DIR}" CACHE PATH "The path to gtk-2's library directory.") # Library path - mark_as_advanced(GTK_IPATH) - mark_as_advanced(GTK_LPATH) - - set(GTK_LIBRARIES GTK2_LIBRARIES) - - unset(GTK2_FOUND) - unset(GTK2_LIBRARY) - unset(GTK2_INCLUDE_DIR) - unset(GTK2_LIBRARY_DIR) - unset(GTK2_MAJOR_VERSION) - unset(GTK2_MINOR_VERSION) - unset(GTK2_PATCH_VERSION) -endif() - -unset(GTK2_LIBRARIES CACHE) -unset(GTK2_INCLUDE_DIRS CACHE) -unset(GTK2_DEFINITIONS CACHE) \ No newline at end of file diff --git a/dtool/Configure.cmake b/dtool/Configure.cmake index 38e1b426de..8f900ef987 100644 --- a/dtool/Configure.cmake +++ b/dtool/Configure.cmake @@ -1,7 +1,6 @@ message(STATUS "") message("Configuring support for the following optional third-party packages:") - # Settings to change USE_PACKAGE behavior (these options override cached values) set(CONFIG_ENABLE_EVERYTHING Off) set(CONFIG_DISABLE_EVERYTHING Off) @@ -130,7 +129,12 @@ find_package(OpenAL QUIET) config_package(OPENAL "OpenAL sound library") # Find and configure GTK -find_package(GTK2 QUIET) +set(Freetype_FIND_QUIETLY TRUE) # Fix for builtin FindGTK2 +set(GTK2_GTK_FIND_QUIETLY TRUE) # Fix for builtin FindGTK2 +find_package(GTK2 QUIET COMPONENTS gtk) +if(GTK2_FOUND) + set(GTK_FOUND TRUE) # Mangle for convenience +endif() config_package(GTK "gtk+-2") # Find and configure Freetype @@ -290,8 +294,8 @@ endif() ### Configure threading support ### # Add basic use flag for threading -option(USE_THREADS "If on, compile Panda3D with threading support." ON) -if(USE_THREADS) +option(BUILD_THREADS "If on, compile Panda3D with threading support." ON) +if(BUILD_THREADS) set(HAVE_THREADS TRUE) else() unset(BUILD_SIMPLE_THREADS CACHE) @@ -299,7 +303,7 @@ else() endif() # Configure debug threads -if(NOT DEFINED OPTIMIZE OR OPTIMIZE LESS 3) +if(CMAKE_BUILD_TYPE MATCHES "Debug") option(BUILD_DEBUG_THREADS "If on, enables debugging of thread and sync operations (i.e. mutexes, deadlocks)" ON) else() option(BUILD_DEBUG_THREADS "If on, enables debugging of thread and sync operations (i.e. mutexes, deadlocks)" OFF) @@ -355,18 +359,14 @@ endif() ### Configure pipelining ### if(NOT DEFINED BUILD_PIPELINING) - if(NOT DEFINED OPTIMIZE OR OPTIMIZE LESS 2) - option(BUILD_PIPELINING "If on, compile with pipelined rendering." ON) - else() - option(BUILD_PIPELINING "If on, compile with pipelined rendering." OFF) - endif() + option(BUILD_PIPELINING "If on, compile with pipelined rendering." ON) endif() if(BUILD_PIPELINING) set(DO_PIPELINING TRUE) endif() ### Configure OS X options ### -if(OSX_PLATFORM) +if(APPLE) option(BUILD_UNIVERSIAL_BINARIES "If on, compiling will create universal OS X binaries." ON) if(BUILD_UNIVERSAL_BINARIES) message(STATUS "Compilation will create universal binaries.")