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})