Make CROSSLANG_CONFIG a environment variable

This commit is contained in:
2025-04-16 12:39:49 -05:00
parent 6bc6b48427
commit cdc72478d3
2 changed files with 11 additions and 0 deletions

View File

@ -20,6 +20,7 @@ option(CROSSLANG_ENABLE_TERMIOS "Enable termios (For changing terminal options)"
option(CROSSLANG_ENABLE_PLATFORM_FOLDERS "Enable platform folders" ON) option(CROSSLANG_ENABLE_PLATFORM_FOLDERS "Enable platform folders" ON)
option(CROSSLANG_SHARED_EXECUTABLES "Link with libcrosslang_shared" ON) option(CROSSLANG_SHARED_EXECUTABLES "Link with libcrosslang_shared" ON)
option(CROSSLANG_FETCHCONTENT "Use fetchcontent" ON) option(CROSSLANG_FETCHCONTENT "Use fetchcontent" ON)
option(CROSSLANG_ENABLE_CONFIG_ENVVAR "Allow setting config directory via the environment variable CROSSLANG_CONFIG" ON)
option(CROSSLANG_CUSTOM_CONSOLE "Enable custom Console" OFF) option(CROSSLANG_CUSTOM_CONSOLE "Enable custom Console" OFF)
@ -50,6 +51,9 @@ else()
find_package(TessesFramework REQUIRED) find_package(TessesFramework REQUIRED)
endif() endif()
function(CROSSLANG_LINK_DEPS CROSSLANG_TARGET_NAME) function(CROSSLANG_LINK_DEPS CROSSLANG_TARGET_NAME)
if(CROSSLANG_ENABLE_CONFIG_ENVVAR)
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_CONFIG_ENVVAR)
endif()
if(CROSSLANG_ENABLE_PROCESS) if(CROSSLANG_ENABLE_PROCESS)
target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_PROCESS) target_compile_definitions(${CROSSLANG_TARGET_NAME} PUBLIC CROSSLANG_ENABLE_PROCESS)
endif() endif()

View File

@ -25,6 +25,13 @@ namespace Tesses::CrossLang
} }
Tesses::Framework::Filesystem::VFSPath GetCrossLangConfigDir() Tesses::Framework::Filesystem::VFSPath GetCrossLangConfigDir()
{ {
#if defined(CROSSLANG_ENABLE_CONFIG_ENVVAR)
char* conf = std::getenv("CROSSLANG_CONFIG");
if(conf != NULL)
{
return std::string(conf);
}
#endif
Tesses::Framework::Filesystem::VFSPath p; Tesses::Framework::Filesystem::VFSPath p;
#if defined(CROSSLANG_ENABLE_PLATFORM_FOLDERS) #if defined(CROSSLANG_ENABLE_PLATFORM_FOLDERS)
p=sago::getConfigHome(); p=sago::getConfigHome();