diff --git a/CMake/options.cmake b/CMake/options.cmake index cc7060bd8..8e8ee02e4 100644 --- a/CMake/options.cmake +++ b/CMake/options.cmake @@ -300,7 +300,7 @@ if (UNIX) pkg_get_variable(LIBDECOR_LIBDIR libdecor-0 libdir) set (LIBDECOR_PLUGIN_DIR ${LIBDECOR_LIBDIR}/libdecor/plugins-1) if (EXISTS ${LIBDECOR_PLUGIN_DIR} AND IS_DIRECTORY ${LIBDECOR_PLUGIN_DIR}) - set (LIBDECOR_PLUGIN_DIR "\\\"${LIBDECOR_PLUGIN_DIR}\\\" " ) + set (LIBDECOR_PLUGIN_DIR "\"${LIBDECOR_PLUGIN_DIR}\"" ) else () set (OPTION_USE_SYSTEM_LIBDECOR OFF) endif () diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d6a7a047c..dcac1ae61 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -520,17 +520,29 @@ if (OPTION_USE_WAYLAND) set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAS_DBUS") endif (DBUS_FOUND) if (OPTION_USE_SYSTEM_LIBDECOR) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_SYSTEM_LIBDECOR") - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLIBDECOR_PLUGIN_DIR=${LIBDECOR_PLUGIN_DIR} ") + set (CDEFS "USE_SYSTEM_LIBDECOR;LIBDECOR_PLUGIN_DIR=${LIBDECOR_PLUGIN_DIR}") if (GTK_FOUND) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_GTK") + set (CDEFS "${CDEFS};HAVE_GTK") endif (GTK_FOUND) + set_source_files_properties( + ${CMAKE_CURRENT_SOURCE_DIR}/../libdecor/build/fl_libdecor-plugins.c + PROPERTIES COMPILE_DEFINITIONS "${CDEFS}") else() - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}/../libdecor/src -I${CMAKE_CURRENT_SOURCE_DIR}/../libdecor/src/plugins -DLIBDECOR_PLUGIN_API_VERSION=1 -DLIBDECOR_PLUGIN_DIR=\\\"\\\" ") - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_SYSTEM_LIBDECOR=0 -DHAVE_MEMFD_CREATE -DHAVE_MKOSTEMP -DHAVE_POSIX_FALLOCATE") + set (IDEFS "${CMAKE_CURRENT_SOURCE_DIR}/../libdecor/src" + "${CMAKE_CURRENT_SOURCE_DIR}/../libdecor/src/plugins") + set (CDEFS + "USE_SYSTEM_LIBDECOR=0;LIBDECOR_PLUGIN_API_VERSION=1" + "HAVE_MEMFD_CREATE;HAVE_MKOSTEMP;HAVE_POSIX_FALLOCATE" + "LIBDECOR_PLUGIN_DIR=\"\"" + ) if (GTK_FOUND AND OPTION_ALLOW_GTK_PLUGIN) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_GTK") + set (CDEFS "${CDEFS};HAVE_GTK") endif (GTK_FOUND AND OPTION_ALLOW_GTK_PLUGIN) + set_source_files_properties( + ${CMAKE_CURRENT_SOURCE_DIR}/../libdecor/build/fl_libdecor.c + ${CMAKE_CURRENT_SOURCE_DIR}/../libdecor/build/fl_libdecor-plugins.c + ${CMAKE_CURRENT_SOURCE_DIR}/../libdecor/src/os-compatibility.c + PROPERTIES COMPILE_DEFINITIONS "${CDEFS}" INCLUDE_DIRECTORIES "${IDEFS}") endif (OPTION_USE_SYSTEM_LIBDECOR) list (APPEND CFILES