diff options
Diffstat (limited to 'source/creator')
-rw-r--r-- | source/creator/CMakeLists.txt | 10 | ||||
-rw-r--r-- | source/creator/creator_args.c | 22 |
2 files changed, 31 insertions, 1 deletions
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index f923c834e93..d00285adb02 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -115,6 +115,10 @@ if(WITH_XR_OPENXR) add_definitions(-DWITH_XR_OPENXR) endif() +if(WITH_GMP) + add_definitions(-DWITH_GMP) +endif() + # Setup the exe sources and buildinfo set(SRC creator.c @@ -191,6 +195,12 @@ if(WITH_BUILDINFO) message(FATAL_ERROR "File \"${buildinfo_h_fake}\" found, this should never be created, remove!") endif() + # From the cmake documentation "If the output of the custom command is not actually created as a + # file on disk it should be marked with the SYMBOLIC source file property." + # + # Not doing this leads to build warnings for the not generated file on windows when using msbuild + SET_SOURCE_FILES_PROPERTIES(${buildinfo_h_fake} PROPERTIES SYMBOLIC TRUE) + # a custom target that is always built add_custom_target(buildinfo ALL DEPENDS ${buildinfo_h_fake}) diff --git a/source/creator/creator_args.c b/source/creator/creator_args.c index 164e670c444..0d1c932d2d2 100644 --- a/source/creator/creator_args.c +++ b/source/creator/creator_args.c @@ -751,6 +751,25 @@ static int arg_handle_abort_handler_disable(int UNUSED(argc), return 0; } +static void clog_abort_on_error_callback(void *fp) +{ + BLI_system_backtrace(fp); + fflush(fp); + abort(); +} + +static const char arg_handle_debug_exit_on_error_doc[] = + "\n\t" + "Immediately exit when internal errors are detected."; +static int arg_handle_debug_exit_on_error(int UNUSED(argc), + const char **UNUSED(argv), + void *UNUSED(data)) +{ + MEM_enable_fail_on_memleak(); + CLG_error_fn_set(clog_abort_on_error_callback); + return 0; +} + static const char arg_handle_background_mode_set_doc[] = "\n\t" "Run in background (often used for UI-less rendering)."; @@ -1300,7 +1319,7 @@ static int arg_handle_register_extension(int UNUSED(argc), const char **UNUSED(a if (data) { G.background = 1; } - RegisterBlendExtension(); + BLI_windows_register_blend_extension(G.background); # else (void)data; /* unused */ # endif @@ -2214,6 +2233,7 @@ void main_args_setup(bContext *C, bArgs *ba) "--debug-gpu-force-workarounds", CB_EX(arg_handle_debug_mode_generic_set, gpumem), (void *)G_DEBUG_GPU_FORCE_WORKAROUNDS); + BLI_argsAdd(ba, 1, NULL, "--debug-exit-on-error", CB(arg_handle_debug_exit_on_error), NULL); BLI_argsAdd(ba, 1, NULL, "--verbose", CB(arg_handle_verbosity_set), NULL); |