conan-center-index
conan-center-index copied to clipboard
sqlite3: fix compiling for MSVC with non UTF-8 code page
Summary
Changes to recipe: sqlite3
Motivation
The upstream source files're encoded in UTF-8, but some non-ASCII characters may be not be decoded in the user's current code page (e.g. CP936). Thus we need to instruct the MSVC to use UTF-8.
Details
A failed compilation look like this.
sqlite3/3.46.1: RUN: cmake --build "D:\cache\conan\p\b\sqlit063ff4ed98214\b\build" --config Release
MSBuild version 17.11.9+a69bbaaf5 for .NET Framework
1>Checking Build System
Building Custom Rule D:/cache/conan/p/b/sqlit063ff4ed98214/b/CMakeLists.txt
sqlite3.c
sqlite3.vcxproj -> D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\Release\sqlite3.lib
Building Custom Rule D:/cache/conan/p/b/sqlit063ff4ed98214/b/CMakeLists.txt
shell.c
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27256,1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlit
e3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27709,35): error C2001: newline in constant [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27710,5): error C2143: syntax error: missing ';' before 'const' [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27724,16): error C2065: 'zBom': undeclared identifier [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27724,26): warning C4047: '=': 'int' differs in levels of indirection from 'const char *' [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27791,18): error C2065: 'zBom': undeclared identifier [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27791,20): error C2065: 'zBom': undeclared identifier [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27791,20): warning C4047: 'function': 'const char *' differs in levels of indirection from 'int' [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27791,20): warning C4024: 'oPutsUtf8': different types for formal and actual parameter 1 [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27804,18): error C2065: 'zBom': undeclared identifier [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27804,20): error C2065: 'zBom': undeclared identifier [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27804,20): warning C4047: 'function': 'const char *' differs in levels of indirection from 'int' [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
D:\cache\conan\p\b\sqlit063ff4ed98214\b\src\shell.c(27804,20): warning C4024: 'oPutsUtf8': different types for formal and actual parameter 1 [D:\cache\conan\p\b\sqlit063ff4ed98214\b\build\sqlite3-bin.vcxproj]
sqlite3/3.46.1: ERROR:
Package 'c258ebf002cfa8d3ee0d78ed530bc27f279541b4' build failed
sqlite3/3.46.1: WARN: Build folder D:\cache\conan\p\b\sqlit063ff4ed98214\b\build
ERROR: sqlite3/3.46.1: Error in build() method, line 160
cmake.build()
ConanException: Error 1 while executing
- [x] Read the contributing guidelines
- [x] Checked that this PR is not a duplicate: list of PRs by recipe
- [x] Tested locally with at least one configuration using a recent version of Conan