Warning, /utilities/kirogi/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 add_subdirectory(lib)
0002 add_subdirectory(gstreamer)
0003 
0004 if(BUILD_PLUGINS)
0005     add_subdirectory(plugins)
0006 endif()
0007 
0008 if(NOT BUILD_APP)
0009     return()
0010 endif()
0011 
0012 if(ANDROID)
0013     kirigami_package_breeze_icons(ICONS
0014         arrow-down
0015         arrow-up
0016         battery-000
0017         battery-010
0018         battery-020
0019         battery-030
0020         battery-040
0021         battery-050
0022         battery-060
0023         battery-070
0024         battery-080
0025         battery-100
0026         battery-missing
0027         chronometer-reset
0028         clock
0029         computer-symbolic
0030         configure
0031         documentinfo
0032         edit-redo
0033         edit-undo
0034         emblem-default-symbolic
0035         emblem-important-symbolic
0036         emblem-photos-symbolic
0037         emblem-videos-symbolic
0038         format-align-vertical-bottom
0039         go-down
0040         go-home-symbolic
0041         go-next
0042         go-previous
0043         go-up
0044         gps
0045         help-about
0046         input-gamepad-symbolic
0047         kruler-south
0048         kruler-west
0049         map-flat
0050         media-record-symbolic
0051         network-wireless-acquiring
0052         network-wireless-connected-00
0053         network-wireless-connected-100
0054         network-wireless-connected-25
0055         network-wireless-connected-50
0056         network-wireless-connected-75
0057         network-wireless-disconnected
0058         phone-symbolic
0059         question
0060         speedometer
0061         transform-move
0062         uav
0063         uav-quadcopter
0064         window
0065     )
0066 endif()
0067 
0068 if(ANDROID)
0069     set(ANDROID_HEADERS
0070         "gstreamer/gstreamer_android.h"
0071     )
0072 
0073     set(ANDROID_SOURCES
0074         "gstreamer/gstreamer_android-1.0.c"
0075         "gstreamer/qt_gstreamer_android-1.0.cpp"
0076     )
0077 endif()
0078 
0079 set(kirogi_SRCS
0080     main.cpp
0081     permissions.cpp
0082     ${ANDROID_HEADERS}
0083     ${ANDROID_SOURCES}
0084 )
0085 
0086 ecm_qt_declare_logging_category(kirogi_SRCS
0087     HEADER debug.h
0088     IDENTIFIER KIROGI_APP
0089     CATEGORY_NAME "kirogi.app"
0090 )
0091 
0092 file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../data/icons/*apps-kirogi.svg")
0093 ecm_add_app_icon(kirogi_SRCS ICONS ${ICONS_SRCS})
0094 
0095 # FIXME In lieu of `ecm_add_app_icon` having Android support.
0096 if(ANDROID)
0097     install(FILES ${ICONS_SRCS} DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami.2/icons/ RENAME "kirogi.svg")
0098 endif()
0099 
0100 if(COMPILE_QML)
0101     qtquick_compiler_add_resources(RESOURCES resources.qrc)
0102 else()
0103     qt5_add_resources(RESOURCES resources.qrc)
0104 endif()
0105 
0106 add_executable(kirogi ${kirogi_SRCS} ${RESOURCES})
0107 
0108 target_compile_definitions(kirogi PRIVATE -DUSE_QRC)
0109 
0110 if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
0111     target_compile_options(kirogi PRIVATE
0112         -pedantic
0113         -Woverloaded-virtual
0114         -Wunused
0115         -Wall
0116         -Wextra
0117         -Wshadow
0118         -Wnon-virtual-dtor
0119         -Wold-style-cast
0120     )
0121 
0122     if(CMAKE_COMPILER_IS_GNUCXX)
0123         target_compile_options(kirogi PRIVATE
0124             -Wduplicated-cond
0125             -Wduplicated-branches
0126             -Wlogical-op
0127             -Wnull-dereference
0128             -fsanitize=leak
0129         )
0130     endif()
0131 endif()
0132 
0133 target_link_libraries(kirogi
0134     Qt5::Core
0135     Qt5::Positioning
0136     Qt5::Qml
0137     Qt5::Quick
0138     KF5::ConfigWidgets
0139     KF5::CoreAddons
0140     KF5::I18n
0141     gstreamer
0142     ${GSTREAMER_LIBRARIES}
0143     settings
0144 )
0145 
0146 if(NOT ANDROID)
0147     target_link_libraries(kirogi
0148         Qt5::Widgets
0149         KF5::Crash
0150         ${GSTREAMER_LIBRARIES}
0151     )
0152 else()
0153     target_link_libraries(kirogi
0154         Qt5::AndroidExtras
0155         # The Material style requires QtSvg.
0156         Qt5::Svg
0157         # GStreamer plugins
0158         gstcoreelements
0159         gsttypefindfunctions
0160         gstplayback
0161         gstvideotestsrc
0162         gstvideoparsersbad
0163         gstx264
0164         gstudp
0165         gstrtpmanager
0166         gstrtp
0167         gstqmlgl
0168         gstopengl
0169         gstlibav
0170         x264
0171         # Android system libs
0172         ${liblog}
0173         ${libandroid}
0174         ${libEGL}
0175         ${libGLESv2}
0176         # Optional
0177         gstandroidmedia
0178         gstphotography-1.0
0179         ${GSTREAMER_STATIC_LIBRARIES}
0180     )
0181 endif()
0182 
0183 install(TARGETS kirogi ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})