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