# various directory definitions we use throughout Bongo if(EXISTS /lib64) set(_LIB_DIR_NAME lib64) else(EXISTS /lib64) set(_LIB_DIR_NAME lib) endif(EXISTS /lib64) set(LIB_DIR_NAME ${_LIB_DIR_NAME} CACHE STRING "Name of library location (arch-specific), usually 'lib' or 'lib64'") # 'default' locations for where objects get built set(BINDIR ${PROJECT_BINARY_DIR}/bin) set(SBINDIR ${PROJECT_BINARY_DIR}/sbin) set(LIBDIR ${PROJECT_BINARY_DIR}/${LIB_DIR_NAME}) set(LIBEXECDIR ${PROJECT_BINARY_DIR}/libexec) set(DATAROOTDIR ${PROJECT_BINARY_DIR}/share) set(DATADIR ${PROJECT_BINARY_DIR}/share) set(LOCALSTATEDIR ${PROJECT_BINARY_DIR}/var) set(INCLUDEDIR ${PROJECT_BINARY_DIR}/include) # various paths for where objects get installed / work from set(XPL_DEFAULT_DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/bongo) set(BONGO_STATE_DIR /var/lib/bongo CACHE PATH "Persistent Bongo state directory") set(XPL_DEFAULT_STATE_DIR ${BONGO_STATE_DIR}) set(BONGO_RUNTIME_DIR /run/bongo CACHE PATH "Volatile Bongo runtime directory") set(XPL_DEFAULT_RUNTIME_DIR ${BONGO_RUNTIME_DIR}) set(BONGO_MAILDROP_DIR /var/spool/bongo/maildrop CACHE PATH "Protected local mail submission directory") get_filename_component(BONGO_MAILDROP_ROOT "${BONGO_MAILDROP_DIR}" DIRECTORY) set(XPL_DEFAULT_BIN_DIR ${CMAKE_INSTALL_PREFIX}/sbin) set(XPL_DEFAULT_LIB_DIR ${CMAKE_INSTALL_PREFIX}/${LIB_DIR_NAME}) # A distribution install below /usr still keeps host configuration in /etc. # A self-contained /usr/local (or another custom-prefix) installation keeps # configuration below that prefix instead. if(CMAKE_INSTALL_PREFIX STREQUAL "/" OR CMAKE_INSTALL_PREFIX STREQUAL "/usr") set(_BONGO_SYSCONF_DEFAULT /etc) else() set(_BONGO_SYSCONF_DEFAULT ${CMAKE_INSTALL_PREFIX}/etc) endif() if(DEFINED SYSCONF_INSTALL_DIR) set(_BONGO_SYSCONF_DEFAULT ${SYSCONF_INSTALL_DIR}) endif() set(BONGO_CONFIG_DIR ${_BONGO_SYSCONF_DEFAULT}/bongo CACHE PATH "Bongo configuration directory") unset(_BONGO_SYSCONF_DEFAULT) set(XPL_DEFAULT_CONF_DIR ${BONGO_CONFIG_DIR}) set(XPL_DEFAULT_CONFIG_DIR ${BONGO_CONFIG_DIR}/config.d) set(XPL_DEFAULT_ALIASES_DIR ${BONGO_CONFIG_DIR}/aliases.d) set(XPL_DEFAULT_SSL_DIR ${BONGO_CONFIG_DIR}/ssl.d) set(XPL_DEFAULT_DKIM_DIR ${BONGO_CONFIG_DIR}/dkim.d) set(XPL_DEFAULT_DMARC_DIR ${BONGO_CONFIG_DIR}/dmarc.d) set(XPL_DEFAULT_ACME_CONFIG_DIR ${BONGO_CONFIG_DIR}/acme.d) set(XPL_DEFAULT_ACME_PROVIDER_CONFIG ${XPL_DEFAULT_ACME_CONFIG_DIR}/providers) set(XPL_DEFAULT_ACME_DNS_HELPER ${CMAKE_INSTALL_PREFIX}/libexec/bongo/bongo-acme-dns-provider) set(XPL_DEFAULT_NLS_DIR ${CMAKE_INSTALL_PREFIX}/share/bongo/nls) set(XPL_DEFAULT_DBF_DIR ${XPL_DEFAULT_STATE_DIR}/dbf) set(XPL_DEFAULT_WORK_DIR ${XPL_DEFAULT_STATE_DIR}/work) set(XPL_DEFAULT_CACHE_DIR ${XPL_DEFAULT_STATE_DIR}/cache) set(XPL_DEFAULT_SCMS_DIR ${XPL_DEFAULT_STATE_DIR}/scms) set(XPL_DEFAULT_SPOOL_DIR ${XPL_DEFAULT_STATE_DIR}/spool) set(XPL_DEFAULT_MAILDROP_DIR ${BONGO_MAILDROP_DIR}) set(XPL_DEFAULT_STORE_SYSTEM_DIR ${XPL_DEFAULT_STATE_DIR}/system) set(XPL_DEFAULT_SYSTEM_DIR ${XPL_DEFAULT_STATE_DIR}/system) set(XPL_DEFAULT_MAIL_DIR ${XPL_DEFAULT_STATE_DIR}/users) set(XPL_DEFAULT_COOKIE_DIR ${XPL_DEFAULT_STATE_DIR}/dbf/cookies) set(XPL_DEFAULT_WORKER_DIR ${XPL_DEFAULT_STATE_DIR}/worker) set(XPL_DEFAULT_WORKER_DB ${XPL_DEFAULT_WORKER_DIR}/jobs.sqlite) set(XPL_DEFAULT_ACME_DIR ${XPL_DEFAULT_STATE_DIR}/acme) set(XPL_DEFAULT_ACME_CHALLENGE_DIR ${XPL_DEFAULT_ACME_DIR}/challenges) set(XPL_DEFAULT_ACME_ACCOUNT_KEY ${XPL_DEFAULT_ACME_DIR}/account.key) set(XPL_DEFAULT_ACME_NEXT_KEY ${XPL_DEFAULT_ACME_DIR}/server.key.next) set(XPL_DEFAULT_ACME_NEXT_CERT ${XPL_DEFAULT_ACME_DIR}/server.crt.next) set(XPL_DEFAULT_CERT_PATH ${XPL_DEFAULT_SSL_DIR}/server.crt) set(XPL_DEFAULT_RSAPARAMS_PATH ${XPL_DEFAULT_STATE_DIR}/dbf/rsaparams.pem) set(XPL_DEFAULT_DHPARAMS_PATH ${XPL_DEFAULT_STATE_DIR}/dbf/dhparams.pem) set(XPL_DEFAULT_RANDSEED_PATH ${XPL_DEFAULT_STATE_DIR}/dbf/randomseed) set(XPL_DEFAULT_KEY_PATH ${XPL_DEFAULT_SSL_DIR}/server.key) # FIXME: where did these get defined before? set(LOCALEDIR ${CMAKE_INSTALL_PREFIX}/share/locale) set(ZONEINFODIR ${XPL_DEFAULT_DATA_DIR}/zoneinfo)