Warning, /frameworks/solid/src/solid/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 ecm_create_qm_loader(solid_QM_LOADER solid6_qt)
0002 
0003 include(devices/CMakeLists.txt)
0004 
0005 if (WITH_NEW_SOLID_JOB)
0006     include(power/CMakeLists.txt)
0007 endif()
0008 
0009 set(solid_LIB_SRCS ${solid_LIB_SRCS} ${solid_QM_LOADER})
0010 
0011 add_library(KF6Solid  ${solid_LIB_SRCS})
0012 set(solid_BUILD_INCLUDE_DIRS
0013     ${CMAKE_CURRENT_BINARY_DIR}
0014     ${CMAKE_CURRENT_SOURCE_DIR}/..
0015     ${CMAKE_CURRENT_BINARY_DIR}/..
0016 )
0017 target_include_directories(KF6Solid PUBLIC "$<BUILD_INTERFACE:${solid_BUILD_INCLUDE_DIRS}>")
0018 
0019 ecm_generate_export_header(KF6Solid
0020     BASE_NAME Solid
0021     GROUP_BASE_NAME KF
0022     VERSION ${KF_VERSION}
0023     USE_VERSION_HEADER
0024     DEPRECATED_BASE_VERSION 0
0025     DEPRECATION_VERSIONS
0026     EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0027 )
0028 
0029 add_library(KF6::Solid ALIAS KF6Solid)
0030 
0031 # Apps must include <Solid/File> or <solid/file.h>
0032 target_include_directories(KF6Solid INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/Solid>")
0033 
0034 target_link_libraries(KF6Solid PUBLIC Qt6::Core
0035                                PRIVATE Qt6::Xml
0036                                        Qt6::Gui
0037                                        ${solid_OPTIONAL_LIBS}
0038  )
0039 if (TARGET Qt6::DBus)
0040   target_link_libraries(KF6Solid PRIVATE Qt6::DBus)
0041 endif()
0042 
0043 set_target_properties(KF6Solid PROPERTIES  VERSION ${SOLID_VERSION}
0044                                            SOVERSION ${SOLID_SOVERSION}
0045                                            EXPORT_NAME Solid
0046 )
0047 
0048 ecm_generate_headers(Solid_CamelCase_HEADERS
0049   HEADER_NAMES
0050   Device
0051   DeviceNotifier
0052   DeviceInterface
0053   GenericInterface
0054   Processor
0055   Block
0056   StorageAccess
0057   StorageDrive
0058   OpticalDrive
0059   StorageVolume
0060   OpticalDisc
0061   Camera
0062   PortableMediaPlayer
0063   Battery
0064   Predicate
0065   NetworkShare
0066   SolidNamespace
0067 
0068   RELATIVE devices/frontend
0069   REQUIRED_HEADERS Solid_HEADERS
0070   PREFIX Solid
0071 )
0072 
0073 if (WITH_NEW_SOLID_JOB)
0074     ecm_generate_headers(Solid_CamelCase_HEADERS
0075     HEADER_NAMES
0076     Job
0077 
0078     RELATIVE power/
0079     REQUIRED_HEADERS Solid_HEADERS
0080     PREFIX Solid
0081     )
0082 endif()
0083 
0084 if(WITH_NEW_SOLID_JOB AND WITH_NEW_POWER_ASYNC_API)
0085     ecm_generate_headers(Solid_CamelCase_HEADERS
0086         HEADER_NAMES
0087         AcPluggedJob
0088         InhibitionJob
0089         Inhibition
0090         Power
0091         StatesJob
0092         RequestStateJob
0093 
0094         RELATIVE power/
0095         REQUIRED_HEADERS Solid_HEADERS
0096         PREFIX Solid
0097     )
0098 endif()
0099 
0100 install(FILES ${Solid_CamelCase_HEADERS} DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Solid/Solid COMPONENT Devel)
0101 
0102 install(TARGETS KF6Solid EXPORT KF6SolidTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0103 
0104 ########### static lib for tests  ###############
0105 
0106 if (BUILD_TESTING)
0107   add_library(KF6Solid_static STATIC ${solid_LIB_SRCS})
0108   set_target_properties(KF6Solid_static PROPERTIES COMPILE_FLAGS -DSOLID_STATIC_DEFINE=1)
0109 
0110   target_link_libraries(KF6Solid_static PUBLIC Qt6::Core)
0111   target_link_libraries(KF6Solid_static PRIVATE Qt6::Xml Qt6::Gui ${solid_OPTIONAL_LIBS})
0112   if (TARGET Qt6::DBus)
0113     target_link_libraries(KF6Solid_static PRIVATE Qt6::DBus)
0114   endif()
0115   target_include_directories(KF6Solid_static PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR};${CMAKE_CURRENT_SOURCE_DIR}/..;${CMAKE_CURRENT_BINARY_DIR}/..>")
0116 endif()
0117 
0118 ########### install files ###############
0119 
0120 install(FILES
0121   ${CMAKE_CURRENT_BINARY_DIR}/solid_export.h
0122   ${Solid_HEADERS}
0123   DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Solid/solid COMPONENT Devel
0124 )
0125 
0126 if(BUILD_QCH)
0127     ecm_add_qch(
0128         KF6Solid_QCH
0129         NAME Solid
0130         BASE_NAME KF6Solid
0131         VERSION ${KF_VERSION}
0132         ORG_DOMAIN org.kde
0133         SOURCES # using only public headers, to cover only public API
0134             ${Solid_HEADERS}
0135             "${CMAKE_SOURCE_DIR}/docs/song.md"
0136         MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0137         LINK_QCHS
0138             Qt6Core_QCH
0139         INCLUDE_DIRS
0140             ${solid_BUILD_INCLUDE_DIRS}
0141         BLANK_MACROS
0142             SOLID_EXPORT
0143             SOLID_DEPRECATED
0144             SOLID_DEPRECATED_EXPORT
0145             "SOLID_DEPRECATED_VERSION(x, y, t)"
0146         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0147         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0148         COMPONENT Devel
0149     )
0150 endif()
0151