File: CMakeLists.txt

package info (click to toggle)
kdevelop 4%3A25.04.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 73,508 kB
  • sloc: cpp: 291,803; python: 4,322; javascript: 3,518; sh: 1,316; ansic: 703; xml: 414; php: 95; lisp: 66; makefile: 31; sed: 12
file content (164 lines) | stat: -rw-r--r-- 4,922 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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# BEGIN: Analyzers
add_subdirectory(compileanalyzercommon)
add_subdirectory(clangtidy)
add_subdirectory(clazy)
add_subdirectory(cppcheck)
if(UNIX AND NOT (APPLE OR CYGWIN))
    add_subdirectory(heaptrack)
endif()
# END: Analyzers

# BEGIN: Debuggers
add_subdirectory(debuggercommon)
add_subdirectory(lldb)
add_subdirectory(gdb)
# END: Debuggers

# BEGIN: Documentation
find_package(Qt6Help CONFIG)
set_package_properties(Qt6Help PROPERTIES
    PURPOSE "The Help module for the Qt toolkit, needed for the qthelp plugin"
    URL "https://www.qt.io/"
    TYPE OPTIONAL)
if(Qt6Help_FOUND)
    ecm_optional_add_subdirectory(qthelp)
endif()
ecm_optional_add_subdirectory(manpage)
# END: Documentation

# BEGIN: Formatters
add_subdirectory(astyle)
add_subdirectory(customscript)
# END: Formatters

# BEGIN: Languages
ecm_optional_add_subdirectory(custom-definesandincludes)

# TODO: port qmljs to Qt6 and add "qml" to the LspPlugin::disabledLanguages() list.
#ecm_optional_add_subdirectory(qmljs)

find_package(Clang CONFIG)
set(clangSearchHint "")
if (NOT Clang_FOUND)
    set(clangSearchHint "
        Please install a package providing libclang.
        You can pass -DClang_DIR=/path/to/lib/cmake/clang to cmake.
        You may need to remove stale CLANG_BUILTIN_DIR and LLVM_DIR CMake cache variables.")
endif()
set_package_properties(Clang PROPERTIES
    DESCRIPTION "Clang libraries from the LLVM project, required version >= 6.0${clangSearchHint}"
    PURPOSE "Used for KDevelop's C++/C support plugin."
    TYPE REQUIRED
)

if (Clang_FOUND)
    message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
    message(STATUS "  Using LLVMConfig.cmake in:  ${LLVM_DIR}")
    message(STATUS "  Using ClangConfig.cmake in: ${Clang_DIR}")

    if (NOT TARGET Clang::libclang)
        add_library(Clang::libclang ALIAS libclang)
    endif()
    ecm_optional_add_subdirectory(clang)
endif()
# END: Languages

# BEGIN: Project builders
add_subdirectory(makebuilder)
add_subdirectory(ninjabuilder)
ecm_optional_add_subdirectory(cmakebuilder)
if (KDevelop-PG-Qt_FOUND OR KDevelopPGQt_FOUND)
    ecm_optional_add_subdirectory(qmakebuilder)
endif()
# END: Project builders

# BEGIN: Project managers
ecm_optional_add_subdirectory(cmake)
ecm_optional_add_subdirectory(custommake)
ecm_optional_add_subdirectory(custom-buildsystem)
add_subdirectory(meson)
if (KDevelop-PG-Qt_FOUND OR KDevelopPGQt_FOUND)
    ecm_optional_add_subdirectory(qmakemanager)
endif()
ecm_optional_add_subdirectory(genericprojectmanager)
# END: Project managers

# BEGIN: Runtimes
add_subdirectory(android)
add_subdirectory(craft)
if (UNIX)
    add_subdirectory(docker)
    add_subdirectory(flatpak)
endif()
# END: Runtimes

# BEGIN: VCS
ecm_optional_add_subdirectory(bazaar)
ecm_optional_add_subdirectory(git)
ecm_optional_add_subdirectory(perforce)

find_package(SubversionLibrary)
set_package_properties(SubversionLibrary PROPERTIES
    PURPOSE "Support for Subversion integration"
    URL "https://subversion.apache.org/"
    TYPE OPTIONAL)

if(SubversionLibrary_FOUND)
    ecm_optional_add_subdirectory(subversion)
endif()

add_subdirectory(vcschangesview)
# END: VCS

# BEGIN: Others
add_subdirectory(appwizard)
add_subdirectory(codeutils)
add_subdirectory(contextbrowser)
add_subdirectory(documentswitcher)
add_subdirectory(documentview)
add_subdirectory(execute)
add_subdirectory(executescript)
add_subdirectory(externalscript)
add_subdirectory(filemanager)
add_subdirectory(filetemplates)
add_subdirectory(grepview)
add_subdirectory(openwith)
add_subdirectory(outlineview)
add_subdirectory(patchreview)
add_subdirectory(problemreporter)
add_subdirectory(projectfilter)
add_subdirectory(projectmanagerview)
add_subdirectory(quickopen)
add_subdirectory(sourceformatter)
add_subdirectory(standardoutputview)
add_subdirectory(switchtobuddy)
add_subdirectory(testview)
add_subdirectory(scratchpad)
ecm_optional_add_subdirectory(classbrowser)
ecm_optional_add_subdirectory(executeplasmoid)
ecm_optional_add_subdirectory(ghprovider)
ecm_optional_add_subdirectory(konsole)
add_subdirectory(welcomepage)

# TODO: Okteta Qt6 port not yet complete, ETA 10/2024 or later.
# Once available, adapt code & reenable again. For now prevent finding the Qt5 version.
set(CMAKE_DISABLE_FIND_PACKAGE_OktetaKastenControllers ON)
set(CMAKE_DISABLE_FIND_PACKAGE_KastenControllers ON)

find_package(OktetaKastenControllers 0.4.0 CONFIG)
set_package_properties(OktetaKastenControllers PROPERTIES
    PURPOSE "Required for building Okteta KDevelop plugin."
    URL "https://kde.org/"
    TYPE OPTIONAL)
if (OktetaKastenControllers_FOUND)
    find_package(KastenControllers 0.4.0 CONFIG)

    set_package_properties(KastenControllers PROPERTIES
        PURPOSE "Required for building Okteta KDevelop plugin."
        URL "https://kde.org/"
        TYPE OPTIONAL)
endif()
if (OktetaKastenControllers_FOUND AND KastenControllers_FOUND)
    add_subdirectory(okteta)
endif()
# END: Others