-
Notifications
You must be signed in to change notification settings - Fork 128
ares Build Options
When generating/configuring ares on any platform, a number of configuration options are available.
- Primary Configuration - General ares configuration
- Compilation - Options that control build optimizations and compiler configuration
- Linux-specific Packaging - Options specific Linux build configurations
- Miscellaneous - Debugging, experimental features, advanced options
- Useful CMake Options - Other non-ares-specific CMake variables that may be useful
Default: "a26;fc;sfc;sg;ms;md;ps1;pce;ng;msx;cv;myvision;gb;gba;ws;ngp;spec;n64"
By default, ares configures with all emulator cores. To specify that only a subset of cores should be built, use the -DARES_CORES
option. For example:
cmake .. -G Ninja -DARES_CORES="a26;n64;sg;myvision"
Default: RelWithDebInfo
Multi-configuration generators (Xcode, Visual Studio, Ninja Multi-Config) will automatically configure with all build configurations available. Single-configuration generators will configure by default using the RelWithDebInfo
configuration. To specify another configuration, use -DCMAKE_BUILD_TYPE
:
cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug
Supported build types are <Debug|Release|RelWithDebInfo|MinSizeRel>
.
Default: ON
This flag may be disabled if you wish to compile without librashader and slang-shaders, producing a slimmer build. Note that the librashader header is still required to build without librashader; however, this header is bundled as a dependency on all platforms and it should not be necessary to install any dependency to build without librashader.
These options generally control compile optimizations and options that affect compiler performance and behavior.
Variable | Description | Default | OS |
---|---|---|---|
ARES_BUILD_LOCAL | Controls the -march=native option for producing more optimized code for the target machine. Also controls certain entitlements and runtime options on macOS that interfere with debugging but are required for notarization and distribution. |
ON |
All |
ENABLE_CCACHE | Sets whether to use Ccache to speed up compilation. Disabling Ccache is recommended if you are experimenting with compilation options or working on the build system. | ON |
All |
ENABLE_IPO | Controls whether CMake's interprocedural optimization (LTO) is enabled. | ON |
All |
ARES_PRECOMPILE_HEADERS | Controls whether to precompile headers to reduce compile times. Turn off if you encounter compile issues. | ON |
All |
ARES_CODESIGN_TEAM | Apple Development Team ID for producing signed builds on macOS | - | macOS |
ARES_CODESIGN_IDENTITY | Apple Development identity string for producing signed builds on macOS | - | macOS |
ENABLE_COMPILER_TRACE | Enable clang compiler traces for debugging compiler performance | - | All |
CMAKE_OSX_DEPLOYMENT_TARGET | Minimum version of macOS that you wish to build for | "10.13" | macOS |
CMAKE_OSX_ARCHITECTURES | Controls whether single-arch or universal binaries are built on macOS | Host | macOS |
Default: ON
Set to OFF
to not install
libretro shaders with ares in the ares data directory. Intended for use with package manager installs of libretro's slang-shaders.
Default: OFF
For use by package maintainers; instructs CMake to not fetch prebuilt ares-deps containing the librashader header file and the libretro slang-shaders
shaders.
These options control whether ares will search for and attempt to build with the following ruby audio and input drivers.
Variable | Description | Default | OS |
---|---|---|---|
ARES_ENABLE_OPENAL | Enables the OpenAL audio driver | ON |
Linux |
ARES_ENABLE_SDL | Enables the SDL audio and input drivers | ON |
Linux |
ARES_ENABLE_OSS | Enables the OSS audio driver | ON |
Linux |
ARES_ENABLE_ALSA | Enables the ALSA audio driver | ON |
Linux |
ARES_ENABLE_PULSEAUDIO | Enables the Pulse and Pulse-Simple audio drivers | ON |
Linux |
ARES_ENABLE_AO | Enables the AO audio driver | ON |
Linux |
ARES_ENABLE_UDEV | Enables the udev input driver | ON |
Linux |
ARES_ENABLE_UHID | Enables the uhid input driver | ON |
Linux |
Variable | Description | Default | OS |
---|---|---|---|
ARES_BUILD_OPTIONAL_TARGETS | Whether to include executable targets besides desktop-ui and sourcery in the build: Includes mia-ui genius , mame2bml and the i8080 test suite. |
OFF |
All |
CCACHE_PROGRAM | Point CMake toward a specific Ccache installation location | ON |
All |
ARES_SKIP_DEPS | Skip downloading precompiled dependencies from ares-deps . This is NOT intended for general use, but is included for debugging purposes. |
ON |
All |
<DEPENDENCY>_LIBRARY | Point CMake toward a specific library location for a dependency. This is NOT intended for general use, but is included for debugging. If you need to use this option, you should file a bug report. | ON |
All |
<DEPENDENCY>_INCLUDE_DIR | Point CMake toward a specific library include directory. This is NOT intended for general use, but is included for debugging. If you need to use this option, you should file a bug report. | ON |
All |
WITH_SYSTEM_ZLIB | Try to use a system-installed zlib when compiling libchdr | OFF |
All |
USE_QT5 | Try to build with QT5 on Linux instead of GTK3 | OFF |
Linux |
ARES_VERSION_OVERRIDE | Define a custom ares version when building. | - | All |
ARES_PROFILE_ACCURACY | Mostly unused in modern versions of ares; acts as a compile-time switch to prefer accuracy over performance in certain areas in some emulator cores. | OFF |
ALL |
Variable | Description | Default | OS |
---|---|---|---|
CMAKE_C_COMPILER | Specify a non-default C compiler for the build. Works with Ccache. | Default | All |
CMAKE_CXX_COMPILER | Specify a non-default C++ compiler for the build. Works with Ccache. | Default | All |
CMAKE_PREFIX_PATH | Specify directories in which to search for dependencies in addition to the defaults. | Default | All |
CMAKE_INSTALL_PREFIX | Specify a prefix in which to install ares after building. | Default | All |