2018-06-05 20:09:51 +00:00
|
|
|
if (USE_EMBEDDED_COMPILER)
|
|
|
|
add_subdirectory ("Compiler-${LLVM_VERSION}")
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
if (CLICKHOUSE_SPLIT_BINARY)
|
|
|
|
if (USE_EMBEDDED_COMPILER)
|
|
|
|
link_directories (${LLVM_LIBRARY_DIRS})
|
|
|
|
add_executable (clickhouse-clang clickhouse-clang.cpp)
|
2018-11-21 19:20:27 +00:00
|
|
|
target_link_libraries (clickhouse-clang PRIVATE clickhouse-compiler-lib)
|
2018-06-05 20:09:51 +00:00
|
|
|
add_executable (clickhouse-lld clickhouse-lld.cpp)
|
2018-11-21 19:20:27 +00:00
|
|
|
target_link_libraries (clickhouse-lld PRIVATE clickhouse-compiler-lib)
|
2018-06-05 20:09:51 +00:00
|
|
|
install (TARGETS clickhouse-clang clickhouse-lld RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT clickhouse)
|
|
|
|
endif ()
|
|
|
|
endif ()
|
2018-06-06 18:41:39 +00:00
|
|
|
|
2018-09-05 18:50:17 +00:00
|
|
|
set (TMP_HEADERS_DIR "${CMAKE_CURRENT_BINARY_DIR}/${INTERNAL_COMPILER_HEADERS_RELATIVE}")
|
2018-06-06 18:41:39 +00:00
|
|
|
# Make and install empty dir for debian package if compiler disabled
|
2018-09-05 18:50:17 +00:00
|
|
|
add_custom_target (make-headers-directory ALL COMMAND ${CMAKE_COMMAND} -E make_directory ${TMP_HEADERS_DIR})
|
|
|
|
install (DIRECTORY ${TMP_HEADERS_DIR} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/clickhouse/${INTERNAL_COMPILER_HEADERS_DIR} COMPONENT clickhouse)
|
2018-07-16 14:13:15 +00:00
|
|
|
# TODO: fix on macos copy_headers.sh: sed --posix
|
2018-09-05 18:50:17 +00:00
|
|
|
|
|
|
|
if (USE_EMBEDDED_COMPILER)
|
|
|
|
set (COPY_HEADERS_COMPILER "${CMAKE_CURRENT_BINARY_DIR}/../${INTERNAL_COMPILER_EXECUTABLE}")
|
|
|
|
set (COPY_HEADERS_DEPENDS clickhouse-clang)
|
|
|
|
elseif (EXISTS ${INTERNAL_COMPILER_BIN_ROOT}${INTERNAL_COMPILER_EXECUTABLE})
|
|
|
|
set (COPY_HEADERS_COMPILER "${INTERNAL_COMPILER_BIN_ROOT}${INTERNAL_COMPILER_EXECUTABLE}")
|
|
|
|
endif ()
|
|
|
|
|
2018-09-28 14:53:20 +00:00
|
|
|
if (COPY_HEADERS_COMPILER AND OS_LINUX)
|
2019-01-18 15:19:53 +00:00
|
|
|
add_custom_target (copy-headers [ -f ${TMP_HEADERS_DIR}/dbms/src/Interpreters/SpecializedAggregator.h ] || env CLANG=${COPY_HEADERS_COMPILER} BUILD_PATH=${ClickHouse_BINARY_DIR} DESTDIR=${ClickHouse_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/copy_headers.sh ${ClickHouse_SOURCE_DIR} ${TMP_HEADERS_DIR} DEPENDS ${COPY_HEADERS_DEPENDS} WORKING_DIRECTORY ${ClickHouse_SOURCE_DIR} SOURCES copy_headers.sh)
|
2018-06-06 18:41:39 +00:00
|
|
|
|
|
|
|
if (USE_INTERNAL_LLVM_LIBRARY)
|
2018-09-05 18:50:17 +00:00
|
|
|
set (CLANG_HEADERS_DIR "${ClickHouse_SOURCE_DIR}/contrib/llvm/clang/lib/Headers")
|
|
|
|
set (CLANG_HEADERS_DEST "${TMP_HEADERS_DIR}/usr/local/lib/clang/${LLVM_VERSION}/include") # original: ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include
|
2018-12-23 14:19:11 +00:00
|
|
|
add_custom_target (copy-headers-clang ${CMAKE_COMMAND} -E make_directory ${CLANG_HEADERS_DEST} && ${CMAKE_COMMAND} -E copy_if_different ${CLANG_HEADERS_DIR}/* ${CLANG_HEADERS_DEST} )
|
2018-09-05 18:50:17 +00:00
|
|
|
add_dependencies (copy-headers copy-headers-clang)
|
2018-06-06 18:41:39 +00:00
|
|
|
endif ()
|
|
|
|
endif ()
|