Browse Source

Merge branch 'cmake' into cmake-cfs-direct

Conflicts:
	panda/CMakeLists.txt
Sam Edwards 12 years ago
parent
commit
94264a0b8d

+ 269 - 7
dtool/LocalSetup.cmake

@@ -180,15 +180,276 @@ else()
 endif()
 
 # Now go through all the packages and report whether we have them.
-message(STATUS "Configuring support for the following optional third-party packages:")
+message("")
+message("Configuring support for the following optional third-party packages:")
+if(HAVE_EIGEN)
+  message("+ Eigen linear algebra library")
+  if(LINMATH_ALIGN)
+    message("+   (vectorization enabled in build)")
+  else()
+    message("-   (vectorization NOT enabled in build)")
+  endif()
+else()
+  message("- Did not find Eigen linear algebra library")
+endif()
+
+if(HAVE_OPENSSL)
+  message("+ OpenSSL")
+else()
+  message("- Did not find OpenSSL")
+endif()
+
+if(HAVE_JPEG)
+  message("+ libjpeg")
+else()
+  message("- Did not find libjpeg")
+endif()
+
+if(HAVE_PNG)
+  message("+ libpng")
+else()
+  message("- Did not find libpng")
+endif()
+
+if(HAVE_TIFF)
+  message("+ libtiff")
+else()
+  message("- Did not find libtiff")
+endif()
+
+if(HAVE_TAR)
+  message("+ libtar")
+else()
+  message("- Did not find libtar")
+endif()
+
+if(HAVE_FFTW)
+  message("+ fftw")
+else()
+  message("- Did not find fftw")
+endif()
+
+if(HAVE_SQUISH)
+  message("+ squish")
+else()
+  message("- Did not find squish")
+endif()
+
+if(HAVE_CG)
+  message("+ Nvidia Cg High Level Shading Language")
+else()
+  message("- Did not find Nvidia Cg High Level Shading Language")
+endif()
+
+if(HAVE_CGGL)
+  message("+ Cg OpenGL API")
+else()
+  message("- Did not find Cg OpenGL API")
+endif()
+
+if(HAVE_CGDX8)
+  message("+ Cg DX8 API")
+else()
+  message("- Did not find Cg DX8 API")
+endif()
+
+if(HAVE_CGDX9)
+  message("+ Cg DX9 API")
+else()
+  message("- Did not find Cg DX9 API")
+endif()
+
+if(HAVE_CGDX10)
+  message("+ Cg DX10 API")
+else()
+  message("- Did not find Cg DX10 API")
+endif()
+
+if(HAVE_VRPN)
+  message("+ VRPN")
+else()
+  message("- Did not find VRPN")
+endif()
+
+if(HAVE_ZLIB)
+  message("+ zlib")
+else()
+  message("- Did not find zlib")
+endif()
+
+if(HAVE_RAD_MSS)
+  message("+ Miles Sound System")
+else()
+  message("- Did not find Miles Sound System")
+endif()
+
+if(HAVE_FMODEX)
+  message("+ FMOD Ex sound library")
+else()
+  message("- Did not find FMOD Ex sound library")
+endif()
+
+if(HAVE_OPENAL)
+  message("+ OpenAL sound library")
+else()
+  message("- Did not find OpenAL sound library")
+endif()
+
+if(HAVE_PHYSX)
+  message("+ Ageia PhysX")
+else()
+  message("- Did not find Ageia PhysX")
+endif()
+
+if(HAVE_SPEEDTREE)
+  message("+ SpeedTree")
+else()
+  message("- Did not find SpeedTree")
+endif()
+
+if(HAVE_GTK2)
+  message("+ gtk+-2")
+else()
+  message("- Did not find gtk+-2")
+endif()
+
+if(HAVE_FREETYPE)
+  message("+ Freetype")
+else()
+  message("- Did not find Freetype")
+endif()
+
+if(HAVE_WX)
+  message("+ WxWidgets")
+else()
+  message("- Did not find WxWidgets")
+endif()
+
+if(HAVE_FLTK)
+  message("+ FLTK")
+else()
+  message("- Did not find FLTK")
+endif()
+
+if(HAVE_GL)
+  message("+ OpenGL")
+else()
+  message("- Did not find OpenGL")
+endif()
+
+if(HAVE_GLES)
+  message("+ OpenGL ES 1")
+else()
+  message("- Did not find OpenGL ES 1")
+endif()
+
+if(HAVE_GLES2)
+  message("+ OpenGL ES 2")
+else()
+  message("- Did not find OpenGL ES 2")
+endif()
+
+if(HAVE_DX8)
+  message("+ DirectX8")
+else()
+  message("- Did not find DirectX8")
+endif()
+
+if(HAVE_DX9)
+  message("+ DirectX9")
+else()
+  message("- Did not find DirectX9")
+endif()
+
+if(HAVE_TINYDISPLAY)
+  message("+ Tinydisplay")
+else()
+  message("- Not building Tinydisplay")
+endif()
+
+if(HAVE_X11)
+  message("+ X11")
+else()
+  message("- Did not find X11")
+endif()
+
+if(HAVE_MESA)
+  message("+ Mesa")
+else()
+  message("- Did not find Mesa")
+endif()
+
+if(HAVE_OPENCV)
+  message("+ OpenCV")
+else()
+  message("- Did not find OpenCV")
+endif()
 
