Blender V4.3
creator_intern.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
14struct bArgs;
15struct bContext;
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21#ifndef WITH_PYTHON_MODULE
22
23/* `creator_args.cc` */
24
30void main_args_setup(struct bContext *C, struct bArgs *ba, bool all);
35int main_args_handle_load_file(int argc, const char **argv, void *data);
36
43
44/* `creator_signals.cc` */
45
46void main_signal_setup(void);
48void main_signal_setup_fpe(void);
49
50#endif /* !WITH_PYTHON_MODULE */
51
54 struct {
58
59 /* We may want to set different exit codes for other kinds of errors. */
60 struct {
61 unsigned char python;
63
66};
67
68extern struct ApplicationState app_state; /* `creator.cc` */
69
74enum {
83
91};
92
93/* for the callbacks: */
94#ifndef WITH_PYTHON_MODULE
95# define BLEND_VERSION_FMT "Blender %d.%d.%d"
96# define BLEND_VERSION_ARG (BLENDER_VERSION / 100), (BLENDER_VERSION % 100), BLENDER_VERSION_PATCH
97#endif
98
99#ifdef WITH_BUILDINFO_HEADER
100# define BUILD_DATE
101#endif
102
103/* From `buildinfo.c`. */
104#ifdef BUILD_DATE
105extern char build_date[];
106extern char build_time[];
107extern char build_hash[];
108extern unsigned long build_commit_timestamp;
109
110/* TODO(@sergey): ideally size need to be in sync with `buildinfo.c`. */
111extern char build_commit_date[16];
112extern char build_commit_time[16];
113
114extern char build_branch[];
115extern char build_platform[];
116extern char build_type[];
117extern char build_cflags[];
118extern char build_cxxflags[];
119extern char build_linkflags[];
120extern char build_system[];
121#endif /* BUILD_DATE */
122
123#ifdef __cplusplus
124}
125#endif
char build_commit_date[16]
Definition bpy_app.cc:66
char build_date[]
Definition bpy_app.cc:63
char build_platform[]
Definition bpy_app.cc:70
char build_linkflags[]
Definition bpy_app.cc:74
void main_signal_setup_background(void)
char build_cflags[]
Definition bpy_app.cc:72
@ ARG_PASS_ENVIRONMENT
@ ARG_PASS_SETTINGS_FORCE
@ ARG_PASS_SETTINGS_GUI
@ ARG_PASS_FINAL
@ ARG_PASS_SETTINGS
void main_arg_deferred_free()
char build_time[]
Definition bpy_app.cc:64
struct ApplicationState app_state
Definition creator.cc:116
char build_system[]
Definition bpy_app.cc:75
int main_args_handle_load_file(int argc, const char **argv, void *data)
void main_signal_setup_fpe(void)
char build_branch[]
Definition bpy_app.cc:69
char build_type[]
Definition bpy_app.cc:71
void main_signal_setup(void)
char build_commit_time[16]
Definition bpy_app.cc:67
unsigned long build_commit_timestamp
Definition bpy_app.cc:65
int main_arg_deferred_handle()
void main_args_setup(struct bContext *C, struct bArgs *ba, bool all)
char build_hash[]
char build_cxxflags[]
Definition bpy_app.cc:73
struct ApplicationState::@1407 signal
struct BA_ArgCallback_Deferred * main_arg_deferred
unsigned char python
struct ApplicationState::@1408 exit_code_on_error