File: CMakeLists.txt

package info (click to toggle)
kile 4%3A2.1.3-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 25,476 kB
  • ctags: 4,791
  • sloc: cpp: 37,673; xml: 8,061; perl: 374; sh: 219; makefile: 10
file content (153 lines) | stat: -rw-r--r-- 6,375 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
cmake_minimum_required(VERSION 2.6.2)

PROJECT( kile )

cmake_policy(SET CMP0002 OLD)

find_package(KDE4 4.2.0 REQUIRED)
include (KDE4Defaults)

find_package( SharedMimeInfo REQUIRED )


SET( KILE_VERSION CACHE STRING "Kile's version; can be used to install special documentation files in share/doc/kile-$KILE_VERSION/" )

SET( kile_PO_FILE "kile.po" )
SET( kile_DOCBOOK "index.docbook" )

MACRO( KILE_ADD_DOCBOOK_DIRECTORY _sources _relative_dir _docbook _language )
	# only depend on images
	FILE( GLOB_RECURSE _dependencies ${CMAKE_CURRENT_SOURCE_DIR}/${_relative_dir}/*.[pP][nN][gG] )
	FILE( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_relative_dir} )

	SET( _source_docbook ${CMAKE_CURRENT_SOURCE_DIR}/${_relative_dir}/${_docbook} )
	SET( _compiled_docbook ${CMAKE_CURRENT_BINARY_DIR}/${_relative_dir}/index.cache.bz2 )

	ADD_CUSTOM_COMMAND(OUTPUT ${_compiled_docbook}
			COMMAND ${KDE4_MEINPROC_EXECUTABLE} --check --cache index.cache.bz2 ${_source_docbook}
			DEPENDS ${_dependencies} ${_source_docbook}
			WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_relative_dir}
			COMMENT "Compiling ${_language} docbook in ${_relative_dir}/${_docbook}" )

	INSTALL( FILES ${_compiled_docbook} ${_source_docbook} ${_dependencies} DESTINATION ${HTML_INSTALL_DIR}/${_language}/kile )
	SET( ${_sources} ${${_sources}} ${_compiled_docbook} )
ENDMACRO( KILE_ADD_DOCBOOK_DIRECTORY _sources _docbook _language )

MACRO( KILE_ADD_TRANSLATION_DIRECTORY _sources _relative_dir _file _language )
	FILE( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_relative_dir} )

	GET_FILENAME_COMPONENT(_base_name ${_file} NAME_WE)
	SET( _source_file ${CMAKE_CURRENT_SOURCE_DIR}/${_relative_dir}/${_file} )
	SET( _base_compiled_file ${_base_name}.mo)
	SET( _compiled_file ${CMAKE_CURRENT_BINARY_DIR}/${_relative_dir}/${_base_compiled_file} )

	ADD_CUSTOM_COMMAND(OUTPUT ${_compiled_file}
			COMMAND ${KILE_MSGFMT} -o ${_compiled_file} ${_source_file}
			DEPENDS ${_source_file}
			WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_relative_dir}
			COMMENT "Compiling ${_language} translation file" )

	INSTALL( FILES ${_compiled_file} DESTINATION ${LOCALE_INSTALL_DIR}/${_language}/LC_MESSAGES )
	SET( ${_sources} ${${_sources}} ${_compiled_file} )
ENDMACRO( KILE_ADD_TRANSLATION_DIRECTORY _sources _relative_dir _file _language )

MACRO( KILE_ADD_TRANSLATION_DIRECTORIES _documentation_sources _translation_sources _dir )
	FILE( GLOB _subdirectories ${_dir}/* )

	FOREACH( _entry ${_subdirectories} )
		IF( IS_DIRECTORY ${_entry} )
			GET_FILENAME_COMPONENT( _language ${_entry} NAME )
			IF( KILE_MSGFMT AND EXISTS ${_entry}/messages )
				KILE_ADD_TRANSLATION_DIRECTORY( ${_translation_sources} translations/${_language}/messages ${kile_PO_FILE} ${_language} )
				SET(_translations_built ${_translations_built} ${_language} )
			ENDIF( KILE_MSGFMT AND EXISTS ${_entry}/messages )
			IF( KDE4_MEINPROC_EXECUTABLE AND EXISTS ${_entry}/doc )
				KILE_ADD_DOCBOOK_DIRECTORY( ${_documentation_sources} translations/${_language}/doc ${kile_DOCBOOK} ${_language} )
				SET(_docbooks_built ${_docbooks_built} ${_language} )
			ENDIF( KDE4_MEINPROC_EXECUTABLE AND EXISTS ${_entry}/doc )
		ENDIF( IS_DIRECTORY ${_entry} )
	ENDFOREACH( _entry ${_subdirectories} )

	IF( _translations_built )
		MESSAGE( STATUS "Building translations for ${_translations_built}" )
	ELSE( _translations_built )
		MESSAGE( STATUS "Not building translations" )
	ENDIF( _translations_built )

	IF( _docbooks_built )
		MESSAGE( STATUS "Building documentation for ${_docbooks_built}" )
	ELSE( _docbooks_built )
		MESSAGE( STATUS "Not building additional documentation" )
	ENDIF( _docbooks_built )
ENDMACRO( KILE_ADD_TRANSLATION_DIRECTORIES _documentation_sources _translation_sources _dir )

MACRO( KILE_FIND_DOC_TOOLS )

	IF( KDE4_MEINPROC_EXECUTABLE )
		MESSAGE( STATUS "Found meinproc4: ${KDE4_MEINPROC_EXECUTABLE}" )
	ELSE ( KDE4_MEINPROC_EXECUTABLE)
		MESSAGE( STATUS "Could not find meinproc4")
	ENDIF( KDE4_MEINPROC_EXECUTABLE )

	FIND_PROGRAM( KILE_MSGFMT "msgfmt" DOC "path of the msgfmt executable")
	IF( KILE_MSGFMT )
		MESSAGE( STATUS "Found msgfmt: ${KILE_MSGFMT}" )
	ELSE( KILE_MSGFMT )
		 MESSAGE( STATUS "Could not find msgfmt" )
	ENDIF( KILE_MSGFMT )

	IF( KDE4_MEINPROC_EXECUTABLE AND KILE_MSGFMT )
		SET( KILE_DOC_TOOLS_FOUND true )
	ENDIF ( KDE4_MEINPROC_EXECUTABLE AND KILE_MSGFMT )
ENDMACRO( KILE_FIND_DOC_TOOLS )

IF( EXISTS ${kile_SOURCE_DIR}/doc OR EXISTS ${kile_SOURCE_DIR}/translations )
	KILE_FIND_DOC_TOOLS( )
ENDIF(  EXISTS ${kile_SOURCE_DIR}/doc OR EXISTS ${kile_SOURCE_DIR}/translations )

IF( EXISTS ${kile_SOURCE_DIR}/doc )
	IF( KDE4_MEINPROC_EXECUTABLE )
		MESSAGE( STATUS "Building standard documentation")
		ADD_SUBDIRECTORY( doc )
        #KILE_ADD_DOCBOOK_DIRECTORY( kile_DOCUMENTATION_SOURCES doc index.docbook en )
	ENDIF( KDE4_MEINPROC_EXECUTABLE )
ELSE( EXISTS ${kile_SOURCE_DIR}/doc )
	MESSAGE( STATUS "Not building standard documentation")
ENDIF( EXISTS ${kile_SOURCE_DIR}/doc )

IF( EXISTS ${kile_SOURCE_DIR}/translations )
	IF( KDE4_MEINPROC_EXECUTABLE OR KILE_MSGFMT )
		KILE_ADD_TRANSLATION_DIRECTORIES( kile_DOCUMENTATION_SOURCES kile_TRANSLATION_SOURCES ${kile_SOURCE_DIR}/translations )
	ENDIF( KDE4_MEINPROC_EXECUTABLE OR KILE_MSGFMT )
ELSE( EXISTS ${kile_SOURCE_DIR}/translations )
	MESSAGE( STATUS "Not building translations")
ENDIF( EXISTS ${kile_SOURCE_DIR}/translations )

IF( kile_DOCUMENTATION_SOURCES )
	ADD_CUSTOM_TARGET(docbooks ALL DEPENDS ${kile_DOCUMENTATION_SOURCES})
ENDIF( kile_DOCUMENTATION_SOURCES )

IF( kile_TRANSLATION_SOURCES )
	ADD_CUSTOM_TARGET(translations ALL DEPENDS ${kile_TRANSLATION_SOURCES})
ENDIF( kile_TRANSLATION_SOURCES)

ADD_SUBDIRECTORY( doc )
ADD_SUBDIRECTORY( src )

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

install( FILES kile.xml DESTINATION ${XDG_MIME_INSTALL_DIR} )
update_xdg_mimetypes( ${XDG_MIME_INSTALL_DIR} )

INSTALL( FILES kile.upd kile1.6_upd.pl kile1.7_upd.pl kile1.9_upd.pl
kile1.9-1_upd.pl kile2.0-1_upd.pl kile2.0-2_upd.pl kile2.0-3_upd.pl
kile2.0-4_upd.pl kile2.0-5_upd.pl DESTINATION ${DATA_INSTALL_DIR}/kconf_update )

IF( KILE_VERSION )
	SET(_KILE_SPECIAL_DOC_DIR "share/doc/kile-${KILE_VERSION}")
ELSE( KILE_VERSION )
	SET(_KILE_SPECIAL_DOC_DIR "share/doc/kile")
ENDIF( KILE_VERSION )

INSTALL( FILES AUTHORS ChangeLog README README.cwl kile-remote-control.txt README.MacOSX DESTINATION ${_KILE_SPECIAL_DOC_DIR})