CMake: Configure: Update config vars with USE_<PACKAGE> variables for each package that allow toggling of individual packages.

This commit is contained in:
kestred 2013-11-30 01:03:08 -07:00
parent a71c7e6ad1
commit b44101819c
9 changed files with 313 additions and 19 deletions

View File

@ -10,7 +10,7 @@
#
# Once done this will define
#
# HAVE_EIGEN - system has eigen lib with correct version
# FOUND_EIGEN - system has eigen lib with correct version
# EIGEN_IPATH - the eigen include directory
# EIGEN_VERSION - eigen version
#
@ -57,7 +57,7 @@ endmacro()
if(EIGEN_IPATH)
# If already in cache, just check that the version is correct
_eigen_check_version()
set(HAVE_EIGEN ${EIGEN_VERSION_OK})
set(FOUND_EIGEN ${EIGEN_VERSION_OK})
else()
# Otherwise find it manually
find_path(EIGEN_IPATH
@ -70,7 +70,7 @@ else()
# Checking to make sure it has the write version
if(EIGEN_IPATH)
_eigen_check_version()
set(HAVE_EIGEN ${EIGEN_VERSION_OK})
set(FOUND_EIGEN ${EIGEN_VERSION_OK})
endif()
mark_as_advanced(EIGEN_IPATH)

View File

@ -10,7 +10,7 @@
#
# Once done this will define
#
# HAVE_EIGEN - system has eigen lib with correct version
# FOUND_EIGEN - system has eigen lib with correct version
# EIGEN_IPATH - the eigen include directory
# EIGEN_VERSION - eigen version
#
@ -57,7 +57,7 @@ endmacro()
if(EIGEN_IPATH)
# If already in cache, just check that the version is correct
_eigen_check_version()
set(HAVE_EIGEN ${EIGEN_VERSION_OK})
set(FOUND_EIGEN ${EIGEN_VERSION_OK})
else()
# Otherwise find it manually
find_path(EIGEN_IPATH
@ -70,7 +70,7 @@ else()
# Checking to make sure it has the write version
if(EIGEN_IPATH)
_eigen_check_version()
set(HAVE_EIGEN ${EIGEN_VERSION_OK})
set(FOUND_EIGEN ${EIGEN_VERSION_OK})
endif()
mark_as_advanced(EIGEN_IPATH)

View File

@ -5,7 +5,7 @@
# find_package(FFTW [REQUIRED] [QUIET])
#
# It sets the following variables:
# HAVE_FFTW - true if fftw is found on the system
# FOUND_FFTW - true if fftw is found on the system
# FFTW_IPATH - the fftw include directory
# FFTW_LPATH - the fftw library directory
#
@ -15,7 +15,7 @@
#
if(FFTW_IPATH AND FFTW_LPATH)
set(HAVE_FFTW TRUE)
set(FOUND_FFTW TRUE)
else()
# Check if we can use PkgConfig
find_package(PkgConfig QUIET)
@ -117,7 +117,7 @@ else()
# Check if we have everything we need
if(FFTW_IPATH AND FFTW_LPATH)
set(HAVE_FFTW TRUE)
set(FOUND_FFTW TRUE)
endif()
unset(FFTW_LIBRARY_DIR)

View File

@ -5,14 +5,14 @@
# find_package(Tar [REQUIRED] [QUIET])
#
# It sets the following variables:
# HAVE_TAR - system has libtar
# FOUND_TAR - system has libtar
# TAR_IPATH - the tar include directory
# TAR_LPATH - the tar library directory
# TAR_LIBS - the tar components found
#
if(TAR_IPATH AND TAR_LPATH)
set(HAVE_TAR TRUE)
set(FOUND_TAR TRUE)
set(TAR_LIBS tar)
else()
# Find the libtar include files
@ -37,7 +37,7 @@ else()
# Check if we have everything we need
if(TAR_IPATH AND TAR_LPATH)
set(HAVE_TAR TRUE)
set(FOUND_TAR TRUE)
set(TAR_LIBS tar)
endif()

View File

@ -6,7 +6,7 @@
#
if(JPEG_FOUND)
set(HAVE_JPEG TRUE)
set(FOUND_JPEG TRUE)
set(JPEG_LIBS jpeg)
get_filename_component(JPEG_LIBRARY_DIR "${JPEG_LIBRARY}" PATH)

View File

@ -6,7 +6,7 @@
#
if(OPENSSL_FOUND)
set(HAVE_OPENSSL TRUE)
set(FOUND_OPENSSL TRUE)
set(OPENSSL_LIBS ssl crypto)
list(GET OPENSSL_LIBRARIES 0 OPENSSL_LIBRARY)

View File

@ -6,7 +6,7 @@
#
if(PNG_FOUND)
set(HAVE_PNG TRUE)
set(FOUND_PNG TRUE)
set(PNG_LIBS png)
get_filename_component(PNG_LIBRARY_DIR "${PNG_LIBRARY}" PATH)

View File

@ -6,7 +6,7 @@
#
if(TIFF_FOUND)
set(HAVE_TIFF TRUE)
set(FOUND_TIFF TRUE)
set(TIFF_LIBS tiff z)
get_filename_component(TIFF_LIBRARY_DIR "${TIFF_LIBRARY}" PATH)

View File

@ -4,6 +4,12 @@ message("Configuring support for the following optional third-party packages:")
# Check for and configure Eigen library
find_package(Eigen3)
if(FOUND_EIGEN)
set(USE_EIGEN TRUE CACHE BOOL "If true, compile Panda3D with eigen")
if(USE_EIGEN)
set(HAVE_EIGEN TRUE)
endif()
endif()
if(HAVE_EIGEN)
message(STATUS "+ Eigen linear algebra library")
if(WIN32)
@ -27,6 +33,12 @@ endif()
# Mangle the builtin FindOpenSSL output to match Panda3D's config-style
find_package(OpenSSL QUIET COMPONENTS ssl crypto)
include(MangleOpenSSL)
if(FOUND_OPENSSL)
set(USE_OPENSSL TRUE CACHE BOOL "If true, compile Panda3D with OpenSSL")
if(USE_OPENSSL)
set(HAVE_OPENSSL TRUE)
endif()
endif()
if(HAVE_OPENSSL)
message(STATUS "+ OpenSSL")
@ -44,6 +56,12 @@ endif()
# Mangle the builtin FindJPEG output to match Panda3D's config-style
find_package(JPEG QUIET COMPONENTS jpeg)
include(MangleJPEG)
if(FOUND_JPEG)
set(USE_JPEG TRUE CACHE BOOL "If true, compile Panda3D with libjpeg")
if(USE_JPEG)
set(HAVE_JPEG TRUE)
endif()
endif()
if(HAVE_JPEG)
message(STATUS "+ libjpeg")
set(PHAVE_JPEGINT_H TRUE CACHE BOOL "Set to False if missing jpegint.h.")
@ -57,6 +75,12 @@ endif()
# Mangle the builtin FindPNG output to match Panda3D's config-style
find_package(PNG QUIET COMPONENTS png)
include(ManglePNG)
if(FOUND_PNG)
set(USE_PNG TRUE CACHE BOOL "If true, compile Panda3D with libpng")
if(USE_PNG)
set(HAVE_PNG TRUE)
endif()
endif()
if(HAVE_PNG)
message(STATUS "+ libpng")
else()
@ -68,6 +92,12 @@ endif()
# Mangle the builtin FindTIFF output to match Panda3D's config-style
find_package(TIFF QUIET COMPONENTS tiff z)
include(MangleTIFF)
if(FOUND_TIFF)
set(USE_TIFF TRUE CACHE BOOL "If true, compile Panda3D with libtiff")
if(USE_TIFF)
set(HAVE_TIFF TRUE)
endif()
endif()
if(HAVE_TIFF)
message(STATUS "+ libtiff")
else()
@ -77,6 +107,12 @@ endif()
# Check for and configure Tar library
find_package(Tar)
if(FOUND_TAR)
set(USE_TAR TRUE CACHE BOOL "If true, compile Panda3D with libtar")
if(USE_TAR)
set(HAVE_TAR TRUE)
endif()
endif()
if(HAVE_TAR)
message(STATUS "+ libtar")
else()
@ -86,223 +122,457 @@ endif()
# Check for and configure FFTW library
find_package(FFTW)
if(FOUND_FFTW)
set(USE_FFTW TRUE CACHE BOOL "If true, compile Panda3D with fftw")
if(USE_FFTW)
set(HAVE_FFTW TRUE)
endif()
endif()
if(HAVE_FFTW)
message(STATUS "+ fftw")
else()
message(STATUS "- Did not find fftw")
endif()
if(FOUND_SQUISH)
set(USE_SQUISH TRUE CACHE BOOL "If true, compile Panda3D with squish")
if(USE_SQUISH)
set(HAVE_SQUISH TRUE)
endif()
endif()
if(HAVE_SQUISH)
message(STATUS "+ squish")
else()
message(STATUS "- Did not find squish")
endif()
if(FOUND_CG)
set(USE_CG TRUE CACHE BOOL "If true, compile Panda3D with Nvidia Cg")
if(USE_CG)
set(HAVE_CG TRUE)
endif()
endif()
if(HAVE_CG)
message(STATUS "+ Nvidia Cg High Level Shading Language")
else()
message(STATUS "- Did not find Nvidia Cg High Level Shading Language")
endif()
if(FOUND_CGGL)
set(USE_CGGL TRUE CACHE BOOL "If true, compile Panda3D with Cg OpenGL API")
if(USE_CGGL)
set(HAVE_CGGL TRUE)
endif()
endif()
if(HAVE_CGGL)
message(STATUS "+ Cg OpenGL API")
else()
message(STATUS "- Did not find Cg OpenGL API")
endif()
if(FOUND_CGDX8)
set(USE_CGDX8 TRUE CACHE BOOL "If true, compile Panda3D with Cg DX8 API")
if(USE_CGDX8)
set(HAVE_CGDX8 TRUE)
endif()
endif()
if(HAVE_CGDX8)
message(STATUS "+ Cg DX8 API")
else()
message(STATUS "- Did not find Cg DX8 API")
endif()
if(FOUND_CGDX9)
set(USE_CGDX9 TRUE CACHE BOOL "If true, compile Panda3D with Cg DX9 API")
if(USE_CGDX9)
set(HAVE_CGDX9 TRUE)
endif()
endif()
if(HAVE_CGDX9)
message(STATUS "+ Cg DX9 API")
else()
message(STATUS "- Did not find Cg DX9 API")
endif()
if(FOUND_CGDX10)
set(USE_CGDX10 TRUE CACHE BOOL "If true, compile Panda3D with Cg DX10 API")
if(USE_CGDX10)
set(HAVE_CGDX10 TRUE)
endif()
endif()
if(HAVE_CGDX10)
message(STATUS "+ Cg DX10 API")
else()
message(STATUS "- Did not find Cg DX10 API")
endif()
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)
set(USE_ZLIB TRUE CACHE BOOL "If true, compile Panda3D with zlib")
if(USE_ZLIB)
set(HAVE_ZLIB TRUE)
endif()
endif()
if(HAVE_ZLIB)
message(STATUS "+ zlib")
else()
message(STATUS "- Did not find zlib")
endif()
if(FOUND_RAD_MSS)
set(USE_RAD_MSS TRUE CACHE BOOL "If true, compile Panda3D with Miles Sound System")
if(USE_RAD_MSS)
set(HAVE_RAD_MSS TRUE)
endif()
endif()
if(HAVE_RAD_MSS)
message(STATUS "+ Miles Sound System")
else()
message(STATUS "- Did not find Miles Sound System")
endif()
if(FOUND_FMODEX)
set(USE_FMODEX TRUE CACHE BOOL "If true, compile Panda3D with FMOD Ex sound library")
if(USE_FMODEX)
set(HAVE_FMODEX TRUE)
endif()
endif()
if(HAVE_FMODEX)
message(STATUS "+ FMOD Ex sound library")
else()
message(STATUS "- Did not find FMOD Ex sound library")
endif()
if(FOUND_OPENAL)
set(USE_OPENAL TRUE CACHE BOOL "If true, compile Panda3D with OpenAL sound library")
if(USE_OPENAL)
set(HAVE_OPENAL TRUE)
endif()
endif()
if(HAVE_OPENAL)
message(STATUS "+ OpenAL sound library")
else()
message(STATUS "- Did not find OpenAL sound library")
endif()
if(FOUND_PHYSX)
set(USE_PHYSX TRUE CACHE BOOL "If true, compile Panda3D with Aegia PhysX")
if(USE_PHYSX)
set(HAVE_PHYSX TRUE)
endif()
endif()
if(HAVE_PHYSX)
message(STATUS "+ Ageia PhysX")
else()
message(STATUS "- Did not find Ageia PhysX")
endif()
if(FOUND_SPEEDTREE)
set(USE_SPEEDTREE TRUE CACHE BOOL "If true, compile Panda3D with SpeedTree")
if(USE_SPEEDTREE)
set(HAVE_SPEEDTREE TRUE)
endif()
endif()
if(HAVE_SPEEDTREE)
message(STATUS "+ SpeedTree")
else()
message(STATUS "- Did not find SpeedTree")
endif()
if(FOUND_GTK)
set(USE_GTK TRUE CACHE BOOL "If true, compile Panda3D with gtk+-2")
if(USE_GTK)
set(HAVE_GTK TRUE)
endif()
endif()
if(HAVE_GTK)
message(STATUS "+ gtk+-2")
else()
message(STATUS "- Did not find gtk+-2")
endif()
if(FOUND_FREETYPE)
set(USE_FREETYPE TRUE CACHE BOOL "If true, compile Panda3D with Freetype")
if(USE_FREETYPE)
set(HAVE_FREETYPE TRUE)
endif()
endif()
if(HAVE_FREETYPE)
message(STATUS "+ Freetype")
else()
message(STATUS "- Did not find Freetype")
endif()
if(FOUND_WX)
set(USE_WX TRUE CACHE BOOL "If true, compile Panda3D with WxWidgets")
if(USE_WX)
set(HAVE_WX TRUE)
endif()
endif()
if(HAVE_WX)
message(STATUS "+ WxWidgets")
else()
message(STATUS "- Did not find WxWidgets")
endif()
if(FOUND_FLTK)
set(USE_FLTK TRUE CACHE BOOL "If true, compile Panda3D with FLTK")
if(USE_FLTK)
set(HAVE_FLTK TRUE)
endif()
endif()
if(HAVE_FLTK)
message(STATUS "+ FLTK")
else()
message(STATUS "- Did not find FLTK")
endif()
if(FOUND_GL)
set(USE_GL TRUE CACHE BOOL "If true, compile Panda3D with OpenGL")
if(USE_GL)
set(HAVE_GL TRUE)
endif()
endif()
if(HAVE_GL)
message(STATUS "+ OpenGL")
else()
message(STATUS "- Did not find OpenGL")
endif()
if(FOUND_GLES)
set(USE_GLES TRUE CACHE BOOL "If true, compile Panda3D with OpenGL ES 1")
if(USE_GLES)
set(HAVE_GLES TRUE)
endif()
endif()
if(HAVE_GLES)
message(STATUS "+ OpenGL ES 1")
else()
message(STATUS "- Did not find OpenGL ES 1")
endif()
if(FOUND_GLES2)
set(USE_GLES2 TRUE CACHE BOOL "If true, compile Panda3D with OpenGL ES 2")
if(USE_GLES2)
set(HAVE_GLES2 TRUE)
endif()
endif()
if(HAVE_GLES2)
message(STATUS "+ OpenGL ES 2")
else()
message(STATUS "- Did not find OpenGL ES 2")
endif()
if(FOUND_DX8)
set(USE_DX8 TRUE CACHE BOOL "If true, compile Panda3D with DirectX8")
if(USE_DX8)
set(HAVE_DX8 TRUE)
endif()
endif()
if(HAVE_DX8)
message(STATUS "+ DirectX8")
else()
message(STATUS "- Did not find DirectX8")
endif()
if(FOUND_DX9)
set(USE_DX9 TRUE CACHE BOOL "If true, compile Panda3D with DirectX9")
if(USE_DX9)
set(HAVE_DX9 TRUE)
endif()
endif()
if(HAVE_DX9)
message(STATUS "+ DirectX9")
else()
message(STATUS "- Did not find DirectX9")
endif()
if(FOUND_TINYDISPLAY)
set(USE_TINYDISPLAY TRUE CACHE BOOL "If true, compile Panda3D with Tinydisplay")
if(USE_TINYDISPLAY)
set(HAVE_TINYDISPLAY TRUE)
endif()
endif()
if(HAVE_TINYDISPLAY)
message(STATUS "+ Tinydisplay")
else()
message(STATUS "- Not building Tinydisplay")
endif()
# if(HAVE_SDL)
#### Was commented out in original 'Config.pp' not sure why
#if(FOUND_SDL)
# set(USE_SDL TRUE CACHE BOOL "If true, compile Panda3D with SDL")
# if(USE_SDL)
# set(HAVE_SDL TRUE)
# endif()
#endif()
#if(HAVE_SDL)
# message(STATUS "+ SDL")
# else()
# message(STATUS "- Did not find SDL")
# endif()
if(FOUND_X11)
set(USE_X11 TRUE CACHE BOOL "If true, compile Panda3D with X11")
if(USE_X11)
set(HAVE_X11 TRUE)
endif()
endif()
if(HAVE_X11)
message(STATUS "+ X11")
else()
message(STATUS "- Did not find X11")
endif()
if(FOUND_MESA)
set(USE_MESA TRUE CACHE BOOL "If true, compile Panda3D with Mesa")
if(USE_MESA)
set(HAVE_MESA TRUE)
endif()
endif()
if(HAVE_MESA)
message(STATUS "+ Mesa")
else()
message(STATUS "- Did not find Mesa")
endif()
if(FOUND_OPENCV)
set(USE_OPENCV TRUE CACHE BOOL "If true, compile Panda3D with OpenCV")
if(USE_OPENCV)
set(HAVE_OPENCV TRUE)
endif()
endif()
if(HAVE_OPENCV)
message(STATUS "+ OpenCV")
else()
message(STATUS "- Did not find OpenCV")
endif()
if(FOUND_FFMPEG)
set(USE_FFMPEG TRUE CACHE BOOL "If true, compile Panda3D with FFMPEG")
if(USE_FFMPEG)
set(HAVE_FFMPEG TRUE)
endif()
endif()
if(HAVE_FFMPEG)
message(STATUS "+ FFMPEG")
else()
message(STATUS "- Did not find FFMPEG")
endif()
if(FOUND_ODE)
set(USE_ODE TRUE CACHE BOOL "If true, compile Panda3D with ODE")
if(USE_ODE)
set(HAVE_ODE TRUE)
endif()
endif()
if(HAVE_ODE)
message(STATUS "+ ODE")
else()
message(STATUS "- Did not find ODE")
endif()
if(FOUND_AWESOMIUM)
set(USE_AWESOMIUM TRUE CACHE BOOL "If true, compile Panda3D with AWESOMIUM")
if(USE_AWESOMIUM)
set(HAVE_AWESOMIUM TRUE)
endif()
endif()
if(HAVE_AWESOMIUM)
message(STATUS "+ AWESOMIUM")
else()
message(STATUS "- Did not find AWESOMIUM")
endif()
if(FOUND_MAYA)
set(USE_MAYA TRUE CACHE BOOL "If true, compile Panda3D with OpenMaya")
if(USE_MAYA)
set(HAVE_MAYA TRUE)
endif()
endif()
if(HAVE_MAYA)
message(STATUS "+ OpenMaya")
else()
message(STATUS "- Did not find OpenMaya")
endif()
if(FOUND_FCOLLADA)
set(USE_FCOLLADA TRUE CACHE BOOL "If true, compile Panda3D with FCollada")
if(USE_FCOLLADA)
set(HAVE_FCOLLADA TRUE)
endif()
endif()
if(HAVE_FCOLLADA)
message(STATUS "+ FCollada")
else()
message(STATUS "- Did not find FCollada")
endif()
if(FOUND_COLLADA14DOM OR FOUND_COLLADA15DOM)
set(USE_COLLADA TRUE CACHE BOOL "If true, compile Panda3D with COLLADA DOM")
if(USE_COLLADA)
if(FOUND_COLLADA15DOM)
set(HAVE_COLLADA15DOM TRUE)
else()
set(HAVE_COLLADA14DOM TRUE)
endif()
endif()
endif()
if(HAVE_COLLADA14DOM OR HAVE_COLLADA15DOM)
message(STATUS "+ COLLADA DOM")
else()
message(STATUS "- Did not find COLLADA DOM")
endif()
if(FOUND_ASSIMP)
set(USE_ASSIMP TRUE CACHE BOOL "If true, compile Panda3D with Assimp")
if(USE_ASSIMP)
set(HAVE_ASSIMP TRUE)
endif()
endif()
if(HAVE_ASSIMP)
message(STATUS "+ Assimp")
else()
message(STATUS "- Did not find Assimp")
endif()
if(FOUND_ARTOOLKIT)
set(USE_ARTOOLKIT TRUE CACHE BOOL "If true, compile Panda3D with ARToolKit")
if(USE_ARTOOLKIT)
set(HAVE_ARTOOLKIT TRUE)
endif()
endif()
if(HAVE_ARTOOLKIT)
message(STATUS "+ ARToolKit")
else()
message(STATUS "- Did not find ARToolKit")
endif()
if(FOUND_ROCKET)
set(USE_ROCKET TRUE CACHE BOOL "If true, compile Panda3D with libRocket")
if(USE_ROCKET)
set(HAVE_ROCKET TRUE)
endif()
endif()
if(HAVE_ROCKET)
# Check for rocket python bindings
if(FOUND_ROCKET_PYTHON)
set(USE_ROCKET_PYTHON TRUE CACHE BOOL "If true, compile Panda3D with python bindings for libRocket")
if(USE_ROCKET_PYTHON)
set(HAVE_ROCKET_PYTHON TRUE)
endif()
endif()
if(HAVE_ROCKET_PYTHON)
message(STATUS "+ libRocket with Python bindings")
else()
@ -312,25 +582,49 @@ else()
message(STATUS "- Did not find libRocket")
endif()
if(FOUND_BULLET)
set(USE_BULLET TRUE CACHE BOOL "If true, compile Panda3D with Bullet Physics")
if(USE_BULLET)
set(HAVE_BULLET TRUE)
endif()
endif()
if(HAVE_BULLET)
message(STATUS "+ Bullet Physics")
else()
message(STATUS "- Did not find Bullet Physics")
endif()
if(FOUND_VORBIS)
set(USE_VORBIS TRUE CACHE BOOL "If true, compile Panda3D with libvorbis")
if(USE_VORBIS)
set(HAVE_VORBIS TRUE)
endif()
endif()
if(HAVE_VORBIS)
message(STATUS "+ libvorbis (Ogg Vorbis Decoder)")
else()
message(STATUS "- Did not find libvorbis (Ogg Vorbis Decoder)")
endif()
message(STATUS "")
if(HAVE_INTERROGATE AND HAVE_PYTHON)
message(STATUS "") # simple line break
if(FOUND_INTERROGATE AND HAVE_PYTHON)
set(USE_INTERROGATE TRUE CACHE BOOL "If true, Panda3D will generate python interfaces")
if(USE_INTERROGATE)
set(HAVE_INTERROGATE TRUE)
endif()
endif()
if(HAVE_INTERROGATE)
message(STATUS "Compilation will generate Python interfaces.")
else()
message(STATUS "Configuring Panda without Python interfaces.")
endif()
if(FOUND_THREADS)
set(USE_THREADS TRUE CACHE BOOL "If true, compile Panda3D with threading support.")
if(USE_THREADS)
set(HAVE_THREADS TRUE)
endif()
endif()
if(HAVE_THREADS)
if(SIMPLE_THREADS)
message(STATUS "Compilation will include simulated threading support.")