| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| set(BE_OUTPUT_DIR ${CMAKE_SOURCE_DIR}/be/generated-sources) |
| set(FE_OUTPUT_DIR ${CMAKE_SOURCE_DIR}/fe/generated-sources/gen-java/org/apache/impala/) |
| |
| # Set output files for dependency tracking |
| set(CODE_GEN_OUTPUT |
| ${FE_OUTPUT_DIR}/builtins/ScalarBuiltins.java |
| ) |
| |
| set(GEOSPATIAL_CODE_GEN_OUTPUT |
| ${FE_OUTPUT_DIR}/builtins/ST_ConvexHull_Wrapper.java |
| ${FE_OUTPUT_DIR}/builtins/ST_LineString_Wrapper.java |
| ${FE_OUTPUT_DIR}/builtins/ST_MultiPoint_Wrapper.java |
| ${FE_OUTPUT_DIR}/builtins/ST_Polygon_Wrapper.java |
| ${FE_OUTPUT_DIR}/builtins/ST_Union_Wrapper.java |
| ) |
| |
| # Source python files |
| set(FUNCTION_REGISTRY_INPUT |
| gen_builtins_catalog.py |
| impala_functions.py |
| ) |
| |
| set(GEOSPATIAL_WRAPPER_INPUT |
| gen_builtins_catalog.py |
| gen_geospatial_udf_wrappers.py |
| ) |
| |
| # Run the python scripts |
| add_custom_command( |
| OUTPUT ${CODE_GEN_OUTPUT} |
| COMMAND ./gen_builtins_catalog.py |
| DEPENDS ${FUNCTION_REGISTRY_INPUT} |
| COMMENT "Generating files for builtins." |
| VERBATIM |
| ) |
| |
| add_custom_command( |
| OUTPUT ${GEOSPATIAL_CODE_GEN_OUTPUT} |
| COMMAND ./gen_geospatial_udf_wrappers.py |
| DEPENDS ${GEOSPATIAL_WRAPPER_INPUT} |
| COMMENT "Generating UDF wrappers for geospatial builtins." |
| VERBATIM |
| ) |
| |
| add_custom_target(function-registry ALL DEPENDS ${CODE_GEN_OUTPUT}) |
| |
| if($ENV{USE_APACHE_HIVE_3} STREQUAL "false" AND $ENV{USE_APACHE_HIVE_2} STREQUAL "false") |
| add_custom_target(geospatial-udf-wrappers ALL DEPENDS ${GEOSPATIAL_CODE_GEN_OUTPUT}) |
| add_dependencies(geospatial-udf-wrappers function-registry) |
| else() |
| # Empty target to skip wrapper generation |
| add_custom_target(geospatial-udf-wrappers) |
| endif() |