macOS flat out refuses to compile if you touch std::filesystem when
targetting macOS < 10.15 (to be able to deploy a binary to older macOS
versions).
This disables the std::filesystem support when in C++17 mode with such a
target.
Removes manually adding the include directory from the Readme install instructions. The manual step is not needed since the include dir is already added on the library target by the current CMake configuration.
* Add Database constructor for filesystem::path #296
* Fixed incorrect MSVC version value for C++17
* Updated another incorrect version string
* Updated MSVC compiler check again. The <filesystem> header wasn't transitioned from std::experimental until MSVC 15.7
* Changed version check to look at c++ version no MSVC version
Similar to Statement::tryExecuteStep(), allows calls to sqlite3_exec()
with the caller assuming responsibility for checking and handling the
returned status.
strncpy gives an "output may be truncated" warning in newer versions of
GCC due to *pBuf being larger (100) than *pHeaderStr (16). Use memcpy
and explicitly null-terminate the target string.
When building with SQLITECPP_INTERNAL_SQLITE=ON the SQLite amalgamation
source is used for generating the library. Using one big source file
means all the library code will be put in a single section. When
building statically linked executables the entire section will be
linked even if a small portion of the library is actually used.
This commit addresses this issue by setting the -ffunction-sections
compiler option when building the library. As each function is placed in
a section of its own the linker, when passed the --gc-sections, will
throw away unused sections (functions) and reduce the executable size.
It's not needed since the automatically generated file
SQLiteCppConfig.cmake already exists.
Added a small section to the README to explain how it can be used when
this library is installed to the system.
Fixes#283
It was failing to compile since it wasn't linking against the sqlcipher
library if using the system libraries. This fix simply links the library
& includes the header path.
PkgConf is optional in this process, and it will fall back to regular
search for header & lib if it's not installed.