mirror of
https://github.com/latentPrion/cppbessot.git
synced 2026-06-23 15:18:37 +00:00
42 lines
1.8 KiB
CMake
42 lines
1.8 KiB
CMake
|
|
include_guard(GLOBAL)
|
||
|
|
|
||
|
|
function(_cppbessot_dotenv_escape output_var value)
|
||
|
|
set(escaped "${value}")
|
||
|
|
string(REPLACE "\\" "\\\\" escaped "${escaped}")
|
||
|
|
string(REPLACE "\"" "\\\"" escaped "${escaped}")
|
||
|
|
string(REPLACE "\n" "\\n" escaped "${escaped}")
|
||
|
|
string(REPLACE "\r" "\\r" escaped "${escaped}")
|
||
|
|
string(REPLACE "\t" "\\t" escaped "${escaped}")
|
||
|
|
set(${output_var} "${escaped}" PARENT_SCOPE)
|
||
|
|
endfunction()
|
||
|
|
|
||
|
|
function(_cppbessot_dotenv_append output_var name value)
|
||
|
|
_cppbessot_dotenv_escape(escaped_value "${value}")
|
||
|
|
set(line "${name}=\"${escaped_value}\"\n")
|
||
|
|
set(${output_var} "${${output_var}}${line}" PARENT_SCOPE)
|
||
|
|
endfunction()
|
||
|
|
|
||
|
|
function(cppbessot_write_runtime_env_file output_path)
|
||
|
|
set(env_contents
|
||
|
|
"# Generated by cppbessot during CMake configure. Do not edit.\n")
|
||
|
|
_cppbessot_dotenv_append(env_contents
|
||
|
|
"DB_TARGET" "${DB_TARGET}")
|
||
|
|
_cppbessot_dotenv_append(env_contents
|
||
|
|
"CPPBESSOT_DB_PGSQL_PROD_CONNSTR" "${CPPBESSOT_DB_PGSQL_PROD_CONNSTR}")
|
||
|
|
_cppbessot_dotenv_append(env_contents
|
||
|
|
"CPPBESSOT_DB_PGSQL_DEV_CONNSTR" "${CPPBESSOT_DB_PGSQL_DEV_CONNSTR}")
|
||
|
|
_cppbessot_dotenv_append(env_contents
|
||
|
|
"CPPBESSOT_DB_PGSQL_PRODDEV_CONNSTR" "${CPPBESSOT_DB_PGSQL_PRODDEV_CONNSTR}")
|
||
|
|
_cppbessot_dotenv_append(env_contents
|
||
|
|
"CPPBESSOT_DB_PGSQL_TESTS_CONNSTR" "${CPPBESSOT_DB_PGSQL_TESTS_CONNSTR}")
|
||
|
|
_cppbessot_dotenv_append(env_contents
|
||
|
|
"CPPBESSOT_DB_SQLITE_PROD_PATH" "${CPPBESSOT_DB_SQLITE_PROD_PATH}")
|
||
|
|
_cppbessot_dotenv_append(env_contents
|
||
|
|
"CPPBESSOT_DB_SQLITE_DEV_PATH" "${CPPBESSOT_DB_SQLITE_DEV_PATH}")
|
||
|
|
_cppbessot_dotenv_append(env_contents
|
||
|
|
"CPPBESSOT_DB_SQLITE_PRODDEV_PATH" "${CPPBESSOT_DB_SQLITE_PRODDEV_PATH}")
|
||
|
|
_cppbessot_dotenv_append(env_contents
|
||
|
|
"CPPBESSOT_DB_SQLITE_TESTS_PATH" "${CPPBESSOT_DB_SQLITE_TESTS_PATH}")
|
||
|
|
file(WRITE "${output_path}" "${env_contents}")
|
||
|
|
endfunction()
|