-#report_package(EIGEN "Eigen linear algebra library")
-if(LINMATH_ALIGN)
-  message("+   (vectorization enabled in build)")
+if(HAVE_FFMPEG)
+  message("+ FFMPEG")
 else()
-  message("-   (vectorization NOT enabled in build)")
+  message("- Did not find FFMPEG")
 endif()
 
+if(HAVE_ODE)
+  message("+ ODE")
+else()
+  message("- Did not find ODE")
+endif()
+
+if(HAVE_AWESOMIUM)
+  message("+ AWESOMIUM")
+else()
+  message("- Did not find AWESOMIUM")
+endif()
+
+if(HAVE_MAYA)
+  message("+ OpenMaya")
+else()
+  message("- Did not find OpenMaya")
+endif()
+
+if(HAVE_FCOLLADA)
+  message("+ FCollada")
+else()
+  message("- Did not find FCollada")
+endif()
+
+if(HAVE_ASSIMP)
+  message("+ Assimp")
+else()
+  message("- Did not find Assimp")
+endif()
+
+if(HAVE_ARTOOLKIT)
+  message("+ ARToolKit")
+else()
+  message("- Did not find ARToolKit")
+endif()
+
+if(HAVE_ROCKET)
+  if(HAVE_ROCKET_PYTHON)
+    message("+ libRocket with Python bindings")
+  else()
+    message("+ libRocket without Python bindings")
+  endif()
+else()
+  message("- Did not find libRocket")
+endif()
+
+if(HAVE_BULLET)
+  message("+ Bullet Physics")
+else()
+  message("- Did not find Bullet Physics")
+endif()
+
+if(HAVE_VORBIS)
+  message("+ libvorbis (Ogg Vorbis Decoder)")
+else()
+  message("- Did not find libvorbis (Ogg Vorbis Decoder)")
+endif()
+
+message("")
 if(HAVE_INTERROGATE AND HAVE_PYTHON)
   message("Compilation will generate Python interfaces.")
 else()
@@ -198,10 +459,8 @@ endif()
 if(HAVE_THREADS)
   if(SIMPLE_THREADS)
     message("Compilation will include simulated threading support.")
-
   elseif(DO_PIPELINING)
     message("Compilation will include full, pipelined threading support.")
-
   else()
     message("Compilation will include nonpipelined threading support.")
   endif()
@@ -209,8 +468,11 @@ else()
   message("Configuring Panda without threading support.")
 endif()
 
+message("")
 message("See dtool_config.h for more details about the specified configuration.")
 
+message("")
+
 # Generate dtool_config.h
 configure_file(dtool_config.h.in "${PROJECT_BINARY_DIR}/include/dtool_config.h")
 include_directories("${PROJECT_BINARY_DIR}/include")

+ 2 - 6
dtool/Package.cmake

@@ -1,6 +1,3 @@
-message(STATUS "")
-message(STATUS "Configuring support for the following optional third-party packages:")
-
 # Find and configure Miles Sound System
 find_package(Miles QUIET)
 #config_package(RAD_MSS "Miles Sound System")
@@ -26,9 +23,8 @@ package_option(FREETYPE)
 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)
-set(GTK_FOUND ${GTK2_FOUND}) # Mangle for convenience
-#config_package(GTK "gtk+-2")
-package_option(GTK)
+#config_package(GTK2 "gtk+-2")
+package_option(GTK2)
 
 # Find and configure WxWidgets
 find_package(wxWidgets QUIET)

