When designing configuration options, environment variables, and build settings, follow established patterns and ensure they serve a clear purpose. Consider cross-platform compatibility, use familiar conventions (like PATH-style lists), and align configuration choices with project requirements.
When designing configuration options, environment variables, and build settings, follow established patterns and ensure they serve a clear purpose. Consider cross-platform compatibility, use familiar conventions (like PATH-style lists), and align configuration choices with project requirements.
Key principles:
;
on Windows, :
on Unix)Example:
# Good: Uses platform-appropriate separators and follows PATH convention
set(EXTENSION_DIRECTORIES "~/.duckdb/extensions" CACHE STRING "Extension directories (colon/semicolon separated)")
# Good: Version reflects actual compatibility guarantees
set_target_properties(duckdb PROPERTIES SOVERSION ${DUCKDB_MAJOR_VERSION}.${DUCKDB_MINOR_VERSION})
# Bad: Creates unused intermediate variable
set(SUMMARIZE_FAILURES_ENV "$ENV{SUMMARIZE_FAILURES}") # Never actually used
Enter the URL of a public GitHub repository