summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt51
-rw-r--r--cmake/modules/FindLibpng.cmake17
-rw-r--r--gst/gl/CMakeLists.txt19
3 files changed, 60 insertions, 27 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d8d3e9a..5d40607 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
project (GST-PLUGINS-GL)
find_package(Glib2 REQUIRED)
+find_package(Libpng REQUIRED)
find_package(GTK2 REQUIRED)
find_package(ATK REQUIRED)
find_package(Cairo REQUIRED)
@@ -14,35 +15,38 @@ find_package(Gstreamer REQUIRED)
find_package(OpenGL REQUIRED)
find_package(Glew REQUIRED)
-function(check_package name)
+function(check_package name LEVEL)
if (${name}_FOUND)
message(STATUS "Found ${name}... YES")
else (${name}_FOUND)
message(STATUS "Found ${name}... NO")
- if (WIN32)
- message(FATAL_ERROR "You should set the env variable ${name}_DIR")
- else (WIN32)
- message(FATAL_ERROR "You should install ${name} dev package")
- endif (WIN32)
+ if (LEVEL)
+ if (WIN32)
+ message(FATAL_ERROR "You should set the env variable ${name}_DIR")
+ else (WIN32)
+ message(FATAL_ERROR "You should install ${name} dev package")
+ endif (WIN32)
+ endif (LEVEL)
endif (${name}_FOUND)
endfunction(check_package)
-check_package(GLIB2)
-check_package(GTK2)
-check_package(ATK)
-check_package(CAIRO)
-check_package(LIBXML2)
-check_package(LIBICONV)
-check_package(GSTREAMER)
-check_package(OPENGL)
-check_package(GLEW)
+# required packages
+check_package(GLIB2 1)
+check_package(LIBXML2 1)
+check_package(LIBICONV 1)
+check_package(GSTREAMER 1)
+check_package(OPENGL 1)
+check_package(GLEW 1)
+# optionnal packages
+check_package(PNG 0)
+check_package(GTK2 0)
+check_package(ATK 0)
+check_package(CAIRO 0)
+
+# debug
#message("****" ${GLIB2_INCLUDE_DIR})
#message("****" ${GLIB2_LIBRARIES})
-#message("****" ${GTK2_INCLUDE_DIR})
-#message("****" ${GTK2_LIBRARIES})
-#message("****" ${ATK_INCLUDE_DIR})
-#message("****" ${CAIRO_INCLUDE_DIR})
#message("****" ${LIBXML2_INCLUDE_DIR})
#message("****" ${LIBICONV_INCLUDE_DIR})
#message("****" ${GSTREAMER_INCLUDE_DIR})
@@ -51,11 +55,18 @@ check_package(GLEW)
#message("****" ${OPENGL_LIBRARIES})
#message("****" ${GLEW_INCLUDE_DIR})
#message("****" ${GLEW_LIBRARY})
+#message("****" ${PNG_INCLUDE_DIR})
+#message("****" ${PNG_LIBRARY})
+#message("****" ${GTK2_INCLUDE_DIR})
+#message("****" ${GTK2_LIBRARIES})
+#message("****" ${ATK_INCLUDE_DIR})
+#message("****" ${CAIRO_INCLUDE_DIR})
add_subdirectory (gst-libs)
add_subdirectory (gst)
add_subdirectory (tests)
-add_dependencies(gstgl gstfreeglut)
+#add_dependencies(gstgl)
+#FIXME: generate config.h
add_definitions(-DHAVE_CONFIG_H)
diff --git a/cmake/modules/FindLibpng.cmake b/cmake/modules/FindLibpng.cmake
new file mode 100644
index 0000000..c522079
--- /dev/null
+++ b/cmake/modules/FindLibpng.cmake
@@ -0,0 +1,17 @@
+FILE(TO_CMAKE_PATH "$ENV{PNG_DIR}" TRY1_DIR)
+FILE(TO_CMAKE_PATH "${PNG_DIR}" TRY2_DIR)
+FILE(GLOB PNG_DIR ${TRY1_DIR} ${TRY2_DIR})
+
+FIND_PATH(PNG_INCLUDE_DIR png.h
+ PATHS ${PNG_DIR}/include /usr/local/include /usr/include
+ ENV INCLUDE DOC "Directory containing png.h include file")
+
+FIND_LIBRARY(PNG_LIBRARY NAMES png12
+ PATHS ${PNG_DIR}/bin ${PNG_DIR}/win32/bin ${PNG_DIR}/lib ${GLEW_DIR}/win32/lib /usr/local/lib /usr/lib
+ ENV LIB
+ DOC "png library to link with"
+ NO_SYSTEM_ENVIRONMENT_PATH)
+
+IF (PNG_INCLUDE_DIR AND PNG_LIBRARY)
+ SET(PNG_FOUND TRUE)
+ENDIF (PNG_INCLUDE_DIR AND PNG_LIBRARY)
diff --git a/gst/gl/CMakeLists.txt b/gst/gl/CMakeLists.txt
index f34cbc1..d9d6a60 100644
--- a/gst/gl/CMakeLists.txt
+++ b/gst/gl/CMakeLists.txt
@@ -1,21 +1,26 @@
-add_definitions(-DHAVE_CONFIG_H -DHAVE_GDKPIXBUF)
+add_definitions(-DHAVE_CONFIG_H)
+
+if (PNG_FOUND)
+add_definitions(-DHAVE_LIBPNG)
+endif (PNG_FOUND)
include_directories(AFTER
- ../../win32/common
${GSTREAMER_INCLUDE_DIR}
${GLIB2_INCLUDE_DIR}
${LIBXML2_INCLUDE_DIR}
${LIBICONV_INCLUDE_DIR}
- ${LIBATK_INCLUDE_DIR}
- ${CAIRO_INCLUDE_DIR}
- ${GTK2_INCLUDE_DIR}
+ ${PNG_INCLUDE_DIR}
../../gst-libs/gst/gl
${GLEW_INCLUDE_DIR}
- ../../gst-libs/gst/freeglut
../../gst-libs
+ ../..
.
effects)
+if (WIN32)
+ include_directories(AFTER ../../win32/common)
+endif (WIN32)
+
add_library (gstopengl SHARED
gstopengl.c
gstglimagesink.c
@@ -53,4 +58,4 @@ add_library (gstopengl SHARED
target_link_libraries(gstopengl
general gstgl
- general ${GTK2_LIBRARIES})
+ general ${PNG_LIBRARY})