Split glutils out of kwineffects

All OpenGL related files are build as a kwinglutils library for OpenGL
and as a kwinglesutils library for OpenGL ES. The appropriate defines
are set using target_properties and removed from kwinconfig.h.cmake.
icc-effect-5.14.5
Martin Gräßlin 2011-07-17 16:15:07 +02:00
parent 7e4e43d203
commit c807e97e0a
2 changed files with 39 additions and 37 deletions

View File

@ -4,10 +4,6 @@
set(kwin_EFFECTSLIB_SRCS
kwinglobals.cpp
kwineffects.cpp
kwinglutils.cpp
kwingltexture.cpp
kwinglutils_funcs.cpp
kwinglplatform.cpp
kwinxrenderutils.cpp
)
@ -18,21 +14,45 @@ set_target_properties(kwineffects PROPERTIES VERSION 1.0.0 SOVERSION 1 )
install(TARGETS kwineffects EXPORT kdeworkspaceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
if(OPENGL_FOUND AND NOT KWIN_HAVE_OPENGLES_COMPOSITING)
target_link_libraries(kwineffects ${OPENGL_gl_LIBRARY})
target_link_libraries(kwineffects LINK_INTERFACE_LIBRARIES ${OPENGL_gl_LIBRARY})
# -ldl used by OpenGL code
find_library(DL_LIBRARY dl)
if (DL_LIBRARY)
target_link_libraries(kwineffects ${DL_LIBRARY})
endif(DL_LIBRARY)
include_directories(${OPENGL_INCLUDE_DIR})
endif(OPENGL_FOUND AND NOT KWIN_HAVE_OPENGLES_COMPOSITING)
if(KWIN_HAVE_OPENGLES_COMPOSITING)
target_link_libraries(kwineffects ${OPENGLES_LIBRARIES} ${OPENGLES_EGL_LIBRARIES})
target_link_libraries(kwineffects LINK_INTERFACE_LIBRARIES ${OPENGLES_LIBRARIES} ${OPENGLES_EGL_LIBRARIES})
include_directories(${OPENGLES_INCLUDE_DIR})
endif(KWIN_HAVE_OPENGLES_COMPOSITING)
if(OPENGL_FOUND OR OPENGLES_FOUND)
set(kwin_GLUTILSLIB_SRCS
kwinglutils.cpp
kwingltexture.cpp
kwinglutils_funcs.cpp
kwinglplatform.cpp
)
macro( KWIN4_ADD_GLUTILS_BACKEND name glinclude )
include_directories(${glinclude})
kde4_add_library(${name} SHARED ${kwin_GLUTILSLIB_SRCS})
target_link_libraries(${name} ${KDE4_KDEUI_LIBS} ${QT_QTGUI_LIBRARY} ${X11_LIBRARIES} kephal kwineffects)
set_target_properties(${name} PROPERTIES VERSION 1.0.0 SOVERSION 1 )
target_link_libraries(${name} ${ARGN})
target_link_libraries(${name} LINK_INTERFACE_LIBRARIES ${ARGN})
install(TARGETS ${name} EXPORT kdeworkspaceLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
endmacro( KWIN4_ADD_GLUTILS_BACKEND )
if(OPENGLES_FOUND)
KWIN4_ADD_GLUTILS_BACKEND(kwinglesutils ${OPENGLES_INCLUDE_DIR} ${OPENGLES_LIBRARIES} ${OPENGLES_EGL_LIBRARIES})
set_target_properties(kwinglesutils PROPERTIES COMPILE_FLAGS "-DKWIN_HAVE_OPENGL -DKWIN_HAVE_OPENGLES")
endif(OPENGLES_FOUND)
if(OPENGL_FOUND)
KWIN4_ADD_GLUTILS_BACKEND(kwinglutils ${OPENGL_INCLUDE_DIR} ${OPENGL_gl_LIBRARY})
set_target_properties(kwinglutils PROPERTIES COMPILE_FLAGS -DKWIN_HAVE_OPENGL)
target_link_libraries(kwinglutils ${OPENGL_gl_LIBRARY})
target_link_libraries(kwinglutils LINK_INTERFACE_LIBRARIES ${OPENGL_gl_LIBRARY})
# -ldl used by OpenGL code
find_library(DL_LIBRARY dl)
if (DL_LIBRARY)
target_link_libraries(kwinglutils ${DL_LIBRARY})
endif(DL_LIBRARY)
endif(OPENGL_FOUND)
endif(OPENGL_FOUND OR OPENGLES_FOUND)
if (X11_Xrender_FOUND)
target_link_libraries(kwineffects ${X11_Xrender_LIB})
endif (X11_Xrender_FOUND)

View File

@ -9,21 +9,6 @@
#ifndef KWINCONFIG_H
#define KWINCONFIG_H
#if ${HAVE_OPENGL}
#define KWIN_HAVE_OPENGL 1
#else
#undef KWIN_HAVE_OPENGL
#endif
#if ${KWIN_HAVE_OPENGLES}
#define KWIN_HAVE_OPENGLES 1
#ifndef KWIN_HAVE_OPENGL
#define KWIN_HAVE_OPENGL 1
#endif
#else
#undef KWIN_HAVE_OPENGLES
#endif
/*
These should be primarily used to detect what kind of compositing
@ -37,9 +22,6 @@
/* KWIN_HAVE_OPENGL_COMPOSITING - whether OpenGL-based compositing support is available */
#cmakedefine KWIN_HAVE_OPENGL_COMPOSITING
/* KWIN_HAVE_OPENGLES_COMPOSITING - whether OpenGL ES-based compositing support is available */
#cmakedefine KWIN_HAVE_OPENGLES_COMPOSITING
/* KWIN_HAVE_XRENDER_COMPOSITING - whether XRender-based compositing support is available */
#cmakedefine KWIN_HAVE_XRENDER_COMPOSITING