فهرست منبع

HPCC-18380 Changes for peer review

Signed-off-by: Michael Gardner <michael.gardner@lexisnexis.com>
Signed-off-by: Michael Gardner <michael.gardner@lexisnexisrisk.com>
Michael Gardner 7 سال پیش
والد
کامیت
2ad61cfcc3
3فایلهای تغییر یافته به همراه117 افزوده شده و 119 حذف شده
  1. 29 34
      cmake_modules/FindANTLR.cmake
  2. 1 0
      cmake_modules/commonSetup.cmake
  3. 87 85
      esp/services/ws_sql/CMakeLists.txt

+ 29 - 34
cmake_modules/FindANTLR.cmake

@@ -1,18 +1,17 @@
 ################################################################################
 ################################################################################
-# Copyright (C) 2013 HPCC Systems.
+#    HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
 #
 #
-# All rights reserved. This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
+#    Licensed 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
 #
 #
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
+#       http://www.apache.org/licenses/LICENSE-2.0
 #
 #
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#    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.
 ################################################################################
 ################################################################################
 # - Attempt to find the ANTLR jar needed to build and run ANTLR Lexers and Parsers
 # - Attempt to find the ANTLR jar needed to build and run ANTLR Lexers and Parsers
 # Once done this will define
 # Once done this will define
@@ -24,33 +23,29 @@
 
 
 include(UseJava)
 include(UseJava)
 
 
-option(ANTLR_VER "ANTLR runtime and buildtime version.")
-if(NOT ANTLR_VER)
-    set(ANTLR_VER 3.4)
-endif()
-
-option(ANTLR_BUILDTIME_DEP "ANTLR buildtime jar file name.")
-if(NOT ANTLR_BUILDTIME_DEP)
-    set(ANTLR_BUILDTIME_DEP "antlr-${ANTLR_VER}-complete")
-    message(STATUS "Option ANTLR_BUILDTIME_DEP not set, setting to: ${ANTLR_BUILDTIME_DEP}")
-    message(STATUS "The jar can be downloaded directly from:\n\thttps://github.com/antlr/website-antlr3/raw/gh-pages/download/antlr-3.4-complete.jar")
-endif()
-
-option(ANTLR_RUNTIME_DEP "ANTLR runtime jar file name.")
-if(NOT ANTLR_RUNTIME_DEP)
-    set(ANTLR_RUNTIME_DEP "antlr-runtime-${ANTLR_VER}")
-    message(STATUS "Option ANTLR_RUNTIME_DEP not set, setting to: ${ANTLR_RUNTIME_DEP}")
-    message(STATUS "The jar can be downloaded directly from:\n\thttps://github.com/antlr/website-antlr3/raw/gh-pages/download/antlr-runtime-3.4.jar")
-endif()
+set(ANTLR_BUILDTIME_DEP_URL "https://github.com/antlr/website-antlr3/raw/gh-pages/download/antlr-3.4-complete.jar" CACHE STRING "Antlr3 Buildtime dependency url")
+set(ANTLR_RUNTIME_DEP_URL   "https://github.com/antlr/website-antlr3/raw/gh-pages/download/antlr-runtime-3.4.jar" CACHE STRING "Antlr3 Buildtime dependency url")
+set(ANTLR_BUILDTIME_DEP "antlr-3.4-complete" CACHE STRING "ANTLR buildtime jar file name.")
+set(ANTLR_RUNTIME_DEP "antlr-runtime-3.4" CACHE STRING "ANTLR runtime jar file name.")
+set(ANTLR_PATH "/usr/local/ANTLR/3.4" CACHE PATH "Location of ANTLR runtime and buildtime jar files.")
 
 
-option(ANTLR_PATH "Location of ANTLR runtime and buildtime jar files.")
-if(NOT ANTLR_PATH)
-    set(ANTLR_PATH "/usr/local/ANTLR/${ANTLR_VER}")
-    message(STATUS "Option ANTLR_PATH not set, setting to: ${ANTLR_PATH}")
+find_jar(ANTLR_BUILDTIME_JAR ${ANTLR_BUILDTIME_DEP} PATHS ${ANTLR_PATH})
+if(ANTLR_BUILDTIME_JAR STREQUAL "ANTLR_BUILDTIME_JAR-NOTFOUND")
+    file(DOWNLOAD ${ANTLR_BUILDTIME_DEP_URL}
+        ${CMAKE_BINARY_DIR}/downloads/antlr-3.4-complete.jar
+        TIMEOUT 20
+        INACTIVITY_TIMEOUT 5)
+    find_jar(ANTLR_BUILDTIME_JAR antlr-3.4-complete PATHS ${CMAKE_BINARY_DIR}/downloads)
 endif()
 endif()
 
 
 find_jar(ANTLR_RUNTIME_JAR ${ANTLR_RUNTIME_DEP} PATHS ${ANTLR_PATH})
 find_jar(ANTLR_RUNTIME_JAR ${ANTLR_RUNTIME_DEP} PATHS ${ANTLR_PATH})
