From: Sarah Hoffmann Date: Tue, 9 Feb 2021 20:04:42 +0000 (+0100) Subject: add make install target X-Git-Tag: v3.7.0~38^2~8 X-Git-Url: https://git.openstreetmap.org/nominatim.git/commitdiff_plain/b6bd11f29292e42898b908f4ea1d61c3c473e551 add make install target Installation includes PHP andPython libraries, settings, the basic country data, the postgresql module and our custom version of osm2pgsql. The latter is installed in our private library directory so that it does not get in the way of a potentially installed osm2pgsql from the distribution. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index f7d396d0..6626d249 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -197,3 +197,45 @@ endif() if (BUILD_DOCS) add_subdirectory(docs) 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}) + +configure_file(${PROJECT_SOURCE_DIR}/cmake/tool-installed.tmpl installed.bin) +install(PROGRAMS ${PROJECT_BINARY_DIR}/installed.bin + DESTINATION ${CMAKE_INSTALL_BINDIR} + RENAME nominatim) + +install(TARGETS osm2pgsql RUNTIME DESTINATION ${NOMINATIM_LIBDIR}) +install(PROGRAMS ${PROJECT_BINARY_DIR}/module/nominatim.so + DESTINATION ${NOMINATIM_LIBDIR}/module) +install(DIRECTORY lib-sql DESTINATION ${NOMINATIM_LIBDIR}) +install(DIRECTORY lib-php DESTINATION ${NOMINATIM_LIBDIR}) +install(DIRECTORY nominatim + DESTINATION ${NOMINATIM_LIBDIR}/lib-python + FILES_MATCHING PATTERN "*.py" + PATTERN __pycache__ EXCLUDE) + +install(FILES data/country_name.sql + data/country_osm_grid.sql.gz + data/words.sql + DESTINATION ${NOMINATIM_DATADIR}) + +install(FILES settings/env.defaults + settings/address-levels.json + settings/phrase_settings.php + settings/import-admin.style + settings/import-street.style + settings/import-address.style + settings/import-full.style + settings/import-extratags.style + DESTINATION ${NOMINATIM_CONFIGDIR}) + +install(CODE "MESSAGE(\"Sample install ${NOMINATIM_DATADIR} message.\")") diff --git a/cmake/tool-installed.tmpl b/cmake/tool-installed.tmpl new file mode 100644 index 00000000..0b245dbb --- /dev/null +++ b/cmake/tool-installed.tmpl @@ -0,0 +1,17 @@ +#!/usr/bin/env python3 +import sys +import os + +sys.path.insert(1, '@NOMINATIM_LIBDIR@/lib-python') + +os.environ['NOMINATIM_NOMINATIM_TOOL'] = os.path.abspath(__file__) + +from nominatim import cli + +exit(cli.nominatim(module_dir='@NOMINATIM_LIBDIR@/module', + osm2pgsql_path='@NOMINATIM_LIBDIR@/osm2pgsql', + phplib_dir='@NOMINATIM_LIBDIR@/lib-php', + sqllib_dir='@NOMINATIM_LIBDIR@/lib-sql', + data_dir='@NOMINATIM_DATADIR@', + config_dir='@NOMINATIM_CONFIGDIR@', + phpcgi_path='@PHPCGI_BIN@'))