Wayland+CMake: use set_source_files_properties() for libdecor

This commit is contained in:
ManoloFLTK 2023-12-05 08:52:21 +01:00
parent 5b96fca1c1
commit 7bbfa06e38
2 changed files with 19 additions and 7 deletions

View File

@ -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 ()

View File

@ -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