Warning, /education/libkeduvocdocument/keduvocdocument/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 if (BUILD_TESTING)
0002    add_subdirectory(autotests)
0003    add_subdirectory(tests)
0004 endif()
0005 
0006 ########### next target ###############
0007 
0008 include(ECMSetupVersion)
0009 
0010 ecm_setup_version(PROJECT
0011     VARIABLE_PREFIX KEDUVOCDOCUMENT
0012     VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/keduvocdocument_version.h"
0013     PACKAGE_VERSION_FILE "${CMAKE_BINARY_DIR}/KEduVocDocumentVersion.cmake"
0014 )
0015 
0016 include_directories(
0017     ${CMAKE_CURRENT_BINARY_DIR}
0018 )
0019 
0020 set(keduvocdocument_LIB_SRCS
0021     keduvocarticle.cpp
0022     keduvocarticle.h
0023     keduvoccommon_p.h
0024     keduvocconjugation.cpp
0025     keduvocconjugation.h
0026     keduvoccontainer.cpp
0027     keduvoccontainer.h
0028     keduvoccsvwriter.cpp
0029     keduvoccsvwriter.h
0030     keduvocdeclension.cpp
0031     keduvocdeclension.h
0032     keduvocdocument.cpp
0033     keduvocdocument.h
0034     keduvocexpression.cpp
0035     keduvocexpression.h
0036     keduvocidentifier.cpp
0037     keduvocidentifier.h
0038     keduvockvtml2writer.cpp
0039     keduvockvtml2writer.h
0040     keduvockvtmlcompability.cpp
0041     keduvockvtmlcompability.h
0042     keduvocleitnerbox.cpp
0043     keduvocleitnerbox.h
0044     keduvoclesson.cpp
0045     keduvoclesson.h
0046     keduvocmultiplechoice.cpp
0047     keduvocmultiplechoice.h
0048     keduvocpersonalpronoun.cpp
0049     keduvocpersonalpronoun.h
0050     keduvoctext.cpp
0051     keduvoctext.h
0052     keduvoctranslation.cpp
0053     keduvoctranslation.h
0054     keduvocwordflags.h
0055     keduvocwordtype.cpp
0056     keduvocwordtype.h
0057     kvtml2defs.h
0058     kvtmldefs.h
0059     readerwriters/dummyreader.cpp
0060     readerwriters/dummyreader.h
0061     readerwriters/failedreader.cpp
0062     readerwriters/failedreader.h
0063     readerwriters/keduvoccsvreader.cpp
0064     readerwriters/keduvoccsvreader.h
0065     readerwriters/keduvockvtml2reader.cpp
0066     readerwriters/keduvockvtml2reader.h
0067     readerwriters/keduvockvtmlreader.cpp
0068     readerwriters/keduvockvtmlreader.h
0069     readerwriters/keduvocpaukerreader.cpp
0070     readerwriters/keduvocpaukerreader.h
0071     readerwriters/keduvocvokabelnreader.cpp
0072     readerwriters/keduvocvokabelnreader.h
0073     readerwriters/keduvocwqlreader.cpp
0074     readerwriters/keduvocwqlreader.h
0075     readerwriters/keduvocxdxfreader.cpp
0076     readerwriters/keduvocxdxfreader.h
0077     readerwriters/readerbase.h
0078     readerwriters/readermanager.cpp
0079     readerwriters/readermanager.h
0080     sharedkvtmlfiles.cpp
0081     sharedkvtmlfiles.h
0082 )
0083 
0084 include(ECMGenerateHeaders)
0085 ecm_generate_headers( KdeEdu_HEADERS
0086   HEADER_NAMES
0087     KEduVocDocument
0088     KEduVocIdentifier
0089     KEduVocExpression
0090     KEduVocText
0091     KEduVocArticle
0092     KEduVocConjugation
0093     KEduVocLesson
0094     KEduVocLeitnerBox
0095     KEduVocContainer
0096     KEduVocWordFlags
0097     KEduVocMultipleChoice
0098     KEduVocTranslation
0099     KEduVocWordtype
0100     KEduVocPersonalPronoun
0101     SharedKVTMLFiles
0102     KEduVocDeclension
0103     KEduVocKVTML2Writer
0104 
0105     REQUIRED_HEADERS KdeEdu_HEADERS
0106 )
0107 
0108 add_library(KEduVocDocument SHARED ${keduvocdocument_LIB_SRCS})
0109 set_target_properties(KEduVocDocument PROPERTIES
0110     VERSION   ${KEDUVOCDOCUMENT_VERSION}
0111     SOVERSION ${KEDUVOCDOCUMENT_SOVERSION}
0112 )
0113 
0114 # vHanda: Add library alias?
0115 if (QT_MAJOR_VERSION STREQUAL "5")
0116     set(_generate_export_header_version_args)
0117 else()
0118     # For Qt6/KF6 world transitively include the version header
0119     if(ECM_VERSION VERSION_LESS "5.105")
0120         set(include_version_header_code "#include <keduvocdocument_version.h>\n")
0121         set(_generate_export_header_version_args CUSTOM_CONTENT_FROM_VARIABLE include_version_header_code)
0122     else()
0123         set(_generate_export_header_version_args USE_VERSION_HEADER)
0124     endif()
0125 endif()
0126 ecm_generate_export_header(KEduVocDocument
0127     BASE_NAME KEduVocDocument
0128     VERSION ${KEDUVOCDOCUMENT_VERSION}
0129     DEPRECATED_BASE_VERSION 0
0130     ${_generate_export_header_version_args}
0131 )
0132 
0133 target_link_libraries(KEduVocDocument
0134   PUBLIC
0135     Qt${QT_MAJOR_VERSION}::Xml
0136   PRIVATE
0137     KF${KF_MAJOR_VERSION}::I18n
0138     KF${KF_MAJOR_VERSION}::KIOCore
0139     KF${KF_MAJOR_VERSION}::Archive
0140 )
0141 
0142 
0143 target_include_directories(KEduVocDocument INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/libkeduvocdocument>")
0144 
0145 
0146 #Library for non-api unittests
0147 add_library(keduvocdocument_static STATIC ${keduvocdocument_LIB_SRCS})
0148 set_target_properties(keduvocdocument_static PROPERTIES COMPILE_FLAGS -DKEDUVOCDOCUMENT_STATIC_DEFINE)
0149 
0150 target_link_libraries(keduvocdocument_static
0151   PUBLIC
0152     KF${KF_MAJOR_VERSION}::KIOCore
0153     Qt${QT_MAJOR_VERSION}::Xml
0154   PRIVATE
0155     KF${KF_MAJOR_VERSION}::I18n
0156     KF${KF_MAJOR_VERSION}::Archive
0157 )
0158 
0159 
0160 
0161 # if we want to set our own version instead of following kde generic
0162 #set(LIB_KEDUVOCDOCUMENT_VERSION "5.0.0")
0163 #set(LIB_KEDUVOCDOCUMENT_SOVERSION "5")
0164 #set_target_properties(keduvocdocument
0165 #    PROPERTIES VERSION ${LIB_KEDUVOCDOCUMENT_VERSION}
0166 #    SOVERSION ${LIB_KEDUVOCDOCUMENT_SOVERSION}
0167 #)
0168 
0169 install(TARGETS KEduVocDocument EXPORT LibKEduVocDocumentTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0170 
0171 
0172 ########### install files ###############
0173 
0174 install(FILES
0175   ${CMAKE_CURRENT_BINARY_DIR}/keduvocdocument_export.h
0176   ${CMAKE_CURRENT_BINARY_DIR}/keduvocdocument_version.h
0177   ${KdeEdu_HEADERS}
0178   DESTINATION ${KDE_INSTALL_INCLUDEDIR}/libkeduvocdocument COMPONENT Devel
0179 )