mirror of
https://github.com/latentPrion/cppbessot.git
synced 2026-04-17 18:44:23 +00:00
Change "DB version" language to "DB dir" language
This commit is contained in:
@@ -15,18 +15,18 @@ if(NOT DEFINED CPPBESSOT_WORKDIR)
|
||||
set(CPPBESSOT_WORKDIR "db" CACHE STRING "CppBeSSOT schema root folder")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED DB_SCHEMA_VERSION_TO_GENERATE)
|
||||
set(DB_SCHEMA_VERSION_TO_GENERATE "v1.1" CACHE STRING "Schema version to generate artifacts for")
|
||||
if(NOT DEFINED DB_SCHEMA_DIR_TO_GENERATE)
|
||||
set(DB_SCHEMA_DIR_TO_GENERATE "v1.1" CACHE STRING "Schema directory basename under CPPBESSOT_WORKDIR to generate artifacts for")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED DB_SCHEMA_MIGRATION_VERSION_FROM)
|
||||
set(DB_SCHEMA_MIGRATION_VERSION_FROM "" CACHE STRING
|
||||
"Optional source schema version for migration generation (e.g. v1.1)")
|
||||
if(NOT DEFINED DB_SCHEMA_DIR_MIGRATION_FROM)
|
||||
set(DB_SCHEMA_DIR_MIGRATION_FROM "" CACHE STRING
|
||||
"Optional source schema directory basename for migration generation")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED DB_SCHEMA_MIGRATION_VERSION_TO)
|
||||
set(DB_SCHEMA_MIGRATION_VERSION_TO "" CACHE STRING
|
||||
"Optional target schema version for migration generation (e.g. v1.2)")
|
||||
if(NOT DEFINED DB_SCHEMA_DIR_MIGRATION_TO)
|
||||
set(DB_SCHEMA_DIR_MIGRATION_TO "" CACHE STRING
|
||||
"Optional target schema directory basename for migration generation")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED DB_SCHEMA_CHANGES_ARE_ERROR)
|
||||
@@ -51,8 +51,8 @@ endfunction()
|
||||
function(cppbessot_add_generated_libraries)
|
||||
# Purpose: Create consumable libraries from generated model and ODB sources.
|
||||
# Inputs:
|
||||
# - VERSION (optional named arg): Schema version to consume.
|
||||
# - DB_SCHEMA_VERSION_TO_GENERATE (fallback): Default schema version.
|
||||
# - SCHEMA_DIR (optional named arg): Schema directory basename to consume.
|
||||
# - DB_SCHEMA_DIR_TO_GENERATE (fallback): Default schema directory basename.
|
||||
# Outputs:
|
||||
# - Library targets (when sources exist):
|
||||
# - cppBeSsotOpenAiModelGen
|
||||
@@ -64,16 +64,16 @@ function(cppbessot_add_generated_libraries)
|
||||
# - cppbessot::odb_pgsql
|
||||
# - Emits warnings if expected source sets are missing.
|
||||
set(options)
|
||||
set(one_value_args VERSION)
|
||||
set(one_value_args SCHEMA_DIR)
|
||||
set(multi_value_args)
|
||||
cmake_parse_arguments(CPPB "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN})
|
||||
|
||||
if(NOT CPPB_VERSION)
|
||||
set(CPPB_VERSION "${DB_SCHEMA_VERSION_TO_GENERATE}")
|
||||
if(NOT CPPB_SCHEMA_DIR)
|
||||
set(CPPB_SCHEMA_DIR "${DB_SCHEMA_DIR_TO_GENERATE}")
|
||||
endif()
|
||||
|
||||
cppbessot_validate_schema_version("${CPPB_VERSION}")
|
||||
cppbessot_get_version_dir(_version_dir "${CPPB_VERSION}")
|
||||
cppbessot_validate_schema_dir_name("${CPPB_SCHEMA_DIR}")
|
||||
cppbessot_get_schema_dir_path(_version_dir "${CPPB_SCHEMA_DIR}")
|
||||
|
||||
set(_cpp_include_dir "${_version_dir}/generated-cpp-source/include")
|
||||
file(GLOB _model_include_dirs LIST_DIRECTORIES true "${_cpp_include_dir}/*/model")
|
||||
@@ -89,7 +89,7 @@ function(cppbessot_add_generated_libraries)
|
||||
_cppbessot_try_link_nlohmann(cppBeSsotOpenAiModelGen)
|
||||
add_library(cppbessot::openai_model_gen ALIAS cppBeSsotOpenAiModelGen)
|
||||
else()
|
||||
message(WARNING "No generated C++ model sources found for ${CPPB_VERSION}; skipping libcppBeSsotOpenAiModelGen.")
|
||||
message(WARNING "No generated C++ model sources found for ${CPPB_SCHEMA_DIR}; skipping libcppBeSsotOpenAiModelGen.")
|
||||
endif()
|
||||
|
||||
file(GLOB _sqlite_odb_sources CONFIGURE_DEPENDS
|
||||
@@ -105,7 +105,7 @@ function(cppbessot_add_generated_libraries)
|
||||
${_model_include_dirs})
|
||||
add_library(cppbessot::odb_sqlite ALIAS cppBeSsotOdbSqlite)
|
||||
else()
|
||||
message(WARNING "No generated sqlite ODB sources found for ${CPPB_VERSION}; skipping libcppBeSsotOdbSqlite.")
|
||||
message(WARNING "No generated sqlite ODB sources found for ${CPPB_SCHEMA_DIR}; skipping libcppBeSsotOdbSqlite.")
|
||||
endif()
|
||||
|
||||
file(GLOB _pgsql_odb_sources CONFIGURE_DEPENDS
|
||||
@@ -121,7 +121,7 @@ function(cppbessot_add_generated_libraries)
|
||||
${_model_include_dirs})
|
||||
add_library(cppbessot::odb_pgsql ALIAS cppBeSsotOdbPgSql)
|
||||
else()
|
||||
message(WARNING "No generated postgre ODB sources found for ${CPPB_VERSION}; skipping libcppBeSsotOdbPgSql.")
|
||||
message(WARNING "No generated postgre ODB sources found for ${CPPB_SCHEMA_DIR}; skipping libcppBeSsotOdbPgSql.")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
@@ -130,9 +130,9 @@ function(cppbessot_enable)
|
||||
# targets, aggregate targets, and generated library registration.
|
||||
# Inputs:
|
||||
# - CPPBESSOT_WORKDIR
|
||||
# - DB_SCHEMA_VERSION_TO_GENERATE
|
||||
# - DB_SCHEMA_MIGRATION_VERSION_FROM
|
||||
# - DB_SCHEMA_MIGRATION_VERSION_TO
|
||||
# - DB_SCHEMA_DIR_TO_GENERATE
|
||||
# - DB_SCHEMA_DIR_MIGRATION_FROM
|
||||
# - DB_SCHEMA_DIR_MIGRATION_TO
|
||||
# - DB_SCHEMA_CHANGES_ARE_ERROR (optional behavior control)
|
||||
# Outputs:
|
||||
# - Custom targets:
|
||||
@@ -147,30 +147,30 @@ function(cppbessot_enable)
|
||||
# - Generated library targets for selected schema version.
|
||||
cppbessot_initialize_paths()
|
||||
|
||||
cppbessot_validate_schema_version("${DB_SCHEMA_VERSION_TO_GENERATE}")
|
||||
cppbessot_assert_version_dir_exists("${DB_SCHEMA_VERSION_TO_GENERATE}")
|
||||
cppbessot_validate_schema_dir_name("${DB_SCHEMA_DIR_TO_GENERATE}")
|
||||
cppbessot_assert_schema_dir_exists("${DB_SCHEMA_DIR_TO_GENERATE}")
|
||||
|
||||
cppbessot_check_dependencies()
|
||||
|
||||
cppbessot_add_db_check_schema_changes_target()
|
||||
cppbessot_add_db_gen_ts_target("${DB_SCHEMA_VERSION_TO_GENERATE}")
|
||||
cppbessot_add_db_gen_zod_target("${DB_SCHEMA_VERSION_TO_GENERATE}")
|
||||
cppbessot_add_db_gen_cpp_target("${DB_SCHEMA_VERSION_TO_GENERATE}")
|
||||
cppbessot_add_db_gen_odb_target("${DB_SCHEMA_VERSION_TO_GENERATE}")
|
||||
cppbessot_add_db_gen_sql_ddl_target("${DB_SCHEMA_VERSION_TO_GENERATE}")
|
||||
if(NOT "${DB_SCHEMA_MIGRATION_VERSION_FROM}" STREQUAL ""
|
||||
AND NOT "${DB_SCHEMA_MIGRATION_VERSION_TO}" STREQUAL "")
|
||||
cppbessot_validate_schema_version("${DB_SCHEMA_MIGRATION_VERSION_FROM}")
|
||||
cppbessot_validate_schema_version("${DB_SCHEMA_MIGRATION_VERSION_TO}")
|
||||
cppbessot_assert_version_dir_exists("${DB_SCHEMA_MIGRATION_VERSION_FROM}")
|
||||
cppbessot_assert_version_dir_exists("${DB_SCHEMA_MIGRATION_VERSION_TO}")
|
||||
cppbessot_add_db_gen_ts_target("${DB_SCHEMA_DIR_TO_GENERATE}")
|
||||
cppbessot_add_db_gen_zod_target("${DB_SCHEMA_DIR_TO_GENERATE}")
|
||||
cppbessot_add_db_gen_cpp_target("${DB_SCHEMA_DIR_TO_GENERATE}")
|
||||
cppbessot_add_db_gen_odb_target("${DB_SCHEMA_DIR_TO_GENERATE}")
|
||||
cppbessot_add_db_gen_sql_ddl_target("${DB_SCHEMA_DIR_TO_GENERATE}")
|
||||
if(NOT "${DB_SCHEMA_DIR_MIGRATION_FROM}" STREQUAL ""
|
||||
AND NOT "${DB_SCHEMA_DIR_MIGRATION_TO}" STREQUAL "")
|
||||
cppbessot_validate_schema_dir_name("${DB_SCHEMA_DIR_MIGRATION_FROM}")
|
||||
cppbessot_validate_schema_dir_name("${DB_SCHEMA_DIR_MIGRATION_TO}")
|
||||
cppbessot_assert_schema_dir_exists("${DB_SCHEMA_DIR_MIGRATION_FROM}")
|
||||
cppbessot_assert_schema_dir_exists("${DB_SCHEMA_DIR_MIGRATION_TO}")
|
||||
cppbessot_add_db_gen_migrations_target(
|
||||
"${DB_SCHEMA_MIGRATION_VERSION_FROM}"
|
||||
"${DB_SCHEMA_MIGRATION_VERSION_TO}")
|
||||
"${DB_SCHEMA_DIR_MIGRATION_FROM}"
|
||||
"${DB_SCHEMA_DIR_MIGRATION_TO}")
|
||||
else()
|
||||
add_custom_target(db_gen_migrations
|
||||
COMMAND "${CMAKE_COMMAND}" -E echo
|
||||
"Set DB_SCHEMA_MIGRATION_VERSION_FROM and DB_SCHEMA_MIGRATION_VERSION_TO to enable migration generation."
|
||||
"Set DB_SCHEMA_DIR_MIGRATION_FROM and DB_SCHEMA_DIR_MIGRATION_TO to enable migration generation."
|
||||
COMMAND "${CMAKE_COMMAND}" -E false
|
||||
VERBATIM
|
||||
)
|
||||
@@ -186,7 +186,7 @@ function(cppbessot_enable)
|
||||
db_gen_sql_ddl)
|
||||
set_target_properties(db_gen_orm_serdes_and_zod PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
|
||||
cppbessot_add_generated_libraries(VERSION "${DB_SCHEMA_VERSION_TO_GENERATE}")
|
||||
cppbessot_add_generated_libraries(SCHEMA_DIR "${DB_SCHEMA_DIR_TO_GENERATE}")
|
||||
endfunction()
|
||||
|
||||
if(CPPBESSOT_AUTO_ENABLE)
|
||||
|
||||
Reference in New Issue
Block a user