@@ -2,8 +2,7 @@ cmake_minimum_required(VERSION 3.10)
2
2
3
3
include (CheckCXXSourceCompiles )
4
4
5
- set (POLYGEIST_ENABLE_CUDA 0 CACHE BOOL "Enable CUDA frontend and backend" )
6
- set (POLYGEIST_ENABLE_ROCM 0 CACHE BOOL "Enable ROCM backend" )
5
+ set (POLYGEIST_ENABLE_CUDA 0 CACHE BOOL "Enable CUDA compilation support" )
7
6
8
7
if (POLICY CMP0068 )
9
8
cmake_policy (SET CMP0068 NEW )
@@ -21,16 +20,11 @@ endif()
21
20
option (LLVM_INCLUDE_TOOLS "Generate build targets for the LLVM tools." ON )
22
21
option (LLVM_BUILD_TOOLS "Build the LLVM tools. If OFF, just generate build targets." ON )
23
22
23
+ option (ENABLE_SQL "Build SQL dialect" OFF )
24
+
24
25
set (LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR} /bin )
25
26
set (LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR} /lib )
26
27
27
- find_program (XXD_BIN xxd )
28
-
29
- # TODO should depend on OS
30
- set (POLYGEIST_PGO_DEFAULT_DATA_DIR "/var/tmp/polygeist/pgo/" CACHE STRING "Directory for PGO data" )
31
- set (POLYGEIST_PGO_ALTERNATIVE_ENV_VAR "POLYGEIST_PGO_ALTERNATIVE" CACHE STRING "Env var name to specify alternative to profile" )
32
- set (POLYGEIST_PGO_DATA_DIR_ENV_VAR "POLYGEIST_PGO_DATA_DIR" CACHE STRING "Env var name to specify PGO data dir" )
33
-
34
28
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
35
29
project (polygeist LANGUAGES CXX C )
36
30
@@ -112,6 +106,40 @@ set(LLVM_LIT_ARGS "-sv" CACHE STRING "lit default options")
112
106
list (APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR} /cmake/modules" )
113
107
include (sanitizers )
114
108
109
+ if (ENABLE_SQL )
110
+ include (FetchContent )
111
+ include (ExternalProject )
112
+
113
+ FetchContent_Declare (sqlparser_ext
114
+ GIT_REPOSITORY https://github.com/wsmoses/sql-parser
115
+ GIT_TAG c2471248cef8cd33081e698e8ac65d691283dbd4
116
+ )
117
+
118
+ FetchContent_GetProperties (sqlparser_ext )
119
+
120
+ FetchContent_MakeAvailable (sqlparser_ext )
121
+
122
+ ExternalProject_Add (sqlparser
123
+ SOURCE_DIR ${sqlparser_ext_SOURCE_DIR}
124
+ INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR} /sql/install
125
+ CONFIGURE_COMMAND ""
126
+ BUILD_COMMAND ${CMAKE_COMMAND} -E env
127
+ CXX=${CMAKE_CXX_COMPILER}
128
+ make static =yes -C ${sqlparser_ext_SOURCE_DIR}
129
+ BUILD_IN_SOURCE TRUE
130
+ INSTALL_COMMAND ""
131
+ BUILD_BYPRODUCTS ${sqlparser_ext_SOURCE_DIR} /libsqlparser.a
132
+ )
133
+
134
+
135
+ add_library (sqlparse_lib INTERFACE )
136
+
137
+ target_include_directories (sqlparse_lib INTERFACE "${sqlparser_ext_SOURCE_DIR} /src" )
138
+ target_link_libraries (sqlparse_lib INTERFACE ${sqlparser_ext_SOURCE_DIR} /libsqlparser.a )
139
+ add_dependencies (sqlparse_lib sqlparser )
140
+
141
+ endif ()
142
+
115
143
add_subdirectory (include )
116
144
add_subdirectory (lib )
117
145
add_subdirectory (tools )
0 commit comments