+ 1 - 1
dtool/src/interrogatedb/CMakeLists.txt

@@ -30,4 +30,4 @@ set(P3INTERROGATEDB_SOURCES
 composite_sources(p3interrogatedb P3INTERROGATEDB_SOURCES)
 
 add_library(p3interrogatedb ${P3INTERROGATEDB_HEADERS} ${P3INTERROGATEDB_SOURCES})
-target_link_libraries(p3interrogatedb p3dconfig ${PYTHON_LIBRARIES})
+target_link_libraries(p3interrogatedb p3dconfig)

+ 10 - 6
panda/CMakeLists.txt

@@ -29,10 +29,6 @@ add_subdirectory(src/linmath)
 add_subdirectory(src/event)
 add_subdirectory(src/mathutil)
 add_subdirectory(src/gsgbase)
-add_subdirectory(src/glstuff)
-add_subdirectory(src/glgsg)
-add_subdirectory(src/glxdisplay)
-add_subdirectory(src/x11display)
 add_subdirectory(src/pnmimage)
 add_subdirectory(src/pnmimagetypes)
 add_subdirectory(src/gobj)
@@ -40,6 +36,12 @@ add_subdirectory(src/pgraph)
 add_subdirectory(src/pgraphnodes)
 add_subdirectory(src/cull)
 add_subdirectory(src/display)
+add_subdirectory(src/glstuff)
+add_subdirectory(src/glgsg)
+add_subdirectory(src/x11display)
+add_subdirectory(src/glxdisplay)
+add_subdirectory(src/windisplay)
+add_subdirectory(src/wgldisplay)
 add_subdirectory(src/movies)
 add_subdirectory(src/audio)
 add_subdirectory(src/chan)
@@ -66,17 +68,19 @@ add_subdirectory(metalibs/panda)
 add_subdirectory(metalibs/pandagl)
 add_subdirectory(metalibs/pandaegg)
 
-
 # Now add the Python modules:
 set(CORE_MODULE_COMPONENTS
     p3chan p3char p3collide p3cull p3device p3dgraph p3display p3downloader
     p3event p3express p3gobj p3grutil p3gsgbase p3linmath p3mathutil p3nativenet
     p3net p3movies p3parametrics p3pgraph p3pgraphnodes p3pgui p3pipeline
-    p3pnmimage p3pnmtext p3pstatclient p3putil p3recorder p3text p3tform)
+    p3pnmimage p3pstatclient p3putil p3recorder p3text p3tform)
 
 if(HAVE_AUDIO)
   list(APPEND CORE_MODULE_COMPONENTS p3audio)
 endif()
+if(HAVE_FREETYPE)
+  list(APPEND CORE_MODULE_COMPONENTS p3pnmtext)
+endif()
 
 add_python_module(core ${CORE_MODULE_COMPONENTS})
 

+ 4 - 1
panda/metalibs/pandagl/CMakeLists.txt

@@ -11,7 +11,10 @@ if(HAVE_GL)
   set(PANDAGL_LINK_TARGETS p3glgsg)
 
   if(HAVE_GLX)
-    set(PANDAGL_LINK_TARGETS ${PANDAGL_LINK_TARGETS} p3glxdisplay)
+    list(APPEND PANDAGL_LINK_TARGETS p3glxdisplay)
+  endif()
+  if(HAVE_WGL)
+    list(APPEND PANDAGL_LINK_TARGETS p3wgldisplay)
   endif()
 
 

+ 4 - 0
panda/src/express/CMakeLists.txt

@@ -130,6 +130,10 @@ target_link_libraries(p3express p3pandabase p3dtool p3dtoolconfig
   ${_TAR_LIBRARY})
 target_interrogate(p3express ALL)
 
+if(WIN32)
+  target_link_libraries(p3express advapi32.lib ws2_32.lib)
+endif()
+
 #add_executable(p3expressTestTypes test_types.cxx)
 #target_link_libraries(p3expressTestTypes p3express p3dtoolutil p3dtool p3prc p3dtoolconfig p3pystub)
 #add_test(p3express_test_types p3expressTestTypes)

+ 20 - 18
panda/src/pnmtext/CMakeLists.txt

