mirror of
https://github.com/godotengine/godot-cpp.git
synced 2026-01-01 05:48:37 +03:00
- Added to .gitignore CMakeUserPresets.json
### Configuration:
- Changed python command to use single quotes to make build output log more legible.
- Added GODOT_DEV_BUILD to allow differentiation of debug or Release builds.
- Added find logic for macos Cocoa library
### godot-cpp Changes
- godot-cpp-test is changed to be incorporated into the cmake build as a target.
- Duplicated godot-cpp target into [template_release, template_debug, editor]
- Created {platform}.cmake files mirroring the style of the SCons build.
CMake has a feature called generator expressions for its configuration variables that are evaluated at build time. This allows multi-configuration build systems to properly evaulate options. for msvc, xcode and nijna multi-config.
- Moved configuration options to generator expressions with the notable exclusion of OSX_ARCHITECTURES.
- Remove CMAKE_BUILD_TYPE from msvc CI target as Multi-Config generators ignore it
### godot-cpp-test Changes
- Removed majority of the cmake code, now that the godot-cpp project is setup, the majority of the flags will be propagated as transient dependencies
- Marked with EXCLUDE_FROM_ALL so that it isn't built as part of the 'all' target
- Updated ci to build the godot-cpp-test target from the root directory using cmake
- Tests passing for Windows, Linux, and Macos builds.
### Documentation
Updated with new information
Added Emscripten example
Added Android example
42 lines
1.2 KiB
CMake
42 lines
1.2 KiB
CMake
#[=======================================================================[.rst:
|
|
Android
|
|
-------
|
|
|
|
This file contains functions for options and configuration for targeting the
|
|
Android platform
|
|
|
|
Configuration of the Android toolchain is done using toolchain files,
|
|
CMakePresets, or variables on the command line.
|
|
|
|
The `Android SDK`_ provides toolchain files to help with configuration.
|
|
|
|
CMake has its own `built-in support`_ for cross compiling to the
|
|
Android platforms.
|
|
|
|
.. warning::
|
|
|
|
Android does not support or test the CMake built-in workflow, recommend
|
|
using their toolchain file.
|
|
|
|
.. _Android SDK:https://developer.android.com/ndk/guides/cmake
|
|
|
|
.. _built-in support:https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-for-android
|
|
|
|
There is further information and examples in the doc/cmake.rst file.
|
|
|
|
]=======================================================================]
|
|
function( android_options )
|
|
# Android Options
|
|
endfunction()
|
|
|
|
function( android_generate TARGET_NAME )
|
|
|
|
target_compile_definitions(${TARGET_NAME}
|
|
PUBLIC
|
|
ANDROID_ENABLED
|
|
UNIX_ENABLED
|
|
)
|
|
|
|
common_compiler_flags( ${TARGET_NAME} )
|
|
endfunction()
|