kdelibs/threadweaver/Weaver/CMakeLists.txt
Ivailo Monev 4d6fb007e7 generic: fix most of the overlinking issues
TODO from https://github.com/fluxer/katana/issues/7. I've decided to
keep KDE4 and Katie libraries as PUBLIC, all other libraries as PRIVATE
for that and not use INTERFACE at all since that will not require a lot
of changes to all other sub-projects (kde-baseapps, kde-workspace and
kde-extraapps) build systems.

MusicBrainz5 CMake module was also rewritten as the actual library that
should be linked to is libmusicbrainz5cc, libmusicbrainz5 is the C
version of it.

common checks for X11 extensions where move to main config header,
eventually to be moved to separate config-x11 header.

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-09 21:58:11 +00:00

62 lines
1.3 KiB
CMake

include_directories(
${QT_INCLUDE_DIR}
${QT_QTCORE_INCLUDE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
########### next target ###############
set(ThreadWeaver_LIB_SRCS
WeaverInterface.cpp
ThreadWeaver.cpp
WeaverImpl.cpp
Thread.cpp
Job.cpp
State.cpp
StateImplementation.cpp
InConstructionState.cpp
WorkingHardState.cpp
SuspendingState.cpp
SuspendedState.cpp
ShuttingDownState.cpp
DestructedState.cpp
WeaverObserver.cpp
JobCollection.cpp
JobSequence.cpp
DependencyPolicy.cpp
ResourceRestrictionPolicy.cpp
)
add_library(threadweaver ${LIBRARY_TYPE} ${ThreadWeaver_LIB_SRCS})
target_link_libraries(threadweaver PUBLIC
${KDE4_KDECORE_LIBS}
)
set_target_properties(threadweaver PROPERTIES
VERSION ${GENERIC_LIB_VERSION}
SOVERSION ${GENERIC_LIB_SOVERSION}
)
install(
TARGETS threadweaver
EXPORT kdelibsLibraryTargets
${INSTALL_TARGETS_DEFAULT_ARGS}
)
install(
FILES
WeaverInterface.h
ThreadWeaver.h
Thread.h
Job.h
State.h
WeaverObserver.h
JobCollection.h
JobSequence.h
DependencyPolicy.h
ResourceRestrictionPolicy.h
QueuePolicy.h
DESTINATION ${INCLUDE_INSTALL_DIR}/threadweaver
COMPONENT Devel
)