@@ -1,19 +1,21 @@
-set(P3PNMTEXT_HEADERS
-  config_pnmtext.h
-  freetypeFace.h freetypeFace.I
-  freetypeFont.h freetypeFont.I
-  pnmTextGlyph.h pnmTextGlyph.I
-  pnmTextMaker.h pnmTextMaker.I
-)
-set(P3PNMTEXT_SOURCES
-  config_pnmtext.cxx
-  freetypeFace.cxx
-  freetypeFont.cxx
-  pnmTextGlyph.cxx
-  pnmTextMaker.cxx
-)
+if(HAVE_FREETYPE)
+  set(P3PNMTEXT_HEADERS
+    config_pnmtext.h
+    freetypeFace.h freetypeFace.I
+    freetypeFont.h freetypeFont.I
+    pnmTextGlyph.h pnmTextGlyph.I
+    pnmTextMaker.h pnmTextMaker.I
+  )
+  set(P3PNMTEXT_SOURCES
+    config_pnmtext.cxx
+    freetypeFace.cxx
+    freetypeFont.cxx
+    pnmTextGlyph.cxx
+    pnmTextMaker.cxx
+  )
 
-composite_sources(p3pnmtext P3PNMTEXT_SOURCES)
-add_library(p3pnmtext ${P3PNMTEXT_SOURCES} ${P3PNMTEXT_HEADERS})
-target_link_libraries(p3pnmtext p3pnmimage ${_FREETYPE_LIBRARIES})
-target_interrogate(p3pnmtext ALL)
+  composite_sources(p3pnmtext P3PNMTEXT_SOURCES)
+  add_library(p3pnmtext ${P3PNMTEXT_SOURCES} ${P3PNMTEXT_HEADERS})
+  target_link_libraries(p3pnmtext p3pnmimage ${_FREETYPE_LIBRARIES})
+  target_interrogate(p3pnmtext ALL)
+endif()

+ 4 - 1
panda/src/text/CMakeLists.txt

@@ -34,5 +34,8 @@ set(P3TEXT_SOURCES
 
 composite_sources(p3text P3TEXT_SOURCES)
 add_library(p3text ${P3TEXT_SOURCES} ${P3TEXT_HEADERS})
-target_link_libraries(p3text p3pnmtext p3parametrics ${_FREETYPE_LIBRARIES})
+target_link_libraries(p3text p3parametrics)
+if(HAVE_FREETYPE)
+  target_link_libraries(p3text p3pnmtext ${_FREETYPE_LIBRARIES})
+endif()
 target_interrogate(p3text ALL)

+ 21 - 0
panda/src/wgldisplay/CMakeLists.txt

@@ -0,0 +1,21 @@
+if(HAVE_WGL)
+  set(P3WGLDISPLAY_HEADERS
+      config_wgldisplay.h
+      wglGraphicsBuffer.I wglGraphicsBuffer.h
+      wglGraphicsPipe.I wglGraphicsPipe.h
+      wglGraphicsStateGuardian.I wglGraphicsStateGuardian.h
+      wglGraphicsWindow.I wglGraphicsWindow.h
+      wglext.h)
+
+  set(P3WGLDISPLAY_SOURCES
+      config_wgldisplay.cxx
+      wglGraphicsBuffer.cxx
+      wglGraphicsPipe.cxx
+      wglGraphicsStateGuardian.cxx
+      wglGraphicsWindow.cxx)
+
+
+  composite_sources(p3wgldisplay P3WGLDISPLAY_SOURCES)
+  add_library(p3wgldisplay ${P3WGLDISPLAY_HEADERS} ${P3WGLDISPLAY_SOURCES})
+  target_link_libraries(p3wgldisplay p3display p3putil p3windisplay p3glgsg)
+endif()

+ 17 - 0
panda/src/windisplay/CMakeLists.txt

@@ -0,0 +1,17 @@
+if(WIN32)
+  set(P3WINDISPLAY_HEADERS
+      config_windisplay.h
+      winGraphicsPipe.I winGraphicsPipe.h
+      winGraphicsWindow.I winGraphicsWindow.h
+      winDetectDx.h)
+
+  set(P3WINDISPLAY_SOURCES
+      config_windisplay.cxx winGraphicsPipe.cxx
+      winGraphicsWindow.cxx
+      winDetectDx9.cxx winDetectDx8.cxx)
+
+  composite_sources(p3windisplay P3WINDISPLAY_SOURCES)
+  add_library(p3windisplay ${P3WINDISPLAY_HEADERS} ${P3WINDISPLAY_SOURCES})
+  target_link_libraries(p3windisplay p3display p3putil
+    Coreimm.lib)
+endif()