diff options
-rw-r--r-- | CMakeLists.txt | 51 | ||||
-rw-r--r-- | cmake/modules/FindLibpng.cmake | 17 | ||||
-rw-r--r-- | gst/gl/CMakeLists.txt | 19 |
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}) |