Warning, /frameworks/attica/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # mingw can't handle exported explicit template instantiations in a DLL
0002 if (MINGW)
0003 set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-all-symbols ${CMAKE_SHARED_LINKER_FLAGS}")
0004 endif (MINGW)
0005
0006 configure_file(version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/version.h)
0007
0008 add_library(KF6Attica)
0009 add_library(KF6::Attica ALIAS KF6Attica)
0010
0011 set_target_properties(KF6Attica PROPERTIES
0012 VERSION ${ATTICA_VERSION}
0013 SOVERSION ${ATTICA_SOVERSION}
0014 EXPORT_NAME "Attica"
0015 )
0016
0017 target_sources(KF6Attica PRIVATE
0018 accountbalance.cpp
0019 accountbalanceparser.cpp
0020 achievement.cpp
0021 achievementparser.cpp
0022 buildservice.cpp
0023 buildserviceparser.cpp
0024 buildservicejob.cpp
0025 buildservicejobparser.cpp
0026 buildservicejoboutput.cpp
0027 buildservicejoboutputparser.cpp
0028 activity.cpp
0029 activityparser.cpp
0030 atticabasejob.cpp
0031 atticautils.cpp
0032 privatedata.cpp
0033 privatedataparser.cpp
0034 category.cpp
0035 categoryparser.cpp
0036 comment.cpp
0037 commentparser.cpp
0038 config.cpp
0039 configparser.cpp
0040 content.cpp
0041 contentparser.cpp
0042 deletejob.cpp
0043 distribution.cpp
0044 distributionparser.cpp
0045 downloaddescription.cpp
0046 downloaditem.cpp
0047 downloaditemparser.cpp
0048 event.cpp
0049 eventparser.cpp
0050 folder.cpp
0051 folderparser.cpp
0052 forum.cpp
0053 forumparser.cpp
0054 getjob.cpp
0055 homepageentry.cpp
0056 homepagetype.cpp
0057 homepagetypeparser.cpp
0058 icon.cpp
0059 itemjob.cpp
0060 knowledgebaseentry.cpp
0061 knowledgebaseentryparser.cpp
0062 license.cpp
0063 licenseparser.cpp
0064 listjob_inst.cpp
0065 message.cpp
0066 messageparser.cpp
0067 metadata.cpp
0068 parser.cpp
0069 person.cpp
0070 personparser.cpp
0071 platformdependent_v2.cpp
0072 postfiledata.cpp
0073 postjob.cpp
0074 project.cpp
0075 projectparser.cpp
0076 putjob.cpp
0077 remoteaccount.cpp
0078 remoteaccountparser.cpp
0079 provider.cpp
0080 providermanager.cpp
0081 publisher.cpp
0082 publisherparser.cpp
0083 publisherfield.cpp
0084 publisherfieldparser.cpp
0085 qtplatformdependent.cpp
0086 topic.cpp
0087 topicparser.cpp
0088 )
0089
0090 ecm_qt_declare_logging_category(KF6Attica
0091 HEADER attica_debug.h
0092 IDENTIFIER ATTICA
0093 CATEGORY_NAME kf.attica
0094 OLD_CATEGORY_NAMES org.kde.attica
0095 DESCRIPTION "Attica"
0096 EXPORT ATTICA
0097 )
0098
0099 file(GLOB TEST_FILES "*.cpp" "*.h")
0100 ecm_check_outbound_license(
0101 LICENSES LGPL-2.1-only LGPL-3.0-only
0102 TEST_NAME KF6Attica
0103 FILES ${TEST_FILES}
0104 )
0105
0106 ecm_generate_export_header(KF6Attica
0107 BASE_NAME Attica
0108 GROUP_BASE_NAME KF
0109 VERSION ${KF_VERSION}
0110 USE_VERSION_HEADER
0111 DEPRECATED_BASE_VERSION 0
0112 DEPRECATION_VERSIONS
0113 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0114 )
0115
0116 target_link_libraries(KF6Attica
0117 PUBLIC
0118 Qt6::Core
0119 Qt6::Network
0120 )
0121 target_include_directories(KF6Attica INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/Attica>")
0122
0123
0124 ecm_generate_headers(Attica_CamelCase_HEADERS
0125 HEADER_NAMES
0126 Activity
0127 AccountBalance
0128 Achievement
0129 Comment
0130 Config
0131 Content
0132 Category
0133 DeleteJob
0134 Distribution
0135 DownloadDescription
0136 DownloadItem
0137 Event
0138 Folder
0139 Forum
0140 GetJob
0141 HomePageEntry
0142 HomePageType
0143 Icon
0144 ItemJob
0145 KnowledgeBaseEntry
0146 ListJob
0147 License
0148 Message
0149 Metadata
0150 Person
0151 PrivateData
0152 PostJob
0153 Project
0154 PutJob
0155 RemoteAccount
0156 BuildService
0157 BuildServiceJob
0158 BuildServiceJobOutput
0159 ProviderManager
0160 Provider
0161 Publisher
0162 PublisherField
0163 Topic
0164
0165 PREFIX Attica
0166 REQUIRED_HEADERS Attica_HEADERS
0167 )
0168
0169 set(Attica_HEADERS
0170 ${Attica_HEADERS}
0171 atticabasejob.h # TODO: rename to basejob.h, add atticabasejob.h forwarding to basejob.h for compat
0172 atticautils.h # TODO: not exported, this should probably NOT be installed at all?
0173 #interface for external platform plugins
0174 platformdependent.h
0175 platformdependent_v2.h
0176 )
0177
0178 install(FILES ${Attica_CamelCase_HEADERS} DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Attica/Attica COMPONENT Devel)
0179
0180 install(TARGETS KF6Attica
0181 EXPORT KF6AtticaTargets
0182 ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0183
0184 install(FILES
0185 ${Attica_HEADERS}
0186 ${CMAKE_CURRENT_BINARY_DIR}/version.h
0187 ${CMAKE_CURRENT_BINARY_DIR}/attica_export.h
0188 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Attica/attica
0189 COMPONENT Devel
0190 )
0191
0192 ecm_qt_install_logging_categories(
0193 EXPORT ATTICA
0194 FILE attica.categories
0195 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0196 )
0197
0198 if(BUILD_QCH)
0199 ecm_add_qch(
0200 KF6Attica_QCH
0201 NAME Attica
0202 BASE_NAME KF6Attica
0203 VERSION ${KF_VERSION}
0204 ORG_DOMAIN org.kde
0205 SOURCES # using only public headers, to cover only public API
0206 ${Attica_HEADERS}
0207 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0208 LINK_QCHS
0209 Qt6Core_QCH
0210 Qt6Network_QCH
0211 INCLUDE_DIRS
0212 ${CMAKE_CURRENT_BINARY_DIR}
0213 BLANK_MACROS
0214 ATTICA_EXPORT
0215 ATTICA_DEPRECATED
0216 ATTICA_DEPRECATED_EXPORT
0217 "ATTICA_DEPRECATED_VERSION(x, y, t)"
0218 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0219 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0220 COMPONENT Devel
0221 )
0222 endif()
0223
0224 # Install package config file
0225 if(NOT WIN32)
0226 ecm_generate_pkgconfig_file(BASE_NAME KF6Attica
0227 LIB_NAME KF6Attica
0228 INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/Attica
0229 DEPS Qt6Core Qt6Network
0230 DESCRIPTION "Qt library to access Open Collaboration Services"
0231 INSTALL
0232 )
0233 endif(NOT WIN32)
0234