CMake: Fix several modules' search behavior

This makes these modules behave better when encountering
the makepanda thirdparty/ directory.
This commit is contained in:
Sam Edwards 2019-08-22 20:19:41 -06:00
parent c62d5fbe35
commit afe7ffb964
5 changed files with 39 additions and 58 deletions

View File

@ -23,6 +23,13 @@
# Find Cg for OpenGL # Find Cg for OpenGL
macro(find_cggl) macro(find_cggl)
if(APPLE)
# GL support is built-in on Apple
set(CGGL_LIBRARY "${CG_LIBRARY}")
set(CGGL_LIBRARY_DIR "${CG_LIBRARY_DIR}")
set(CGGL_INCLUDE_DIR "${CG_INCLUDE_DIR}")
endif()
if(Cg_FIND_QUIETLY) if(Cg_FIND_QUIETLY)
set(CgGL_FIND_QUIETLY TRUE) set(CgGL_FIND_QUIETLY TRUE)
endif() endif()
@ -114,59 +121,33 @@ endmacro()
# Find base Nvidia Cg # Find base Nvidia Cg
if(NOT CG_LIBRARY_DIR OR NOT CG_INCLUDE_DIRS) if(NOT CG_LIBRARY_DIR OR NOT CG_INCLUDE_DIRS)
# On OSX default to using the framework version of Cg. # Find the include directory
if(APPLE) find_path(CG_INCLUDE_DIR
include(${CMAKE_ROOT}/Modules/CMakeFindFrameworks.cmake) NAMES "Cg/cg.h"
set(CG_INCLUDES) PATHS "C:/Program Files/Cg"
"C:/Program Files/NVIDIA Corporation/Cg/include"
"/usr/include"
"/usr/local/include"
"/opt/Cg"
"/opt/nvidia-cg-toolkit/include" # Gentoo
PATH_SUFFIXES "" "Cg" "cg"
DOC "The path to NvidiaCg's include directory."
)
cmake_find_frameworks(Cg) # Find the library directory
if(Cg_FRAMEWORKS) find_library(CG_LIBRARY
foreach(dir ${Cg_FRAMEWORKS}) NAMES "Cg" "libCg"
list(APPEND CG_INCLUDES ${dir}/Headers ${dir}/PrivateHeaders) PATHS "C:/Program Files/Cg"
endforeach(dir) "C:/Program Files/NVIDIA Corporation/Cg"
unset(Cg_FRAMEWORKS) "/usr"
"/usr/lib/x86_64-linux-gnu"
# Find the include dir "/usr/local"
find_path(CG_INCLUDE_DIR "/opt/Cg"
NAMES "cg.h" "/opt/nvidia-cg-toolkit" # Gentoo
PATHS ${CG_INCLUDES} PATH_SUFFIXES "" "lib" "lib32" "lib64"
DOC "The path to NvidiaCg's include directory." )
) get_filename_component(CG_LIBRARY_DIR "${CG_LIBRARY}" PATH)
unset(CG_INCLUDES) set(CG_LIBRARY_DIR "${CG_LIBRARY_DIR}" CACHE PATH "The path to NvidiaCG's library directory.") # Library path
# Set the library dir (TODO: Check the correctness on Mac OS X)
set(CG_LIBRARY_DIR "/Library/Frameworks/Cg.framework" CACHE PATH "The path to NvidiaCg's library directory.")
endif()
else()
# Find the include directory
find_path(CG_INCLUDE_DIR
NAMES "cg.h"
PATHS "C:/Program Files/Cg"
"C:/Program Files/NVIDIA Corporation/Cg/include"
"/usr/include"
"/usr/local/include"
"/opt/Cg"
"/opt/nvidia-cg-toolkit/include" # Gentoo
PATH_SUFFIXES "" "Cg" "cg"
DOC "The path to NvidiaCg's include directory."
)
# Find the library directory
find_library(CG_LIBRARY
NAMES "Cg" "libCg"
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
PATH_SUFFIXES "" "lib" "lib32" "lib64"
)
get_filename_component(CG_LIBRARY_DIR "${CG_LIBRARY}" PATH)
set(CG_LIBRARY_DIR "${CG_LIBRARY_DIR}" CACHE PATH "The path to NvidiaCG's library directory.") # Library path
endif()
string(REGEX REPLACE "/Cg$" "" CG_BASE_INCLUDE_DIR "${CG_INCLUDE_DIR}") string(REGEX REPLACE "/Cg$" "" CG_BASE_INCLUDE_DIR "${CG_INCLUDE_DIR}")
set(CG_INCLUDE_DIRS ${CG_BASE_INCLUDE_DIR} ${CG_INCLUDE_DIR}) set(CG_INCLUDE_DIRS ${CG_BASE_INCLUDE_DIR} ${CG_INCLUDE_DIR})

