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