What we actually want is for compiz_* to be added to compiz_core as objects, not as dependent libraries that plugins then mistakenly link in. This is easy to do in regular Make, but I'm not sure how to do it in CMake. In regular Make you just treat *.a as *.o, but CMake annoyingly hides object linkage from us. Maybe it will let us add_library(compiz_core SHARED *.a)
It looks like the cause is:
target_ link_libraries (
compiz_core
${COMPIZ_ LIBRARIES}
m
pthread
dl
-Wl, -whole- archive logmessage pluginclasshand ler window_ geometry window_ geometry_ saver window_ extents window_ constrainment -no-whole- archive MOD_LIBRARIES}
compiz_string
compiz_timer
compiz_
compiz_
compiz_point
compiz_rect
compiz_
compiz_
compiz_
compiz_
-Wl,
# ${CORE_
)
What we actually want is for compiz_* to be added to compiz_core as objects, not as dependent libraries that plugins then mistakenly link in. This is easy to do in regular Make, but I'm not sure how to do it in CMake. In regular Make you just treat *.a as *.o, but CMake annoyingly hides object linkage from us. Maybe it will let us add_library( compiz_ core SHARED *.a)