
#pragma once

#ifndef ON
#define ON 1
#endif

#ifndef OFF
#define OFF 0
#endif

#define OBS_VERSION "@OBS_VERSION@"
#define OBS_VERSION_CANONICAL "@OBS_VERSION_CANONICAL@"
#define OBS_DATA_PATH "@OBS_DATA_PATH@"
#define OBS_INSTALL_PREFIX "@OBS_INSTALL_PREFIX@"
#define OBS_PLUGIN_DESTINATION "@OBS_PLUGIN_DESTINATION@"
#define OBS_QT_VERSION @_QT_VERSION@

#cmakedefine OBS_COMMIT "@OBS_COMMIT@"
#cmakedefine LINUX_PORTABLE
#cmakedefine GIO_FOUND
#cmakedefine PULSEAUDIO_FOUND
#cmakedefine XCB_XINPUT_FOUND
#cmakedefine ENABLE_WAYLAND

/* NOTE: Release candidate version numbers internally are always the previous
 * main release number!  For example, if the current public release is 21.0 and
 * the build is 22.0 release candidate 1, internally the build number (defined
 * by LIBOBS_API_VER/etc) will always be 21.0, despite the OBS_VERSION string
 * saying "22.0 RC1".
 *
 * If the release candidate version number is 0.0.0 and the RC number is 0,
 * that means it's not a release candidate build. */
#define OBS_RELEASE_CANDIDATE_MAJOR @OBS_RELEASE_CANDIDATE_MAJOR@
#define OBS_RELEASE_CANDIDATE_MINOR @OBS_RELEASE_CANDIDATE_MINOR@
#define OBS_RELEASE_CANDIDATE_PATCH @OBS_RELEASE_CANDIDATE_PATCH@
#define OBS_RELEASE_CANDIDATE_VER \
	MAKE_SEMANTIC_VERSION(OBS_RELEASE_CANDIDATE_MAJOR, \
	                      OBS_RELEASE_CANDIDATE_MINOR, \
	                      OBS_RELEASE_CANDIDATE_PATCH)
#define OBS_RELEASE_CANDIDATE @OBS_RELEASE_CANDIDATE@

/* Same thing for beta builds */
#define OBS_BETA_MAJOR @OBS_BETA_MAJOR@
#define OBS_BETA_MINOR @OBS_BETA_MINOR@
#define OBS_BETA_PATCH @OBS_BETA_PATCH@
#define OBS_BETA_VER \
	MAKE_SEMANTIC_VERSION(OBS_BETA_MAJOR, \
	                      OBS_BETA_MINOR, \
	                      OBS_BETA_PATCH)
#define OBS_BETA @OBS_BETA@
