summaryrefslogtreecommitdiffstats
path: root/twin/compton-tde/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'twin/compton-tde/CMakeLists.txt')
-rw-r--r--twin/compton-tde/CMakeLists.txt96
1 files changed, 96 insertions, 0 deletions
diff --git a/twin/compton-tde/CMakeLists.txt b/twin/compton-tde/CMakeLists.txt
new file mode 100644
index 000000000..ebaf38f33
--- /dev/null
+++ b/twin/compton-tde/CMakeLists.txt
@@ -0,0 +1,96 @@
+#################################################
+#
+# (C) 2014 Timothy Pearson
+# kb9vqf (AT) pearsoncomputing (DOT) net
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+
+if( NOT WITH_XRENDER )
+ tde_message_fatal( "xrender support is needed to build compton-tde.\n Pass -DWITH_XRENDER=ON to cmake arguments." )
+elseif( NOT WITH_XFIXES )
+ tde_message_fatal( "xfixes support is needed to build compton-tde.\n Pass -DWITH_XFIXES=ON to cmake arguments." )
+endif( )
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${DBUS_INCLUDE_DIRS}
+)
+
+
+##### compton-tde (executable) ###################
+
+# TDE to compton config option map
+# WITH_XINNERAMA -> CONFIG_XINERAMA
+# WITH_XRANDR -> CONFIG_XANDR
+# HAVE_XEXT_XSYNCFENCE -> CONFIG_XSYNC
+# WITH_OPENGL -> CONFIG_VSYNC_OPENGL
+# WITH_OPENGL -> CONFIG_VSYNC_OPENGL_GLSL
+# WITH_OPENGL -> CONFIG_VSYNC_OPENGL_FBO
+# WITH_PCRE -> CONFIG_REGEX_PCRE
+# WITH_PCRE -> CONFIG_REGEX_PCRE_JIT
+# WITH_LIBCONFIG -> CONFIG_LIBCONFIG
+#
+# HAVE_LIBCONFIG_OLD_API -> CONFIG_LIBCONFIG_LEGACY (set up in compton_config.h)
+# CONFIG_XSYNC -> CONFIG_GLX_SYNC
+#
+# CONFIG_DBUS - always ON
+# CONFIG_C2 - always ON
+
+# TODO: think about some configuration option for CONFIG_VSYNC_DRM
+# NOTE: HAVE__XEXT_XSYNCFENCE is an automatically detected feature that shows
+# that libXext provides coresponding feature.
+
+add_definitions("-std=c99")
+
+set( compton_SRCS compton.c )
+
+set( CONFIG_XSYNC ${HAVE_XEXT_XSYNCFENCE} )
+
+if( WITH_OPENGL )
+ set( CONFIG_VSYNC_OPENGL ${WITH_OPENGL} )
+ set( CONFIG_VSYNC_OPENGL_GLSL ${WITH_OPENGL} )
+ set( CONFIG_VSYNC_OPENGL_FBO ${WITH_OPENGL} )
+ set( CONFIG_GLX_SYNC ${CONFIG_XSYNC} )
+ list( APPEND compton_LIBRARIES ${GL_LIBRARIES})
+ list( APPEND compton_SRCS opengl.c )
+endif( )
+
+if( WITH_LIBCONFIG )
+ set( CONFIG_LIBCONFIG ${WITH_LIBCONFIG} )
+ list( APPEND compton_LIBRARIES ${LIBCONFIG_LIBRARIES} )
+endif( )
+
+if( WITH_XINERAMA )
+ set( CONFIG_XINERAMA ${WITH_XINERAMA} )
+ list( APPEND compton_LIBRARIES ${XINERAMA_LIBRARIES} )
+endif( )
+
+if( WITH_XRANDR )
+ set( CONFIG_XRANDR ${WITH_XRANDR} )
+ list( APPEND compton_LIBRARIES ${XRANDR_LIBRARIES} )
+endif( )
+
+if( WITH_PCRE )
+ set( CONFIG_REGEX_PCRE ${WITH_PCRE} )
+ set( CONFIG_REGEX_PCRE_JIT ${WITH_PCRE} )
+ list( APPEND compton_LIBRARIES ${LIBPCRE_LIBRARIES} )
+endif( )
+
+configure_file( compton_config.h.cmake compton_config.h )
+
+# permanently turn on some optional features: dbus c2
+list( APPEND compton_SRCS dbus.c c2.c )
+list( APPEND compton_LIBRARIES ${DBUS_LIBRARIES} )
+
+tde_add_executable( compton-tde
+ SOURCES ${compton_SRCS}
+ LINK m ${compton_LIBRARIES} ${XRENDER_LIBRARIES} ${XFIXES_LIBRARIES}
+ ${XDAMAGE_LIBRARIES} ${XEXT_LIBRARIES} ${XCOMPOSITE_LIBRARIES}
+ DESTINATION ${BIN_INSTALL_DIR}
+)