File: CMakeLists.txt

package info (click to toggle)
libkeduvocdocument 4%3A20.12.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 2,284 kB
  • sloc: cpp: 8,230; makefile: 3; sh: 3
file content (126 lines) | stat: -rw-r--r-- 3,309 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
if (BUILD_TESTING)
   add_subdirectory(autotests)
   add_subdirectory(tests)
endif()

########### next target ###############

include(ECMSetupVersion)

ecm_setup_version(5.0.0 VARIABLE_PREFIX KDEEDU
                        VERSION_HEADER "${CMAKE_BINARY_DIR}/keduvocdocument/keduvocdocument_version.h"
                        PACKAGE_VERSION_FILE "${CMAKE_BINARY_DIR}/KEduVocDocumentVersion.cmake")

include_directories(
    ${CMAKE_CURRENT_BINARY_DIR}
)

set(keduvocdocument_LIB_SRCS
    keduvocdocument.cpp
    keduvocidentifier.cpp
    keduvocexpression.cpp
    keduvoctranslation.cpp
    keduvoccontainer.cpp
    keduvoclesson.cpp
    keduvocleitnerbox.cpp
    keduvoctext.cpp
    keduvocarticle.cpp
    keduvocconjugation.cpp
    keduvocpersonalpronoun.cpp
    keduvocdeclension.cpp
    keduvocwordtype.cpp
    keduvockvtmlcompability.cpp
    keduvockvtml2writer.cpp
    keduvoccsvwriter.cpp
    readerwriters/dummyreader.cpp
    readerwriters/failedreader.cpp
    readerwriters/keduvockvtmlreader.cpp
    readerwriters/keduvockvtml2reader.cpp
    readerwriters/keduvoccsvreader.cpp
    readerwriters/keduvocpaukerreader.cpp
    readerwriters/keduvocvokabelnreader.cpp
    readerwriters/keduvocwqlreader.cpp
    readerwriters/keduvocxdxfreader.cpp
    readerwriters/readermanager.cpp
    sharedkvtmlfiles.cpp
)

include(ECMGenerateHeaders)
ecm_generate_headers( KdeEdu_HEADERS
  HEADER_NAMES
    KEduVocDocument
    KEduVocIdentifier
    KEduVocExpression
    KEduVocText
    KEduVocArticle
    KEduVocConjugation
    KEduVocLesson
    KEduVocLeitnerBox
    KEduVocContainer
    KEduVocWordFlags
    KEduVocMultipleChoice
    KEduVocTranslation
    KEduVocWordtype
    KEduVocPersonalPronoun
    SharedKVTMLFiles
    KEduVocDeclension
    KEduVocKVTML2Writer

    REQUIRED_HEADERS KdeEdu_HEADERS
)

add_library(KEduVocDocument SHARED ${keduvocdocument_LIB_SRCS})
generate_export_header(KEduVocDocument BASE_NAME KEduVocDocument)
# vHanda: Add library alias?

target_link_libraries(KEduVocDocument
  PUBLIC
    Qt5::Xml
  PRIVATE
    KF5::I18n
    KF5::KIOCore
    KF5::Archive
)


# vHanda: Add Export Name?
set_target_properties(KEduVocDocument
    PROPERTIES VERSION   ${KDEEDU_VERSION_STRING}
               SOVERSION ${KDEEDU_SOVERSION}
)
target_include_directories(KEduVocDocument INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}/libkeduvocdocument>")


#Library for non-api unittests
add_library(keduvocdocument_static STATIC ${keduvocdocument_LIB_SRCS})
set_target_properties(keduvocdocument_static PROPERTIES COMPILE_FLAGS -DKEDUVOCDOCUMENT_STATIC_DEFINE)

target_link_libraries(keduvocdocument_static
  PUBLIC
    KF5::KIOCore
    Qt5::Xml
  PRIVATE
    KF5::I18n
    KF5::Archive
)



# if we want to set our own version instead of following kde generic
#set(LIB_KEDUVOCDOCUMENT_VERSION "5.0.0")
#set(LIB_KEDUVOCDOCUMENT_SOVERSION "5")
#set_target_properties(keduvocdocument
#    PROPERTIES VERSION ${LIB_KEDUVOCDOCUMENT_VERSION}
#    SOVERSION ${LIB_KEDUVOCDOCUMENT_SOVERSION}
#)

install(TARGETS KEduVocDocument EXPORT LibKEduVocDocumentTargets ${INSTALL_TARGETS_DEFAULT_ARGS})


########### install files ###############

install(FILES
  ${CMAKE_CURRENT_BINARY_DIR}/keduvocdocument_export.h
  ${KdeEdu_HEADERS}
  DESTINATION ${INCLUDE_INSTALL_DIR}/libkeduvocdocument COMPONENT Devel
)