]> git.openstreetmap.org Git - nominatim.git/blobdiff - module/CMakeLists.txt
improve error message on missing modules from nominatim_api
[nominatim.git] / module / CMakeLists.txt
index f4fabe42922ff8e376fdaeaa88ce9815e876dc64..01831f90739751cc15ed0331173a8db7338da63c 100644 (file)
@@ -1,6 +1,24 @@
 # just use the pgxs makefile
+
+foreach(suffix ${PostgreSQL_ADDITIONAL_VERSIONS} "16" "15" "14" "13" "12" "11" "10" "9.6")
+    list(APPEND PG_CONFIG_HINTS
+         "/usr/pgsql-${suffix}/bin")
+endforeach()
+
+find_program(PG_CONFIG pg_config HINTS ${PG_CONFIG_HINTS})
+
+
+
+execute_process(COMMAND ${PG_CONFIG} --pgxs
+            OUTPUT_VARIABLE PGXS
+            OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+if (NOT EXISTS "${PGXS}")
+message(FATAL_ERROR "Postgresql server package not found.")
+endif()
+
 ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/dummy
-        COMMAND PGXS=${PGXS} PG_CONFIG=${PG_CONFIG} MODSRCDIR=${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_MAKE_PROGRAM} -f ${CMAKE_CURRENT_SOURCE_DIR}/Makefile
+        COMMAND PGXS=${PGXS} PG_CONFIG=${PG_CONFIG} MODSRCDIR=${CMAKE_CURRENT_SOURCE_DIR} $(MAKE) -f ${CMAKE_CURRENT_SOURCE_DIR}/Makefile
         COMMENT "Running external makefile ${PGXS}"
         )