-find_jar(ANTLR_BUILDTIME_JAR ${ANTLR_BUILDTIME_DEP} PATHS ${ANTLR_PATH})
+if(ANTLR_RUNTIME_JAR STREQUAL "ANTLR_RUNTIME_JAR-NOTFOUND")
+    file(DOWNLOAD ${ANTLR_RUNTIME_DEP_URL}
+        ${CMAKE_BINARY_DIR}/downloads/antlr-runtime-3.4.jar
+        TIMEOUT 20
+        INACTIVITY_TIMEOUT 5)
+    find_jar(ANTLR_RUNTIME_JAR antlr-runtime-3.4 PATHS ${CMAKE_BINARY_DIR}/downloads)
+endif()
 
 
 include(FindPackageHandleStandardArgs)
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(
 find_package_handle_standard_args(

+ 1 - 0
cmake_modules/commonSetup.cmake

@@ -111,6 +111,7 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
       option(USE_TBBMALLOC_ROXIE "Enable Threading Building Block scalable allocator proxy support in Roxie" OFF)
       option(USE_TBBMALLOC_ROXIE "Enable Threading Building Block scalable allocator proxy support in Roxie" OFF)
   endif()
   endif()
   option(LOGGING_SERVICE "Configure use of logging service" ON)
   option(LOGGING_SERVICE "Configure use of logging service" ON)
+  option(WSSQL_SERVICE "Configure use of ws_sql service" ON)
 
 
   option(MAKE_CONFIGURATOR "Build Configurator" ON)
   option(MAKE_CONFIGURATOR "Build Configurator" ON)
   option(CONFIGURATOR_LIB "Build Configurator static library (.a)" OFF)
   option(CONFIGURATOR_LIB "Build Configurator static library (.a)" OFF)

+ 87 - 85
esp/services/ws_sql/CMakeLists.txt

@@ -22,94 +22,96 @@
 
 
 project(ws_sql)
 project(ws_sql)
 
 
-find_package(Java REQUIRED)
-find_package(ANTLR REQUIRED)
+if(WSSQL_SERVICE)
+    find_package(Java REQUIRED)
+    find_package(ANTLR REQUIRED)
 
 
-include(${HPCC_SOURCE_DIR}/esp/scm/additional.cmake)
-include(${HPCC_SOURCE_DIR}/esp/scm/smcscm.cmake)
+    include(${HPCC_SOURCE_DIR}/esp/scm/additional.cmake)
+    include(${HPCC_SOURCE_DIR}/esp/scm/smcscm.cmake)
 
 
-include(antlr3c.cmake)
+    include(antlr3c.cmake)
 
 
-antlr_target(sql2ecl
-    GRAMMAR_PREFIX HPCCSQL
-    DESTINATION "${CMAKE_CURRENT_BINARY_DIR}"
-    GRAMMAR_FILES "${CMAKE_CURRENT_SOURCE_DIR}/SQL2ECL/ANTLR3c/HPCCSQL.g"
-    )
+    antlr_target(sql2ecl
+        GRAMMAR_PREFIX HPCCSQL
+        DESTINATION "${CMAKE_CURRENT_BINARY_DIR}"
+        GRAMMAR_FILES "${CMAKE_CURRENT_SOURCE_DIR}/SQL2ECL/ANTLR3c/HPCCSQL.g"
+        )
 
 
-set(SRCS
-    ${CMAKE_CURRENT_SOURCE_DIR}/ws_sqlPlugin.cpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/ws_sqlService.cpp
-    ${ESPSCM_GENERATED_DIR}/common_esp.cpp
-    ${ESPSCM_GENERATED_DIR}/ws_sql_esp.cpp
-    ${ESPSCM_GENERATED_DIR}/ws_workunits_esp.cpp
-    ${ESPSCM_GENERATED_DIR}/ws_topology_esp.cpp
-    ${HPCC_SOURCE_DIR}/esp/services/ws_ecl/ws_ecl_wuinfo.cpp
-    ${HPCC_SOURCE_DIR}/esp/services/ws_workunits/ws_workunitsHelpers.cpp
-    SQL2ECL/HPCCFileCache.cpp
-    SQL2ECL/HPCCFile.cpp
-    SQL2ECL/ECLFunction.cpp
-    SQL2ECL/ECLEngine.cpp
-    SQL2ECL/SQLColumn.cpp
-    SQL2ECL/SQLTable.hpp
-    SQL2ECL/SQLExpression.cpp
-    SQL2ECL/SQLJoin.cpp
-    SQL2ECL/HPCCSQLTreeWalker.cpp
-    ${ANTLR_sql2ecl_SOURCES}
-    )
+    set(SRCS
+        ${CMAKE_CURRENT_SOURCE_DIR}/ws_sqlPlugin.cpp
+        ${CMAKE_CURRENT_SOURCE_DIR}/ws_sqlService.cpp
+        ${ESPSCM_GENERATED_DIR}/common_esp.cpp
+        ${ESPSCM_GENERATED_DIR}/ws_sql_esp.cpp
+        ${ESPSCM_GENERATED_DIR}/ws_workunits_esp.cpp
+        ${ESPSCM_GENERATED_DIR}/ws_topology_esp.cpp
+        ${HPCC_SOURCE_DIR}/esp/services/ws_ecl/ws_ecl_wuinfo.cpp
+        ${HPCC_SOURCE_DIR}/esp/services/ws_workunits/ws_workunitsHelpers.cpp
+        SQL2ECL/HPCCFileCache.cpp
+        SQL2ECL/HPCCFile.cpp
+        SQL2ECL/ECLFunction.cpp
+        SQL2ECL/ECLEngine.cpp
+        SQL2ECL/SQLColumn.cpp
+        SQL2ECL/SQLTable.hpp
+        SQL2ECL/SQLExpression.cpp
+        SQL2ECL/SQLJoin.cpp
+        SQL2ECL/HPCCSQLTreeWalker.cpp
+        ${ANTLR_sql2ecl_SOURCES}
+        )
 
 
-include_directories(
-    ##added for build-config.h
-    ${CMAKE_BINARY_DIR}
-    ##added for build-config.h
-    ${CMAKE_BINARY_DIR}/oss
-    ${HPCC_WSSQL_SOURCE_DIR}/esp/services/ws_sql/SQL2ECL
-    ${HPCC_SOURCE_DIR}/esp/bindings
-    ${HPCC_SOURCE_DIR}/esp/bindings/SOAP/xpp
-    ${HPCC_SOURCE_DIR}/esp/smc/SMCLib
-    ${HPCC_SOURCE_DIR}/esp/platform
-    ${HPCC_SOURCE_DIR}/esp/services
-    ${HPCC_SOURCE_DIR}/esp/services/ws_ecl
-    ${HPCC_SOURCE_DIR}/esp/services/ws_workunits
-    ${HPCC_SOURCE_DIR}/esp/services/ws_dfu
-    ${HPCC_SOURCE_DIR}/system/xmllib
-    ${HPCC_SOURCE_DIR}/system/include
-    ${HPCC_SOURCE_DIR}/system/jlib
-    ${HPCC_SOURCE_DIR}/system/security/shared
-    ${HPCC_SOURCE_DIR}/system/security/securesocket
-    ${HPCC_SOURCE_DIR}/system/security/zcrypt
-    ${HPCC_SOURCE_DIR}/system/security/LdapSecurity
-    ${HPCC_SOURCE_DIR}/system/mp
-    ${HPCC_SOURCE_DIR}/dali/dfu
-    ${HPCC_SOURCE_DIR}/dali/base/
-    ${HPCC_SOURCE_DIR}/common/workunit
-    ${HPCC_SOURCE_DIR}/common/remote
-    ${HPCC_SOURCE_DIR}/common/environment
-    ${HPCC_SOURCE_DIR}/common/wuwebview
-    ${HPCC_SOURCE_DIR}/common/fileview2
-    ${HPCC_SOURCE_DIR}/common/dllserver
-    ${HPCC_SOURCE_DIR}/common/deftype
-    ${HPCC_SOURCE_DIR}/ecl/hql
-    ${CMAKE_CURRENT_BINARY_DIR}/antlr3c/include
-    ${ESPSCM_GENERATED_DIR}
-    ${CMAKE_CURRENT_SOURCE_DIR}/SQL2ECL
-    )
+    include_directories(
+        ##added for build-config.h
+        ${CMAKE_BINARY_DIR}
+        ##added for build-config.h
+        ${CMAKE_BINARY_DIR}/oss
+        ${HPCC_WSSQL_SOURCE_DIR}/esp/services/ws_sql/SQL2ECL
+        ${HPCC_SOURCE_DIR}/esp/bindings
+        ${HPCC_SOURCE_DIR}/esp/bindings/SOAP/xpp
+        ${HPCC_SOURCE_DIR}/esp/smc/SMCLib
+        ${HPCC_SOURCE_DIR}/esp/platform
+        ${HPCC_SOURCE_DIR}/esp/services
+        ${HPCC_SOURCE_DIR}/esp/services/ws_ecl
+        ${HPCC_SOURCE_DIR}/esp/services/ws_workunits
+        ${HPCC_SOURCE_DIR}/esp/services/ws_dfu
+        ${HPCC_SOURCE_DIR}/system/xmllib
+        ${HPCC_SOURCE_DIR}/system/include
+        ${HPCC_SOURCE_DIR}/system/jlib
+        ${HPCC_SOURCE_DIR}/system/security/shared
+        ${HPCC_SOURCE_DIR}/system/security/securesocket
+        ${HPCC_SOURCE_DIR}/system/security/zcrypt
+        ${HPCC_SOURCE_DIR}/system/security/LdapSecurity
+        ${HPCC_SOURCE_DIR}/system/mp
+        ${HPCC_SOURCE_DIR}/dali/dfu
+        ${HPCC_SOURCE_DIR}/dali/base/
+        ${HPCC_SOURCE_DIR}/common/workunit
+        ${HPCC_SOURCE_DIR}/common/remote
+        ${HPCC_SOURCE_DIR}/common/environment
+        ${HPCC_SOURCE_DIR}/common/wuwebview
+        ${HPCC_SOURCE_DIR}/common/fileview2
+        ${HPCC_SOURCE_DIR}/common/dllserver
+        ${HPCC_SOURCE_DIR}/common/deftype
+        ${HPCC_SOURCE_DIR}/ecl/hql
+        ${CMAKE_CURRENT_BINARY_DIR}/antlr3c/include
+        ${ESPSCM_GENERATED_DIR}
+        ${CMAKE_CURRENT_SOURCE_DIR}/SQL2ECL
+        )
 
 
-add_definitions(-D_USRDLL)
-HPCC_ADD_LIBRARY(ws_sql SHARED ${SRCS})
-add_dependencies(ws_sql espscm sql2ecl)
-target_link_libraries(
-    ws_sql
-    ws_dfu
-    jlib
-    xmllib
-    esphttp
-    securesocket
-    dalibase
-    libantlr3c
-    wuwebview
-    )
-install(TARGETS ws_sql
-    RUNTIME DESTINATION ${EXEC_DIR}
-    LIBRARY DESTINATION ${LIB_DIR}
-    COMPONENT Runtime
-    )
+    add_definitions(-D_USRDLL)
+    HPCC_ADD_LIBRARY(ws_sql SHARED ${SRCS})
+    add_dependencies(ws_sql espscm sql2ecl)
+    target_link_libraries(
+        ws_sql
+        ws_dfu
+        jlib
+        xmllib
+        esphttp
+        securesocket
+        dalibase
+        libantlr3c
+        wuwebview
+        )
+    install(TARGETS ws_sql
+        RUNTIME DESTINATION ${EXEC_DIR}
+        LIBRARY DESTINATION ${LIB_DIR}
+        COMPONENT Runtime
+        )
+endif()