2011-05-27 22:56:42 +02:00
# include doxygen documentation
2020-11-11 11:15:34 +01:00
set ( WITH_APIDOC FALSE CACHE BOOL "Determines whether the QGIS API doxygen documentation should be built" )
2011-05-27 22:56:42 +02:00
2015-05-27 16:21:29 +10:00
# include Qt documentation
2020-11-11 11:15:34 +01:00
set ( QT_DOC_URL "https://doc.qt.io/qt-5/" CACHE STRING "URL for Qt docs" )
2015-05-27 16:21:29 +10:00
2020-11-11 11:15:34 +01:00
set ( QGIS_DOC_FILES
2020-06-12 08:18:19 +02:00
. . / I N S T A L L . m d
. . / N E W S . m d
2020-06-10 13:57:27 +02:00
N E W S . h t m l
2019-10-26 13:36:31 +02:00
i n d e x . h t m l
d e v e l o p e r s m a p . h t m l
n o h e l p . h t m l
f a v i c o n . i c o
s t y l e . c s s
A U T H O R S
C O N T R I B U T O R S
S P O N S O R S
D O N O R S
T R A N S L A T O R S
2019-10-06 20:16:01 +02:00
L I C E N S E
)
2020-11-11 11:15:34 +01:00
install ( FILES ${ QGIS_DOC_FILES } DESTINATION ${ QGIS_DATA_DIR } /doc )
install ( FILES ../images/icons/qgis-icon-60x60.png DESTINATION ${ QGIS_DATA_DIR } /doc/images )
2007-01-09 02:39:15 +00:00
2016-07-03 23:28:29 +02:00
# Sponsor images
2020-11-11 11:15:34 +01:00
file ( GLOB SPONSOR_IMAGES images/projects/thumbnails/* )
install ( FILES ${ SPONSOR_IMAGES } DESTINATION ${ QGIS_DATA_DIR } /doc/images/projects/thumbnails/ )
2016-07-03 23:28:29 +02:00
2020-11-11 11:15:34 +01:00
if ( WITH_APIDOC )
find_package ( Doxygen 1.8.2 REQUIRED )
if ( DOXYGEN_FOUND )
set ( QHP_FILES ${ CMAKE_CURRENT_BINARY_DIR } /api/html/index.qhp )
2015-05-27 16:21:29 +10:00
2016-04-30 10:15:09 +10:00
# Whether to generate QHP file
2020-11-11 11:15:34 +01:00
set ( GENERATE_QHP FALSE CACHE BOOL "Determines whether to generate Qt QHP help from the QGIS API Docs" )
if ( GENERATE_QHP )
set ( WITH_QHP YES )
set ( QHP_FILES ${ QHP_FILES } ${ CMAKE_CURRENT_BINARY_DIR } /api/qch/qgis.qch )
else ( )
set ( WITH_QHP NO )
endif ( )
set ( DOXYGEN_INCLUDE_PATH
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e
2017-04-25 12:23:36 +02:00
)
2020-11-11 11:15:34 +01:00
string ( REPLACE ";" " " DOXYGEN_INCLUDE_PATH "${DOXYGEN_INCLUDE_PATH}" )
2017-04-25 12:23:36 +02:00
2020-11-11 11:15:34 +01:00
set ( DOXYGEN_INPUT
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / d o c
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e
2017-09-15 12:36:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / 3 d
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / a n n o t a t i o n s
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / a u t h
2019-07-10 17:46:35 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / c a l l o u t s
2019-09-02 09:48:46 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / c l a s s i f i c a t i o n
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / d i a g r a m
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / d x f
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / e f f e c t s
2018-04-02 22:46:47 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / e x p r e s s i o n
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / f i e l d f o r m a t t e r
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / g e o m e t r y
2017-09-06 17:34:27 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / g e o c m s
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / g e o c m s / g e o n o d e
2020-10-30 09:27:22 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / g e o c o d i n g
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / g p s
2019-12-10 13:58:38 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / l a b e l i n g
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / l a y e r t r e e
2017-06-23 16:34:20 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / l a y o u t
2017-08-30 18:46:12 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / l o c a t o r
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / m e t a d a t a
2018-04-20 09:19:11 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / m e s h
[api] Add registry and interface for QgsNumericFormats
QgsNumericFormat subclasses provide a means to format a numeric value
as a string, applying various formatting options. E.g. a default
string to value formatter (included here) includes settings for
controlling the number of decimal places, whether a thousands separator
should be shown, whether a leading + sign should be shown, whether
trailing zeros should be shown.
This PR also includes a formatter for bearings, allowing various
formats of numeric bearings to be applied (e.g. control over decimal
places, etc + control over whether direction E/W suffixes are shown,
or whether values should be limited to either the +/- 180 range or
0-360 degree range)
When formatting values, a QgsNumericFormatContext class is used
to provide context. Currently, this includes the thousands and
decimal separators to apply when formatting (which are taken by
default from the user's locale).
A registry of formatters is included to allow easy addition of
other formats in future (e.g. currencies, percentages, scientific
notation, etc...) and to allow plugin based formats.
The intention is to follow this up with gui configuration widgets
for the formats, and then expose them in various places through
the qgis ui (e.g. in the range editor widget for fields, in scalebar
numbers, as an option for formatting numeric labels, etc)
2020-01-06 15:21:26 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / n u m e r i c f o r m a t s
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / p a l
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / p r o c e s s i n g
2020-10-20 11:03:58 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / p o i n t c l o u d
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / p r o v i d e r s
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / p r o v i d e r s / m e m o r y
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / r a s t e r
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / s c a l e b a r
2017-08-06 13:39:03 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / s y m b o l o g y
2020-05-12 08:31:14 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / t e x t r e n d e r e r
2018-11-28 17:03:07 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / v a l i d i t y
2020-03-26 19:31:00 +01:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / c o r e / v e c t o r t i l e
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / a u t h
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / a t t r i b u t e t a b l e
2019-07-10 17:46:35 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / c a l l o u t s
2020-10-06 08:59:25 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / c o d e e d i t o r s
2020-03-25 10:26:39 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / d e v t o o l s
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / e d i t o r w i d g e t s
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / e d i t o r w i d g e t s / c o r e
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / e f f e c t s
2019-12-11 06:46:24 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / l a b e l i n g
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / l a y e r t r e e
2018-10-24 07:48:39 -04:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / l a y o u t
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / l o c a t o r
2020-01-07 10:41:55 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / n u m e r i c f o r m a t s
2019-01-05 20:31:10 -05:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / o g r
2020-10-20 11:03:58 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / p o i n t c l o u d
2018-02-01 07:21:00 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / p r o c e s s i n g
2020-02-29 16:05:20 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / p r o c e s s i n g / m o d e l s
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / r a s t e r
2017-08-06 13:39:03 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / s y m b o l o g y
2020-04-02 20:49:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / g u i / v e c t o r t i l e
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / a n a l y s i s
2018-12-18 14:25:08 +01:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / a n a l y s i s / m e s h
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / a n a l y s i s / i n t e r p o l a t i o n
$ { C M A K E _ S O U R C E _ D I R } / s r c / a n a l y s i s / n e t w o r k
2017-10-16 16:01:25 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / a n a l y s i s / p r o c e s s i n g
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / a n a l y s i s / r a s t e r
$ { C M A K E _ S O U R C E _ D I R } / s r c / a n a l y s i s / v e c t o r
2018-12-21 16:24:01 +01:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / a n a l y s i s / v e c t o r / g e o m e t r y _ c h e c k e r
2017-09-15 12:36:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / 3 d
$ { C M A K E _ S O U R C E _ D I R } / s r c / 3 d / c h u n k s
2020-08-03 09:25:50 +10:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / 3 d / m a t e r i a l s
2017-09-15 12:36:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / 3 d / s y m b o l s
$ { C M A K E _ S O U R C E _ D I R } / s r c / 3 d / t e r r a i n
2017-06-02 21:39:44 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / p l u g i n s
2018-04-26 13:33:48 +02:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / q u i c k g u i
$ { C M A K E _ S O U R C E _ D I R } / s r c / q u i c k g u i / p l u g i n
2016-09-21 23:33:43 +02:00
)
2020-11-11 11:15:34 +01:00
if ( WITH_SERVER )
set ( DOXYGEN_INPUT
2016-10-01 13:23:10 +02:00
$ { D O X Y G E N _ I N P U T }
2018-07-07 21:49:26 +01:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / s e r v e r /
$ { C M A K E _ S O U R C E _ D I R } / s r c / s e r v e r / s e r v i c e s /
$ { C M A K E _ S O U R C E _ D I R } / s r c / s e r v e r / s e r v i c e s / w m s
$ { C M A K E _ S O U R C E _ D I R } / s r c / s e r v e r / s e r v i c e s / w f s
$ { C M A K E _ S O U R C E _ D I R } / s r c / s e r v e r / s e r v i c e s / w c s
2016-10-01 13:23:10 +02:00
)
2020-11-11 11:15:34 +01:00
endif ( )
set ( DOXYGEN_FILE_PATTERNS *.h *.cpp *.dox )
set ( DOXYGEN_FILES )
foreach ( _dir ${ DOXYGEN_INPUT } )
foreach ( _pattern ${ DOXYGEN_FILE_PATTERNS } )
file ( GLOB_RECURSE _files ${ _dir } / ${ _pattern } )
list ( APPEND DOXYGEN_FILES ${ _files } )
endforeach ( _pattern )
endforeach ( _dir )
string ( REPLACE ";" " " DOXYGEN_INPUT "${DOXYGEN_INPUT}" )
if ( WERROR )
set ( DOXYGEN_WARN_AS_ERROR "YES" )
else ( )
set ( DOXYGEN_WARN_AS_ERROR "NO" )
endif ( )
configure_file ( ${ CMAKE_SOURCE_DIR } /cmake_templates/Doxyfile.in ${ CMAKE_CURRENT_BINARY_DIR } /Doxyfile @ONLY )
set ( DOXYGEN_ON_DEMAND FALSE CACHE BOOL "Determines whether the QGIS API doxygen documentation should be built on demand through the target apidoc only. If set to false it is added to the target ALL." )
if ( DOXYGEN_ON_DEMAND )
add_custom_target ( apidoc DEPENDS ${ QHP_FILES } version )
install ( DIRECTORY ${ CMAKE_CURRENT_BINARY_DIR } /api/html/ DESTINATION ${ QGIS_DATA_DIR } /doc/api OPTIONAL )
else ( )
install ( DIRECTORY ${ CMAKE_CURRENT_BINARY_DIR } /api/html/ DESTINATION ${ QGIS_DATA_DIR } /doc/api )
add_custom_target ( apidoc ALL DEPENDS ${ QHP_FILES } version )
endif ( )
add_custom_command (
2016-09-25 16:54:24 +02:00
O U T P U T $ { Q H P _ F I L E S }
2016-09-21 23:33:43 +02:00
D E P E N D S $ { D O X Y G E N _ F I L E S }
C O M M A N D $ { D O X Y G E N _ E X E C U T A B L E } $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / D o x y f i l e
W O R K I N G _ D I R E C T O R Y $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R }
C O M M E N T " G e n e r a t i n g A P I d o c u m e n t a t i o n " V E R B A T I M )
2020-11-11 11:15:34 +01:00
install ( FILES ../images/icons/qgis-icon-60x60.png DESTINATION ${ QGIS_DATA_DIR } /doc/api )
if ( GENERATE_QHP )
install ( FILES ${ CMAKE_CURRENT_BINARY_DIR } /api/qch/qgis.qch DESTINATION ${ QGIS_DATA_DIR } /doc/api )
endif ( )
set ( WITH_DOT YES CACHE STRING "Determines if the dot application should be used to generate class diagrams for the documentation" )
mark_as_advanced ( WITH_DOT )
else ( )
message ( STATUS "QGIS api documentation not built - Doxygen not found" )
endif ( )
endif ( )
2007-01-09 02:39:15 +00:00
2011-03-06 02:09:21 +00:00
#SUBDIRS (images plugins install_guide)