View File

@ -32,7 +32,7 @@ find_path(FMODEX_INCLUDE_DIR
# Find the 32-bit library # Find the 32-bit library
find_library(FMODEX_32_LIBRARY find_library(FMODEX_32_LIBRARY
NAMES "fmodex_vc" "fmodex_bc" "fmodex" "fmodexL" "libfmodex" "libfmodexL" NAMES "fmodex_vc" "fmodex_bc" "fmodex" "fmodexL" "libfmodex" "libfmodexL" "fmodex_vc" "fmodexL_vc"
PATHS "/usr" PATHS "/usr"
"/usr/local" "/usr/local"
"/usr/X11R6" "/usr/X11R6"
@ -49,7 +49,7 @@ find_library(FMODEX_32_LIBRARY
# Find the 64-bit library # Find the 64-bit library
find_library(FMODEX_64_LIBRARY find_library(FMODEX_64_LIBRARY
NAMES "fmodex64" "libfmodex64" "fmodexL64" "libfmodexL64" NAMES "fmodex64" "libfmodex64" "fmodexL64" "libfmodexL64" "fmodex64_vc" "fmodexL64_vc"
PATHS "/usr" PATHS "/usr"
"/usr/local" "/usr/local"
"/usr/X11R6" "/usr/X11R6"

View File

@ -12,7 +12,7 @@
find_path(OGG_INCLUDE_DIR NAMES "ogg/ogg.h") find_path(OGG_INCLUDE_DIR NAMES "ogg/ogg.h")
find_library(OGG_LIBRARY NAMES "ogg") find_library(OGG_LIBRARY NAMES "ogg" "libogg_static")
mark_as_advanced(OGG_INCLUDE_DIR OGG_LIBRARY) mark_as_advanced(OGG_INCLUDE_DIR OGG_LIBRARY)

View File

@ -47,4 +47,4 @@ endif()
mark_as_advanced(SWSCALE_LIBRARY_DIR) mark_as_advanced(SWSCALE_LIBRARY_DIR)
include(FindPackageHandleStandardArgs) include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SWSCALE DEFAULT_MSG SWSCALE_LIBRARY SWSCALE_INCLUDE_DIR SWSCALE_LIBRARY_DIR) find_package_handle_standard_args(SWScale DEFAULT_MSG SWSCALE_LIBRARY SWSCALE_INCLUDE_DIR SWSCALE_LIBRARY_DIR)

View File

@ -16,8 +16,8 @@ find_package(Ogg QUIET)
# Find Vorbis # Find Vorbis
find_path(VORBIS_INCLUDE_DIR NAMES "vorbis/vorbisfile.h") find_path(VORBIS_INCLUDE_DIR NAMES "vorbis/vorbisfile.h")
find_library(VORBIS_vorbis_LIBRARY NAMES "vorbis") find_library(VORBIS_vorbis_LIBRARY NAMES "vorbis" "libvorbis_static")
find_library(VORBIS_vorbisfile_LIBRARY NAMES "vorbisfile") find_library(VORBIS_vorbisfile_LIBRARY NAMES "vorbisfile" "libvorbisfile_static")
mark_as_advanced(VORBIS_INCLUDE_DIR VORBIS_vorbis_LIBRARY VORBIS_vorbisfile_LIBRARY) mark_as_advanced(VORBIS_INCLUDE_DIR VORBIS_vorbis_LIBRARY VORBIS_vorbisfile_LIBRARY)