duckdb / sqlite_scanner

DuckDB extension to read and write to SQLite databases
MIT License
189 stars 19 forks source link

Windows build fails if path has whitespace #61

Open isaacbrodsky opened 9 months ago

isaacbrodsky commented 9 months ago

What happens?

If the path the extension is built from has a space in it, configuring the build fails.

Building from a path that does not contain whitespace does work.

To Reproduce

git clone https://github.com/duckdblabs/sqlite_scanner.git sqlite\ scanner
cd sqlite\ scanner/
git submodule update --init --recursive
make release
$ make release
mkdir -p build/release && \
cmake   -DDUCKDB_EXTENSION_NAMES="sqlite_scanner" -DDUCKDB_EXTENSION_SQLITE_SCANNER_PATH="E:/Dev/ scanner/" -DDUCKDB_EXTENSION_SQLITE_SCANNER_SHOULD_LINK=0 -DDUCKDB_EXTENSION_SQLITE_SCANNER_LOAD_TESTS=1 -DDUCKDB_EXTENSION_SQLITE_SCANNER_TEST_PATH=E:/Dev/ scanner/test -DDUCKDB_EXTENSION_SQLITE_SCANNER_INCLUDE_PATH="E:/Dev/ scanner/src/include"   -DEXTENSION_STATIC_BUILD=1 -DCMAKE_BUILD_TYPE=Release -DEXTENSION_STATIC_BUILD=1 -DBUILD_EXTENSIONS="tpch" -DOSX_BUILD_ARCH= -S ./duckdb/ -B build/release && \
cmake --build build/release --config Release
CMake Warning:
  Ignoring extra path from command line:

   "E:/Dev/sqlite scanner/scanner/test"

-- Building for: Visual Studio 16 2019
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19045.
-- The C compiler identification is MSVC 19.28.29913.0
-- The CXX compiler identification is MSVC 19.28.29913.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
-- Found Git: C:/Program Files/Git/mingw64/bin/git.exe (found version "2.29.2.windows.3")
-- git hash 726b6d1566, version v0.8.2-dev2133
-- Load extension 'sqlite_scanner' from 'E:/Dev/ scanner/'
-- Load extension 'tpch' from 'E:/Dev/sqlite scanner/duckdb/extensions'
-- Load extension 'parquet' from 'E:/Dev/sqlite scanner/duckdb/extensions'
CMake Error at CMakeLists.txt:929 (add_subdirectory):
  add_subdirectory given source "E:/Dev/ scanner/" which is not an existing
  directory.

CMake Deprecation Warning at extension/tpch/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at extension/parquet/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Extensions linked into DuckDB: [tpch, parquet]
-- Extensions built but not linked: [sqlite_scanner]
-- Tests loaded for extensions: [sqlite_scanner]
CMake Deprecation Warning at third_party/libpg_query/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at third_party/re2/CMakeLists.txt:5 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Configuring incomplete, errors occurred!
make: *** [Makefile:46: release] Error 1

OS:

Windows 10 x64

SQLite Version:

NA

DuckDB Version:

NA

DuckDB Client:

NA

Full Name:

NA

Affiliation:

NA

Have you tried this on the latest master branch?

Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?