+# Documentation
+#-----------------------------------------------------------------------------
+
+if (BUILD_DOCS)
+ add_subdirectory(docs)
+endif()
+
+#-----------------------------------------------------------------------------
+# Manual page
+#-----------------------------------------------------------------------------
+
+if (BUILD_MANPAGE)
+ add_subdirectory(man)
+endif()
+
+#-----------------------------------------------------------------------------
+# Installation
+#-----------------------------------------------------------------------------
+
+
+include(GNUInstallDirs)
+set(NOMINATIM_DATADIR ${CMAKE_INSTALL_FULL_DATADIR}/${PROJECT_NAME})
+set(NOMINATIM_LIBDIR ${CMAKE_INSTALL_FULL_LIBDIR}/${PROJECT_NAME})
+set(NOMINATIM_CONFIGDIR ${CMAKE_INSTALL_FULL_SYSCONFDIR}/${PROJECT_NAME})
+set(NOMINATIM_MUNINDIR ${CMAKE_INSTALL_FULL_DATADIR}/munin/plugins)
+
+if (BUILD_IMPORTER)
+ configure_file(${PROJECT_SOURCE_DIR}/cmake/tool-installed.tmpl installed.bin)
+ install(PROGRAMS ${PROJECT_BINARY_DIR}/installed.bin
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
+ RENAME nominatim)
+
+ if (EXISTS ${PHP_BIN})
+ configure_file(${PROJECT_SOURCE_DIR}/cmake/paths-py.tmpl paths-py.installed)
+ else()
+ configure_file(${PROJECT_SOURCE_DIR}/cmake/paths-py-no-php.tmpl paths-py.installed)
+ endif()
+
+ foreach (submodule nominatim_db nominatim_api)
+ install(DIRECTORY src/${submodule}
+ DESTINATION ${NOMINATIM_LIBDIR}/lib-python
+ FILES_MATCHING PATTERN "*.py"
+ PATTERN "paths.py" EXCLUDE
+ PATTERN __pycache__ EXCLUDE)
+ install(FILES ${PROJECT_BINARY_DIR}/paths-py.installed
+ DESTINATION ${NOMINATIM_LIBDIR}/lib-python/${submodule}
+ RENAME paths.py)
+ endforeach()
+
+ install(DIRECTORY lib-sql DESTINATION ${NOMINATIM_LIBDIR})
+
+ install(FILES ${COUNTRY_GRID_FILE}
+ data/words.sql
+ DESTINATION ${NOMINATIM_DATADIR})
+endif()
+
+if (BUILD_OSM2PGSQL)
+ if (${CMAKE_VERSION} VERSION_LESS 3.13)
+ # Installation of subdirectory targets was only introduced in 3.13.
+ # So just copy the osm2pgsql file for older versions.
+ install(PROGRAMS ${PROJECT_BINARY_DIR}/osm2pgsql/osm2pgsql
+ DESTINATION ${NOMINATIM_LIBDIR})
+ else()
+ install(TARGETS osm2pgsql RUNTIME DESTINATION ${NOMINATIM_LIBDIR})
+ endif()
+endif()
+
+if (BUILD_MODULE)
+ install(PROGRAMS ${PROJECT_BINARY_DIR}/module/nominatim.so
+ DESTINATION ${NOMINATIM_LIBDIR}/module)
+endif()
+
+if (BUILD_API AND EXISTS ${PHP_BIN})
+ install(DIRECTORY lib-php DESTINATION ${NOMINATIM_LIBDIR})
+endif()
+
+install(FILES settings/env.defaults
+ settings/address-levels.json
+ settings/phrase-settings.json
+ settings/import-admin.lua
+ settings/import-street.lua
+ settings/import-address.lua
+ settings/import-full.lua
+ settings/import-extratags.lua
+ settings/flex-base.lua
+ settings/icu_tokenizer.yaml
+ settings/country_settings.yaml
+ DESTINATION ${NOMINATIM_CONFIGDIR})
+
+install(DIRECTORY settings/icu-rules
+ DESTINATION ${NOMINATIM_CONFIGDIR})
+install(DIRECTORY settings/country-names
+ DESTINATION ${NOMINATIM_CONFIGDIR})
+
+if (INSTALL_MUNIN_PLUGINS)
+ install(FILES munin/nominatim_importlag
+ munin/nominatim_query_speed
+ munin/nominatim_requests
+ DESTINATION ${NOMINATIM_MUNINDIR})
+endif()