]> git.sesse.net Git - kdenlive/blob - cmake/modules/FindKdeLibs.cmake
Build system
[kdenlive] / cmake / modules / FindKdeLibs.cmake
1 include(FindQt3)
2 include(FindKDE3)
3
4
5 set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" FORCE)
6
7 SET(LIB_SEARCH_PATHES   ${KDE3_LIB_DIR}
8   $ENV{KDEDIR}/lib
9   /opt/kde/lib
10   /opt/kde3/lib
11   /usr/lib
12   /usr/local/lib
13 )
14
15 IF (LIB_SUFFIX)
16     SET(LIB_SEARCH_PATHES
17         $ENV{KDEDIR}/lib${LIB_SUFFIX}
18         /opt/kde/lib${LIB_SUFFIX}
19         /opt/kde3/lib${LIB_SUFFIX}
20         /usr/lib${LIB_SUFFIX}
21         /usr/local/lib${LIB_SUFFIX}
22         ${LIB_SEARCH_PATHES})
23 ENDIF (LIB_SUFFIX)
24
25 FIND_LIBRARY(KDE3_UI_LIBRARY NAMES kdeui
26   PATHS
27   ${LIB_SEARCH_PATHES}
28 )
29
30 FIND_LIBRARY(KDE3_PART_LIBRARY NAMES kparts
31   PATHS
32   ${LIB_SEARCH_PATHES}
33 )
34
35 FIND_LIBRARY(KDE3_KIO_LIBRARY NAMES kio
36   PATHS
37   ${LIB_SEARCH_PATHES}
38 )
39
40 FIND_LIBRARY(KDE3_DCOP_LIBRARY NAMES DCOP
41   PATHS
42   ${LIB_SEARCH_PATHES}
43 )
44
45 FIND_LIBRARY(KDE3_WALLET_LIBRARY NAMES kwalletclient
46   PATHS
47   ${LIB_SEARCH_PATHES}
48 )
49
50 FIND_LIBRARY(KDE3_KINIT_KDED_LIBRARY NAMES kdeinit_kded
51   PATHS
52   ${LIB_SEARCH_PATHES}
53 )
54
55 FIND_PROGRAM(KDE3_KDECONFIG_EXECUTABLE NAME kde-config PATHS
56     $ENV{KDEDIR}/bin
57     /opt/kde/bin
58     /opt/kde3/bin
59 )
60
61 FIND_PROGRAM(MSGFMT
62     NAMES gmsgfmt msgfmt)
63
64 FIND_PROGRAM(STRIP
65     NAMES strip)
66
67 FIND_PROGRAM(KDE3_MEINPROC_EXECUTABLE NAME meinproc PATHS
68      ${KDE3_BIN_INSTALL_DIR}
69      $ENV{KDEDIR}/bin
70      /opt/kde/bin
71      /opt/kde3/bin
72 )
73
74 IF(KDE3_MEINPROC_EXECUTABLE)
75     MESSAGE(STATUS "Found meinproc: ${KDE3_MEINPROC_EXECUTABLE}")
76 ELSE(KDE3_MEINPROC_EXECUTABLE)
77     MESSAGE(STATUS "Didn't find meinproc!")
78 ENDIF(KDE3_MEINPROC_EXECUTABLE)
79
80 IF(MSGFMT)
81     EXECUTE_PROCESS(COMMAND ${MSGFMT} "--version" "2>&1"
82     OUTPUT_VARIABLE _msgout)
83     STRING(REGEX MATCH "GNU[\t ]gettext" _isgnu "${_msgout}")
84     IF (NOT _isgnu)
85         MESSAGE(STATUS "No gnu msgfmt found!")
86         SET(MSGFMT ":" CACHE STRING "Msgfmt program")
87     ELSE(NOT _isgnu)
88         MESSAGE(STATUS "Found gnu msgfmt: ${MSGFMT}")
89     ENDIF (NOT _isgnu)
90 ELSE(MSGFMT)
91     SET(MSGFMT ":" CACHE STRING "Msgfmt program")
92 ENDIF(MSGFMT)
93
94 # 'cause my own defines were not good I take them from kde4 trunk
95 #add some KDE specific stuff
96 set(SHARE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/share CACHE PATH "Base directory for files which go to share/" FORCE)
97 set(EXEC_INSTALL_PREFIX  ${CMAKE_INSTALL_PREFIX}       CACHE PATH  "Base directory for executables and libraries" FORCE)
98 #
99 ## the following are directories where stuff will be installed to
100 set(BIN_INSTALL_DIR          "${EXEC_INSTALL_PREFIX}/bin"                  CACHE PATH "The kde bin install dir (default prefix/bin)" FORCE)
101 set(SBIN_INSTALL_DIR         "${EXEC_INSTALL_PREFIX}/sbin"                 CACHE PATH "The kde sbin install dir (default prefix/sbin)" FORCE)
102 set(LIB_INSTALL_DIR          "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}"     CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
103 set(LIBEXEC_INSTALL_DIR      "${LIB_INSTALL_DIR}/kde3/libexec"             CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib/kde3/libexec)" FORCE)
104 set(PLUGIN_INSTALL_DIR       "${LIB_INSTALL_DIR}/kde3"                     CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is ${LIB_INSTALL_DIR}/kde3)" FORCE)
105 set(INCLUDE_INSTALL_DIR      "${CMAKE_INSTALL_PREFIX}/include"             CACHE PATH "The subdirectory to the header prefix" FORCE)
106 set(CONFIG_INSTALL_DIR       "${SHARE_INSTALL_PREFIX}/config"              CACHE PATH "The config file install dir" FORCE)
107 set(DATA_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/apps"                CACHE PATH "The parent directory where applications can install their data" FORCE)
108 set(HTML_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/doc/HTML"            CACHE PATH "The HTML install dir for documentation"  FORCE)
109 set(ICON_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/icons"               CACHE PATH "The icon install dir (default prefix/share/icons/)" FORCE)
110 set(KCFG_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/config.kcfg"         CACHE PATH "The install dir for kconfig files" FORCE)
111 set(LOCALE_INSTALL_DIR       "${SHARE_INSTALL_PREFIX}/locale"              CACHE PATH "The install dir for translations" FORCE)
112 set(MIME_INSTALL_DIR         "${SHARE_INSTALL_PREFIX}/mimelnk"             CACHE PATH "The install dir for the mimetype desktop files" FORCE)
113 set(SERVICES_INSTALL_DIR     "${SHARE_INSTALL_PREFIX}/services"            CACHE PATH "The install dir for service (desktop, protocol, ...) files" FORCE)
114 set(SERVICETYPES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/servicetypes"        CACHE PATH "The install dir for servicestypes desktop files" FORCE)
115 set(SOUND_INSTALL_DIR        "${SHARE_INSTALL_PREFIX}/sounds"              CACHE PATH "The install dir for sound files" FORCE)
116 set(TEMPLATES_INSTALL_DIR    "${SHARE_INSTALL_PREFIX}/templates"           CACHE PATH "The install dir for templates (Create new file...)" FORCE)
117 set(WALLPAPER_INSTALL_DIR    "${SHARE_INSTALL_PREFIX}/wallpapers"          CACHE PATH "The install dir for wallpapers" FORCE)
118 set(KCONF_UPDATE_INSTALL_DIR "${DATA_INSTALL_DIR}/kconf_update"            CACHE PATH "The kconf_update install dir" FORCE)
119 # this one shouldn't be used anymore
120 set(APPLNK_INSTALL_DIR       "${SHARE_INSTALL_PREFIX}/applnk"              CACHE PATH "Is this still used ?" FORCE)
121 set(AUTOSTART_INSTALL_DIR    "${SHARE_INSTALL_PREFIX}/autostart"           CACHE PATH "The install dir for autostart files" FORCE)
122 set(XDG_APPS_DIR             "${SHARE_INSTALL_PREFIX}/applications/kde"    CACHE PATH "The XDG apps dir" FORCE)
123 set(XDG_DIRECTORY_DIR        "${SHARE_INSTALL_PREFIX}/desktop-directories" CACHE PATH "The XDG directory" FORCE)
124 set(SYSCONF_INSTALL_DIR      "${CMAKE_INSTALL_PREFIX}/etc"                 CACHE PATH "The kde sysconfig install dir (default/etc)" FORCE)
125 set(MAN_INSTALL_DIR          "${SHARE_INSTALL_PREFIX}/man"                 CACHE PATH "The kde man install dir (default prefix/share/man/)" FORCE)
126 set(INFO_INSTALL_DIR         "${CMAKE_INSTALL_PREFIX}/info"                CACHE PATH "The kde info install dir (default prefix/info)" FORCE)
127
128
129 MACRO(ADD_POFILES packagename)
130     SET(_gmofiles)
131     FILE(GLOB _pofiles *.po)
132
133     FOREACH(_current_po ${_pofiles})
134         GET_FILENAME_COMPONENT(_name ${_current_po} NAME_WE)
135         STRING(REGEX REPLACE "^.*/([a-zA-Z]+)(\\.po)" "\\1" _lang "${_current_po}")
136         SET(_gmofile "${CMAKE_CURRENT_BINARY_DIR}/${_name}.gmo")
137         ADD_CUSTOM_COMMAND(OUTPUT ${_gmofile}
138             COMMAND ${MSGFMT}
139             ARGS "-o" "${_gmofile}" "${_current_po}"
140             DEPENDS ${_current_po}
141             )
142         SET(_gmofiles ${_gmofiles} ${_gmofile})
143         INSTALL(FILES ${_gmofile}
144             DESTINATION ${LOCALE_INSTALL_DIR}/${_lang}/LC_MESSAGES
145             RENAME ${packagename}.mo)
146     ENDFOREACH(_current_po ${_pofiles})
147
148     ADD_CUSTOM_TARGET(translations ALL
149         DEPENDS ${_gmofiles})
150
151 ENDMACRO(ADD_POFILES)