should be it
This commit is contained in:
69
external/duckdb/tools/shell/CMakeLists.txt
vendored
Normal file
69
external/duckdb/tools/shell/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
include_directories(include)
|
||||
include_directories(../sqlite3_api_wrapper/include)
|
||||
if(NOT WIN32)
|
||||
add_subdirectory(linenoise)
|
||||
add_definitions(-DHAVE_LINENOISE=1)
|
||||
include_directories(../../third_party/utf8proc/include)
|
||||
include_directories(linenoise/include)
|
||||
endif()
|
||||
set(SHELL_SOURCES ${SHELL_SOURCES} shell.cpp shell_renderer.cpp
|
||||
shell_highlight.cpp)
|
||||
|
||||
option(STATIC_LIBCPP "Statically link CLI to libc++" FALSE)
|
||||
|
||||
add_executable(shell ${SHELL_SOURCES})
|
||||
target_link_libraries(shell sqlite3_api_wrapper_static
|
||||
${DUCKDB_EXTRA_LINK_FLAGS})
|
||||
link_threads(shell "")
|
||||
if(STATIC_LIBCPP)
|
||||
message("Statically linking CLI")
|
||||
target_link_libraries(shell -static-libstdc++ -static-libgcc)
|
||||
endif()
|
||||
|
||||
if(NOT AMALGAMATION_BUILD AND NOT WIN32)
|
||||
target_link_libraries(shell duckdb_utf8proc)
|
||||
endif()
|
||||
|
||||
function(ensure_variable_is_number INPUT_VERSION OUT_RESULT)
|
||||
if(NOT "${${INPUT_VERSION}}" MATCHES "^[0-9]+$")
|
||||
message(
|
||||
WARNING
|
||||
"VERSION PARAMETER ${INPUT_VERSION} \"${${INPUT_VERSION}}\" IS NOT A NUMBER - SETTING TO 0"
|
||||
)
|
||||
set(${OUT_RESULT}
|
||||
0
|
||||
PARENT_SCOPE)
|
||||
else()
|
||||
set(${OUT_RESULT}
|
||||
${${INPUT_VERSION}}
|
||||
PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
if(WIN32 AND NOT MINGW)
|
||||
string(TIMESTAMP DUCKDB_COPYRIGHT_YEAR "%Y")
|
||||
ensure_variable_is_number(DUCKDB_MAJOR_VERSION RC_MAJOR_VERSION)
|
||||
ensure_variable_is_number(DUCKDB_MINOR_VERSION RC_MINOR_VERSION)
|
||||
ensure_variable_is_number(DUCKDB_PATCH_VERSION RC_PATCH_VERSION)
|
||||
ensure_variable_is_number(DUCKDB_DEV_ITERATION RC_DEV_ITERATION)
|
||||
|
||||
set(CMAKE_RC_FLAGS
|
||||
"${CMAKE_RC_FLAGS} -D DUCKDB_VERSION=\"${DUCKDB_VERSION}\"")
|
||||
set(CMAKE_RC_FLAGS
|
||||
"${CMAKE_RC_FLAGS} -D DUCKDB_MAJOR_VERSION=\"${RC_MAJOR_VERSION}\"")
|
||||
set(CMAKE_RC_FLAGS
|
||||
"${CMAKE_RC_FLAGS} -D DUCKDB_MINOR_VERSION=\"${RC_MINOR_VERSION}\"")
|
||||
set(CMAKE_RC_FLAGS
|
||||
"${CMAKE_RC_FLAGS} -D DUCKDB_PATCH_VERSION=\"${RC_PATCH_VERSION}\"")
|
||||
set(CMAKE_RC_FLAGS
|
||||
"${CMAKE_RC_FLAGS} -D DUCKDB_DEV_ITERATION=\"${RC_DEV_ITERATION}\"")
|
||||
set(CMAKE_RC_FLAGS
|
||||
"${CMAKE_RC_FLAGS} -D DUCKDB_COPYRIGHT_YEAR=\"${DUCKDB_COPYRIGHT_YEAR}\"")
|
||||
target_sources(shell PRIVATE rc/duckdb.rc)
|
||||
endif()
|
||||
|
||||
set_target_properties(shell PROPERTIES OUTPUT_NAME duckdb)
|
||||
set_target_properties(shell PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
||||
${PROJECT_BINARY_DIR})
|
||||
|
||||
install(TARGETS shell RUNTIME DESTINATION "${INSTALL_BIN_DIR}")
|
||||
Reference in New Issue
Block a user