summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt56
1 files changed, 56 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..72877b4
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,56 @@
+################################################################################
+# Polyester - widget style and twin decoration aimed to be a good balance #
+# between eye candy and simplicity #
+# #
+# This file is released under the GNU GPL version 3 or later. #
+# Improvements and feedback are welcome! #
+################################################################################
+
+cmake_minimum_required(VERSION 3.5)
+
+### general package setup ######################################################
+project(tde-style-polyester)
+
+### essential cmake modules ####################################################
+include(FindPkgConfig)
+include(CheckFunctionExists)
+include(CheckSymbolExists)
+include(CheckIncludeFile)
+include(CheckLibraryExists)
+include(CheckCSourceCompiles)
+include(CheckCXXSourceCompiles)
+
+### TDE modules ################################################################
+include(TDEMacros)
+tde_set_project_version()
+
+include(TDESetupPaths)
+tde_setup_paths()
+
+### optional support ###########################################################
+option(WITH_ALL_OPTIONS "Enable all optional support" OFF)
+option(WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden"
+ ${WITH_ALL_OPTIONS})
+
+### user requested modules #####################################################
+option(BUILD_ALL "Build all" ON)
+option(BUILD_TWIN_DECORATION "Build window decoration for twin" ${BUILD_ALL})
+option(BUILD_WIDGET_STYLE "Build widget style" ${BUILD_ALL})
+option(BUILD_COLOR_SCHEMES "Install color schemes" ${BUILD_ALL})
+
+### configure checks ###########################################################
+include(ConfigureChecks.cmake)
+
+### compiler settings ##########################################################
+add_definitions(-DHAVE_CONFIG_H)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
+set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
+set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined")
+
+### subdirectories #############################################################
+tde_conditional_add_subdirectory(BUILD_TWIN_DECORATION client)
+tde_conditional_add_subdirectory(BUILD_WIDGET_STYLE style)
+tde_conditional_add_subdirectory(BUILD_COLOR_SCHEMES color-schemes)
+
+### write configuration ########################################################
+configure_file(config.h.cmake config.h @ONLY) \ No newline at end of file