updated build system
This commit is contained in:
parent
13a55bff61
commit
8bb291bbd9
@ -1,15 +1,15 @@
|
||||
set(BINUTILS_VERSION 2.41)
|
||||
set(BOOST2_MAJOR_VERSION 1)
|
||||
set(BOOST2_MINOR_VERSION 76)
|
||||
set(BOOST2_PATCH_VERSION 0)
|
||||
set(BOOST_MAJOR_VERSION 1)
|
||||
set(BOOST_MINOR_VERSION 85)
|
||||
set(BOOST_PATCH_VERSION 0)
|
||||
set(BOOST2_MAJOR_VERSION 1)
|
||||
set(BOOST2_MINOR_VERSION 76)
|
||||
set(BOOST2_PATCH_VERSION 0)
|
||||
set(CPP_HTTPLIB_VERSION 0.16.3)
|
||||
set(CURL2_VERSION 8_9_1)
|
||||
set(CURL_VERSION 8.9.1)
|
||||
set(EXPAT2_VERSION 2_6_2)
|
||||
set(CURL2_VERSION 8_9_1)
|
||||
set(EXPAT_VERSION 2.6.2)
|
||||
set(EXPAT2_VERSION 2_6_2)
|
||||
set(GCC_VERSION 14.2.0)
|
||||
set(GTEST_VERSION 1.15.2)
|
||||
set(ICU_VERSION 75-1)
|
||||
@ -21,7 +21,7 @@ set(OPENSSL_VERSION 3.3.1)
|
||||
set(PKG_CONFIG_VERSION 0.29.2)
|
||||
set(PUGIXML_VERSION 1.14)
|
||||
set(SPDLOG_VERSION 1.14.1)
|
||||
set(SQLITE2_VERSION 3.46.1)
|
||||
set(SQLITE_VERSION 3460100)
|
||||
set(SQLITE2_VERSION 3.46.1)
|
||||
set(STDUUID_VERSION 1.2.3)
|
||||
set(ZLIB_VERSION 1.3.1)
|
||||
|
@ -26,7 +26,7 @@ PROJECT_CLEANUP[LIBSODIUM]="3rd_party/libsodium-*:3rd_party/libsodium*"
|
||||
PROJECT_CLEANUP[OPENSSL]="3rd_party/openssl-*"
|
||||
PROJECT_CLEANUP[PUGIXML]="3rd_party/pugixml-*"
|
||||
PROJECT_CLEANUP[SPDLOG]="3rd_party/spdlog-*"
|
||||
PROJECT_CLEANUP[SQLITE]="3rd_party/sqlite*"
|
||||
PROJECT_CLEANUP[SQLITE]="3rd_party/sqlite*:include/utils/db:src/utils/db"
|
||||
PROJECT_CLEANUP[STDUUID]="3rd_party/stduuid-*"
|
||||
PROJECT_CLEANUP[TESTING]="3rd_party/googletest-*"
|
||||
PROJECT_CLEANUP[WINFSP]="3rd_party/winfsp-*"
|
||||
|
@ -19,12 +19,11 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#ifndef INCLUDE_DATABASE_DB_COMMON_HPP_
|
||||
#define INCLUDE_DATABASE_DB_COMMON_HPP_
|
||||
#ifndef REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_COMMON_HPP_
|
||||
#define REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_COMMON_HPP_
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
#include "utils/error_utils.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
namespace repertory::utils::db::sqlite {
|
||||
using db_types_t = std::variant<std::int64_t, std::string>;
|
||||
|
||||
struct sqlite3_deleter {
|
||||
@ -187,14 +186,7 @@ private:
|
||||
mutable std::int32_t res_;
|
||||
|
||||
private:
|
||||
void set_res(std::int32_t res, std::string_view function) const {
|
||||
if (res != SQLITE_OK && res != SQLITE_DONE && res != SQLITE_ROW) {
|
||||
utils::error::raise_error(function, "failed to step|" +
|
||||
std::to_string(res) + '|' +
|
||||
sqlite3_errstr(res));
|
||||
}
|
||||
res_ = res;
|
||||
}
|
||||
void set_res(std::int32_t res) const { res_ = res; }
|
||||
|
||||
public:
|
||||
[[nodiscard]] auto ok() const -> bool {
|
||||
@ -208,30 +200,28 @@ public:
|
||||
}
|
||||
|
||||
[[nodiscard]] auto get_row(std::optional<db_row<ctx_t>> &row) const -> bool {
|
||||
constexpr const auto *function_name =
|
||||
static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
row.reset();
|
||||
|
||||
if (not has_row()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
row = db_row{context_};
|
||||
set_res(sqlite3_step(context_->stmt.get()), function_name);
|
||||
set_res(sqlite3_step(context_->stmt.get()));
|
||||
return true;
|
||||
}
|
||||
|
||||
[[nodiscard]] auto has_row() const -> bool { return res_ == SQLITE_ROW; }
|
||||
|
||||
void next_row() const {
|
||||
constexpr const auto *function_name =
|
||||
static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
if (has_row()) {
|
||||
set_res(sqlite3_step(context_->stmt.get()), function_name);
|
||||
if (not has_row()) {
|
||||
return;
|
||||
}
|
||||
|
||||
set_res(sqlite3_step(context_->stmt.get()));
|
||||
}
|
||||
};
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // INCLUDE_DATABASE_DB_COMMON_HPP_
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
||||
#endif // REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_COMMON_HPP_
|
@ -19,14 +19,15 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#ifndef INCLUDE_DATABASE_DB_DELETE_HPP_
|
||||
#define INCLUDE_DATABASE_DB_DELETE_HPP_
|
||||
#ifndef REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_DELETE_HPP_
|
||||
#define REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_DELETE_HPP_
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
#include "database/db_common.hpp"
|
||||
#include "utils/db/sqlite/db_common.hpp"
|
||||
|
||||
#include "database/db_where_t.hpp"
|
||||
#include "utils/db/sqlite/db_where_t.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
namespace repertory::utils::db::sqlite {
|
||||
class db_delete final {
|
||||
public:
|
||||
struct context final : db_context_t {
|
||||
@ -59,6 +60,7 @@ public:
|
||||
|
||||
[[nodiscard]] auto where(std::string column_name) const -> context::w_t::cn_t;
|
||||
};
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // INCLUDE_DATABASE_DB_DELETE_HPP_
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
||||
#endif // REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_DELETE_HPP_
|
@ -19,12 +19,13 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#ifndef INCLUDE_DATABASE_DB_INSERT_HPP_
|
||||
#define INCLUDE_DATABASE_DB_INSERT_HPP_
|
||||
#ifndef REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_INSERT_HPP_
|
||||
#define REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_INSERT_HPP_
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
#include "database/db_common.hpp"
|
||||
#include "utils/db/sqlite/db_common.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
namespace repertory::utils::db::sqlite {
|
||||
class db_insert final {
|
||||
public:
|
||||
struct context final : db_context_t {
|
||||
@ -59,6 +60,7 @@ public:
|
||||
|
||||
[[nodiscard]] auto go() const -> db_result<context>;
|
||||
};
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // INCLUDE_DATABASE_DB_INSERT_HPP_
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
||||
#endif // REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_INSERT_HPP_
|
@ -19,14 +19,15 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#ifndef INCLUDE_DATABASE_DB_SELECT_HPP_
|
||||
#define INCLUDE_DATABASE_DB_SELECT_HPP_
|
||||
#ifndef REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_SELECT_HPP_
|
||||
#define REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_SELECT_HPP_
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
#include "database/db_common.hpp"
|
||||
#include "utils/db/sqlite/db_common.hpp"
|
||||
|
||||
#include "database/db_where_limit_t.hpp"
|
||||
#include "utils/db/sqlite/db_where_limit_t.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
namespace repertory::utils::db::sqlite {
|
||||
class db_select final {
|
||||
public:
|
||||
struct context final : db_context_t {
|
||||
@ -73,6 +74,7 @@ public:
|
||||
|
||||
[[nodiscard]] auto where(std::string column_name) const -> context::w_t::cn_t;
|
||||
};
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // INCLUDE_DATABASE_DB_SELECT_HPP_
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
||||
#endif // REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_SELECT_HPP_
|
@ -19,14 +19,15 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#ifndef INCLUDE_DATABASE_DB_UPDATE_HPP_
|
||||
#define INCLUDE_DATABASE_DB_UPDATE_HPP_
|
||||
#ifndef REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_UPDATE_HPP_
|
||||
#define REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_UPDATE_HPP_
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
#include "database/db_common.hpp"
|
||||
#include "utils/db/sqlite/db_common.hpp"
|
||||
|
||||
#include "database/db_where_limit_t.hpp"
|
||||
#include "utils/db/sqlite/db_where_limit_t.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
namespace repertory::utils::db::sqlite {
|
||||
class db_update final {
|
||||
public:
|
||||
struct context final : db_context_t {
|
||||
@ -70,6 +71,7 @@ public:
|
||||
|
||||
[[nodiscard]] auto where(std::string column_name) const -> context::w_t::cn_t;
|
||||
};
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // INCLUDE_DATABASE_DB_UPDATE_HPP_
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
||||
#endif // REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_UPDATE_HPP_
|
@ -19,12 +19,13 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#ifndef INCLUDE_DATABASE_DB_WHERE_LIMIT_T_HPP_
|
||||
#define INCLUDE_DATABASE_DB_WHERE_LIMIT_T_HPP_
|
||||
#ifndef REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_WHERE_LIMIT_T_HPP_
|
||||
#define REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_WHERE_LIMIT_T_HPP_
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
#include "database/db_common.hpp"
|
||||
#include "utils/db/sqlite/db_common.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
namespace repertory::utils::db::sqlite {
|
||||
template <typename cn_t, typename ctx_t, typename op_t, typename w_t,
|
||||
typename wn_t>
|
||||
struct db_next_limit_t final {
|
||||
@ -209,6 +210,7 @@ template <typename ctx_t, typename op_t> struct db_where_with_limit_t final {
|
||||
};
|
||||
}
|
||||
};
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // INCLUDE_DATABASE_DB_WHERE_LIMIT_T_HPP_
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
||||
#endif // REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_WHERE_LIMIT_T_HPP_
|
@ -19,12 +19,13 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#ifndef INCLUDE_DATABASE_DB_WHERE_T_HPP_
|
||||
#define INCLUDE_DATABASE_DB_WHERE_T_HPP_
|
||||
#ifndef REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_WHERE_T_HPP_
|
||||
#define REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_WHERE_T_HPP_
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
#include "database/db_common.hpp"
|
||||
#include "utils/db/sqlite/db_common.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
namespace repertory::utils::db::sqlite {
|
||||
template <typename cn_t, typename ctx_t, typename op_t, typename w_t,
|
||||
typename wn_t>
|
||||
struct db_next_t final {
|
||||
@ -185,6 +186,7 @@ template <typename ctx_t, typename op_t> struct db_where_t final {
|
||||
};
|
||||
}
|
||||
};
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // INCLUDE_DATABASE_DB_WHERE_T_HPP_
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
||||
#endif // REPERTORY_INCLUDE_UTILS_DB_SQLITE_DB_WHERE_T_HPP_
|
@ -19,9 +19,11 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#include "database/db_common.hpp"
|
||||
#include "utils/db/sqlite/db_common.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
namespace repertory::utils::db::sqlite {
|
||||
auto execute_sql(sqlite3 &db3, const std::string &sql,
|
||||
std::string &err) -> bool {
|
||||
char *err_msg{nullptr};
|
||||
@ -45,4 +47,6 @@ void set_journal_mode(sqlite3 &db3) {
|
||||
sqlite3_exec(&db3, "PRAGMA journal_mode = WAL;PRAGMA synchronous = NORMAL;",
|
||||
nullptr, nullptr, nullptr);
|
||||
}
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
@ -19,9 +19,11 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#include "database/db_delete.hpp"
|
||||
#include "utils/db/sqlite/db_delete.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
namespace repertory::utils::db::sqlite {
|
||||
auto db_delete::dump() const -> std::string {
|
||||
std::stringstream query;
|
||||
query << "DELETE FROM \"" << context_->table_name << "\"";
|
||||
@ -92,4 +94,6 @@ auto db_delete::where(std::string column_name) const -> context::w_t::cn_t {
|
||||
|
||||
return context_->where->where(column_name);
|
||||
}
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
@ -19,9 +19,11 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#include "database/db_insert.hpp"
|
||||
#include "utils/db/sqlite/db_insert.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
namespace repertory::utils::db::sqlite {
|
||||
auto db_insert::column_value(std::string column_name,
|
||||
db_types_t value) -> db_insert & {
|
||||
context_->values[column_name] = value;
|
||||
@ -97,4 +99,6 @@ auto db_insert::go() const -> db_result<context> {
|
||||
|
||||
return {context_, res};
|
||||
}
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
@ -19,9 +19,11 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#include "database/db_select.hpp"
|
||||
#include "utils/db/sqlite/db_select.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
namespace repertory::utils::db::sqlite {
|
||||
auto db_select::column(std::string column_name) -> db_select & {
|
||||
context_->columns.push_back(column_name);
|
||||
return *this;
|
||||
@ -149,4 +151,6 @@ auto db_select::where(std::string column_name) const -> context::w_t::cn_t {
|
||||
|
||||
return context_->where->where(column_name);
|
||||
}
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
@ -19,9 +19,11 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#include "database/db_update.hpp"
|
||||
#include "utils/db/sqlite/db_update.hpp"
|
||||
|
||||
namespace repertory::db {
|
||||
#if defined(PROJECT_ENABLE_SQLITE)
|
||||
|
||||
namespace repertory::utils::db::sqlite {
|
||||
auto db_update::column_value(std::string column_name,
|
||||
db_types_t value) -> db_update & {
|
||||
context_->column_values[column_name] = value;
|
||||
@ -159,4 +161,6 @@ auto db_update::where(std::string column_name) const -> context::w_t::cn_t {
|
||||
|
||||
return context_->where->where(column_name);
|
||||
}
|
||||
} // namespace repertory::db
|
||||
} // namespace repertory::utils::db::sqlite
|
||||
|
||||
#endif // defined(PROJECT_ENABLE_SQLITE)
|
Loading…
x
Reference in New Issue
Block a user