# ------------------------------------------------------------------------------ # PostgreSQL Patch Scripts # ------------------------------------------------------------------------------ configure_file(Versions_8_4_and_below.sh.in Versions_8_4_and_below.sh @ONLY) # Version 8.4 of PostgreSQL and below ship with server/nodes/parsenodes.h # and server/nodes/primnodes.h that have C++ keywords as identifiers. # We need to patch this. message(STATUS "PostgreSQL versions before 9.0 have header files that " "need a patch for C++ compatibility. Will apply patch for versions " "below 9.0.") add_custom_command( OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/server/nodes/parsenodes.h" "${CMAKE_CURRENT_BINARY_DIR}/server/nodes/primnodes.h" "${CMAKE_CURRENT_BINARY_DIR}/server/utils/builtins.h" COMMAND "${CMAKE_CURRENT_BINARY_DIR}/Versions_8_4_and_below.sh" DEPENDS "${POSTGRESQL_8_4_SERVER_INCLUDE_DIR}/nodes/parsenodes.h" "${POSTGRESQL_8_4_SERVER_INCLUDE_DIR}/nodes/primnodes.h" "${POSTGRESQL_8_4_SERVER_INCLUDE_DIR}/utils/builtins.h" "${CMAKE_CURRENT_BINARY_DIR}/Versions_8_4_and_below.sh" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" COMMENT "Patching parsenodes.h, primnodes.h, builtins.h, memnodes.h: Renaming identifiers that are C++ keywords." ) add_custom_target(patches_postgresql_8_4 ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/server/nodes/parsenodes.h" "${CMAKE_CURRENT_BINARY_DIR}/server/nodes/primnodes.h" "${CMAKE_CURRENT_BINARY_DIR}/server/utils/builtins.h" ) add_dependencies(madlib_postgresql_8_4 patches_postgresql_8_4)