duckdb / duckdb/duckdb-sqlite

Windows build fails if path has whitespace

Open
#61 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
291
Forks
45
Avg merge
10h 13m
Merged PRs (30d)
18

Description

### 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

```sh
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 value or use a ... 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 value or use a ... 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 value or use a ... 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 value or use a ... 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 value or use a ... 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?

- [X] I agree

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

- [X] I agree

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.