401 lines
9.0 KiB
CMake
401 lines
9.0 KiB
CMake
message(STATUS "")
|
|
message("Configuring support for the following optional third-party packages:")
|
|
|
|
|
|
# Check for and configure Eigen library
|
|
find_package(Eigen3)
|
|
if(HAVE_EIGEN)
|
|
message(STATUS "+ Eigen linear algebra library")
|
|
if(WIN32)
|
|
set(EIGEN_CFLAGS "/arch:SSE2")
|
|
else()
|
|
set(EIGEN_CFLAGS "-msse2")
|
|
endif()
|
|
|
|
set(LINMATH_ALIGN ON CACHE BOOL "If on, vectorization is enabled in build.")
|
|
if(LINMATH_ALIGN)
|
|
message(STATUS "+ (vectorization enabled in build)")
|
|
else()
|
|
message(STATUS "- (vectorization NOT enabled in build)")
|
|
endif()
|
|
else()
|
|
message(STATUS "- Did not find Eigen linear algebra library")
|
|
endif()
|
|
|
|
|
|
# Check for and configure OpenSSL library
|
|
# Mangle the builtin FindOpenSSL output to match Panda3D's config-style
|
|
find_package(OpenSSL QUIET COMPONENTS ssl crypto)
|
|
include(MangleOpenSSL)
|
|
if(HAVE_OPENSSL)
|
|
message(STATUS "+ OpenSSL")
|
|
|
|
if(NOT DEFINED OPTIMIZE OR OPTIMIZE LESS 4)
|
|
set(REPORT_OPENSSL_ERRORS ON CACHE BOOL "If on, OpenSSL reports verbose error messages when they occur.")
|
|
else()
|
|
set(REPORT_OPENSSL_ERRORS OFF CACHE BOOL "If on, OpenSSL reports verbose error messages when they occur.")
|
|
endif()
|
|
else()
|
|
message(STATUS "- Did not find OpenSSL")
|
|
endif()
|
|
|
|
|
|
# Check for and configure JPEG library
|
|
# Mangle the builtin FindJPEG output to match Panda3D's config-style
|
|
find_package(JPEG QUIET COMPONENTS jpeg)
|
|
include(MangleJPEG)
|
|
if(HAVE_JPEG)
|
|
message(STATUS "+ libjpeg")
|
|
set(PHAVE_JPEGINT_H TRUE CACHE BOOL "Set to False if missing jpegint.h.")
|
|
else()
|
|
message(STATUS "- Did not find libjpeg")
|
|
unset(PHAVE_JPEGINT_H CACHE)
|
|
endif()
|
|
|
|
|
|
# Check for and configure PNG library
|
|
# Mangle the builtin FindPNG output to match Panda3D's config-style
|
|
find_package(PNG QUIET COMPONENTS png)
|
|
include(ManglePNG)
|
|
if(HAVE_PNG)
|
|
message(STATUS "+ libpng")
|
|
else()
|
|
message(STATUS "- Did not find libpng")
|
|
endif()
|
|
|
|
|
|
# Check for and configure TIFF library
|
|
# Mangle the builtin FindTIFF output to match Panda3D's config-style
|
|
find_package(TIFF QUIET COMPONENTS tiff z)
|
|
include(MangleTIFF)
|
|
if(HAVE_TIFF)
|
|
message(STATUS "+ libtiff")
|
|
else()
|
|
message(STATUS "- Did not find libtiff")
|
|
endif()
|
|
|
|
|
|
# Check for and configure Tar library
|
|
find_package(Tar)
|
|
if(HAVE_TAR)
|
|
message(STATUS "+ libtar")
|
|
else()
|
|
message(STATUS "- Did not find libtar")
|
|
endif()
|
|
|
|
|
|
# Check for and configure FFTW library
|
|
find_package(FFTW)
|
|
if(HAVE_FFTW)
|
|
message(STATUS "+ fftw")
|
|
else()
|
|
message(STATUS "- Did not find fftw")
|
|
endif()
|
|
|
|
if(HAVE_SQUISH)
|
|
message(STATUS "+ squish")
|
|
else()
|
|
message(STATUS "- Did not find squish")
|
|
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(HAVE_CGGL)
|
|
message(STATUS "+ Cg OpenGL API")
|
|
else()
|
|
message(STATUS "- Did not find Cg OpenGL API")
|
|
endif()
|
|
|
|
if(HAVE_CGDX8)
|
|
message(STATUS "+ Cg DX8 API")
|
|
else()
|
|
message(STATUS "- Did not find Cg DX8 API")
|
|
endif()
|
|
|
|
if(HAVE_CGDX9)
|
|
message(STATUS "+ Cg DX9 API")
|
|
else()
|
|
message(STATUS "- Did not find Cg DX9 API")
|
|
endif()
|
|
|
|
if(HAVE_CGDX10)
|
|
message(STATUS "+ Cg DX10 API")
|
|
else()
|
|
message(STATUS "- Did not find Cg DX10 API")
|
|
endif()
|
|
|
|
if(HAVE_VRPN)
|
|
message(STATUS "+ VRPN")
|
|
else()
|
|
message(STATUS "- Did not find VRPN")
|
|
endif()
|
|
|
|
if(HAVE_ZLIB)
|
|
message(STATUS "+ zlib")
|
|
else()
|
|
message(STATUS "- Did not find zlib")
|
|
endif()
|
|
|
|
if(HAVE_RAD_MSS)
|
|
message(STATUS "+ Miles Sound System")
|
|
else()
|
|
message(STATUS "- Did not find Miles Sound System")
|
|
endif()
|
|
|
|
if(HAVE_FMODEX)
|
|
message(STATUS "+ FMOD Ex sound library")
|
|
else()
|
|
message(STATUS "- Did not find FMOD Ex sound library")
|
|
endif()
|
|
|
|
if(HAVE_OPENAL)
|
|
message(STATUS "+ OpenAL sound library")
|
|
else()
|
|
message(STATUS "- Did not find OpenAL sound library")
|
|
endif()
|
|
|
|
if(HAVE_PHYSX)
|
|
message(STATUS "+ Ageia PhysX")
|
|
else()
|
|
message(STATUS "- Did not find Ageia PhysX")
|
|
endif()
|
|
|
|
if(HAVE_SPEEDTREE)
|
|
message(STATUS "+ SpeedTree")
|
|
else()
|
|
message(STATUS "- Did not find SpeedTree")
|
|
endif()
|
|
|
|
if(HAVE_GTK)
|
|
message(STATUS "+ gtk+-2")
|
|
else()
|
|
message(STATUS "- Did not find gtk+-2")
|
|
endif()
|
|
|
|
if(HAVE_FREETYPE)
|
|
message(STATUS "+ Freetype")
|
|
else()
|
|
message(STATUS "- Did not find Freetype")
|
|
endif()
|
|
|
|
if(HAVE_WX)
|
|
message(STATUS "+ WxWidgets")
|
|
else()
|
|
message(STATUS "- Did not find WxWidgets")
|
|
endif()
|
|
|
|
if(HAVE_FLTK)
|
|
message(STATUS "+ FLTK")
|
|
else()
|
|
message(STATUS "- Did not find FLTK")
|
|
endif()
|
|
|
|
if(HAVE_GL)
|
|
message(STATUS "+ OpenGL")
|
|
else()
|
|
message(STATUS "- Did not find OpenGL")
|
|
endif()
|
|
|
|
if(HAVE_GLES)
|
|
message(STATUS "+ OpenGL ES 1")
|
|
else()
|
|
message(STATUS "- Did not find OpenGL ES 1")
|
|
endif()
|
|
|
|
if(HAVE_GLES2)
|
|
message(STATUS "+ OpenGL ES 2")
|
|
else()
|
|
message(STATUS "- Did not find OpenGL ES 2")
|
|
endif()
|
|
|
|
if(HAVE_DX8)
|
|
message(STATUS "+ DirectX8")
|
|
else()
|
|
message(STATUS "- Did not find DirectX8")
|
|
endif()
|
|
|
|
if(HAVE_DX9)
|
|
message(STATUS "+ DirectX9")
|
|
else()
|
|
message(STATUS "- Did not find DirectX9")
|
|
endif()
|
|
|
|
if(HAVE_TINYDISPLAY)
|
|
message(STATUS "+ Tinydisplay")
|
|
else()
|
|
message(STATUS "- Not building Tinydisplay")
|
|
endif()
|
|
|
|
# if(HAVE_SDL)
|
|
# message(STATUS "+ SDL")
|
|
# else()
|
|
# message(STATUS "- Did not find SDL")
|
|
# endif()
|
|
|
|
if(HAVE_X11)
|
|
message(STATUS "+ X11")
|
|
else()
|
|
message(STATUS "- Did not find X11")
|
|
endif()
|
|
|
|
if(HAVE_MESA)
|
|
message(STATUS "+ Mesa")
|
|
else()
|
|
message(STATUS "- Did not find Mesa")
|
|
endif()
|
|
|
|
if(HAVE_OPENCV)
|
|
message(STATUS "+ OpenCV")
|
|
else()
|
|
message(STATUS "- Did not find OpenCV")
|
|
endif()
|
|
|
|
if(HAVE_FFMPEG)
|
|
message(STATUS "+ FFMPEG")
|
|
else()
|
|
message(STATUS "- Did not find FFMPEG")
|
|
endif()
|
|
|
|
if(HAVE_ODE)
|
|
message(STATUS "+ ODE")
|
|
else()
|
|
message(STATUS "- Did not find ODE")
|
|
endif()
|
|
|
|
if(HAVE_AWESOMIUM)
|
|
message(STATUS "+ AWESOMIUM")
|
|
else()
|
|
message(STATUS "- Did not find AWESOMIUM")
|
|
endif()
|
|
|
|
if(HAVE_MAYA)
|
|
message(STATUS "+ OpenMaya")
|
|
else()
|
|
message(STATUS "- Did not find OpenMaya")
|
|
endif()
|
|
|
|
if(HAVE_FCOLLADA)
|
|
message(STATUS "+ FCollada")
|
|
else()
|
|
message(STATUS "- Did not find FCollada")
|
|
endif()
|
|
|
|
if(HAVE_COLLADA14DOM OR HAVE_COLLADA15DOM)
|
|
message(STATUS "+ COLLADA DOM")
|
|
else()
|
|
message(STATUS "- Did not find COLLADA DOM")
|
|
endif()
|
|
|
|
if(HAVE_ASSIMP)
|
|
message(STATUS "+ Assimp")
|
|
else()
|
|
message(STATUS "- Did not find Assimp")
|
|
endif()
|
|
|
|
if(HAVE_ARTOOLKIT)
|
|
message(STATUS "+ ARToolKit")
|
|
else()
|
|
message(STATUS "- Did not find ARToolKit")
|
|
endif()
|
|
|
|
if(HAVE_ROCKET)
|
|
if(HAVE_ROCKET_PYTHON)
|
|
message(STATUS "+ libRocket with Python bindings")
|
|
else()
|
|
message(STATUS "+ libRocket without Python bindings")
|
|
endif()
|
|
else()
|
|
message(STATUS "- Did not find libRocket")
|
|
endif()
|
|
|
|
if(HAVE_BULLET)
|
|
message(STATUS "+ Bullet Physics")
|
|
else()
|
|
message(STATUS "- Did not find Bullet Physics")
|
|
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 "Compilation will generate Python interfaces.")
|
|
else()
|
|
message(STATUS "Configuring Panda without Python interfaces.")
|
|
endif()
|
|
|
|
if(HAVE_THREADS)
|
|
if(SIMPLE_THREADS)
|
|
message(STATUS "Compilation will include simulated threading support.")
|
|
else()
|
|
if(DO_PIPELINING)
|
|
message(STATUS "Compilation will include full, pipelined threading support.")
|
|
else()
|
|
message(STATUS "Compilation will include nonpipelined threading support.")
|
|
endif()
|
|
endif()
|
|
else()
|
|
message(STATUS "Configuring Panda without threading support.")
|
|
endif()
|
|
|
|
if(OSX_PLATFORM)
|
|
if(UNIVERSAL_BINARIES)
|
|
message(STATUS "Compilation will create universal binaries.")
|
|
else()
|
|
message(STATUS "Compilation will not create universal binaries.")
|
|
endif()
|
|
endif()
|
|
|
|
message(STATUS "")
|
|
message(STATUS "See dtool_config.h for more details about the specified configuration.\n")
|
|
|
|
include(CheckIncludeFileCXX)
|
|
check_include_file_cxx(io.h PHAVE_IO_H)
|
|
check_include_file_cxx(iostream PHAVE_IOSTREAM)
|
|
check_include_file_cxx(malloc.h PHAVE_MALLOC_H)
|
|
check_include_file_cxx(sys/malloc.h PHAVE_SYS_MALLOC_H)
|
|
check_include_file_cxx(alloca.h PHAVE_ALLOCA_H)
|
|
check_include_file_cxx(locale.h PHAVE_LOCALE_H)
|
|
check_include_file_cxx(string.h PHAVE_STRING_H)
|
|
check_include_file_cxx(stdlib.h PHAVE_STDLIB_H)
|
|
check_include_file_cxx(limits.h PHAVE_LIMITS_H)
|
|
check_include_file_cxx(minmax.h PHAVE_MINMAX_H)
|
|
check_include_file_cxx(sstream PHAVE_SSTREAM)
|
|
check_include_file_cxx(new PHAVE_NEW)
|
|
check_include_file_cxx(sys/types.h PHAVE_SYS_TYPES_H)
|
|
check_include_file_cxx(sys/time.h PHAVE_SYS_TIME_H)
|
|
check_include_file_cxx(unistd.h PHAVE_UNISTD_H)
|
|
check_include_file_cxx(utime.h PHAVE_UTIME_H)
|
|
check_include_file_cxx(glob.h PHAVE_GLOB_H)
|
|
check_include_file_cxx(dirent.h PHAVE_DIRENT_H)
|
|
check_include_file_cxx(drfftw.h PHAVE_DRFFTW_H)
|
|
check_include_file_cxx(sys/soundcard.h PHAVE_SYS_SOUNDCARD_H)
|
|
check_include_file_cxx(ucontext.h PHAVE_UCONTEXT_H)
|
|
check_include_file_cxx(linux/input.h PHAVE_LINUX_INPUT_H)
|
|
check_include_file_cxx(stdint.h PHAVE_STDINT_H)
|
|
|
|
set(HAVE_NAMESPACE ON)
|
|
set(HAVE_LOCKF ON)
|
|
set(HAVE_WCHAR_T ON)
|
|
set(HAVE_WSTRING ON)
|
|
set(HAVE_TYPENAME ON)
|
|
set(SIMPLE_STRUCT_POINTERS ON)
|
|
set(HAVE_STREAMSIZE ON)
|
|
set(HAVE_IOS_TYPEDEFS ON)
|
|
|
|
if(WIN32)
|
|
set(DEFAULT_PATHSEP ";")
|
|
else()
|
|
set(DEFAULT_PATHSEP ":")
|
|
endif()
|
|
|
|
configure_file(dtool_config.h.cmake ${CMAKE_BINARY_DIR}/include/dtool_config.h)
|
|
include_directories("${CMAKE_BINARY_DIR}/include")
|