71 Commits

Author SHA1 Message Date
David Snopek
d7b6162249 Merge pull request #2034 from dsnopek/require-api-version
Require 'api_version' and allow extensions to provide a default
2026-08-11 17:28:52 -05:00
David Snopek
d15d0c8f2b Merge pull request #2023 from Togira123/hook-mvp-v2
[Feature] Hook System for Binding Generation
2026-08-11 15:11:51 -05:00
David Snopek
9d050a9433 Require 'api_version' and allow extensions to provide a default 2026-07-30 10:42:01 -05:00
Togira
4027147905 Add hook system for binding generation 2026-07-29 23:40:28 +02:00
Lukas Tenbrink
5a0945e4c9 Sync defs.hpp with godot upstream. 2026-07-05 00:58:23 +02:00
Angais
8f419fdf40 Update CMake API version to 4.7 2026-06-28 02:08:32 +02:00
David Snopek
7e316302f7 Merge pull request #1921 from foxandfeature/fix-cross-compile-arch
improve architecture detection for cross-compilation
2026-06-04 13:25:01 -05:00
David Snopek
34142eaa23 Merge pull request #1977 from van800/shakhov/natvis
Add godot-cpp.natvis debug visualizers
2026-06-04 11:02:32 -05:00
Ivan Shakhov
a84a9160b3 Add godot-cpp.natvis debug visualizers
Co-authored-by: Yuri Dolukhanyan <yuri.dolukhanyan@jetbrains.com>
2026-06-04 08:05:42 +02:00
David Snopek
6a4a323194 Require hot reload to be explicitly enabled 2026-05-30 08:28:20 -05:00
dalmurii
d32932d27f FIX: separated situation of building/installing on target_include_directories on cmake
SEE:	https://github.com/godotengine/godot-cpp/pull/1966

 Changes to be committed:
	- modified:   cmake/godotcpp.cmake
2026-04-08 23:44:06 +09:00
foxandfeature
d0daae234a Fix MSVC arch detection for cross-compiling 2026-02-07 11:21:30 +01:00
foxandfeature
9ae5fc475a Fix passing multiple XML doc sources to generate_doc_source 2026-01-31 19:05:35 +01:00
David Snopek
ce18d99cb0 Add back support for Godot 4.3 2026-01-15 06:45:44 -06:00
David Snopek
c90f436694 Add back support for Godot 4.4 2026-01-06 10:06:13 -06:00
David Snopek
2f1695afe2 Add api_version build option to select the API JSON file 2026-01-06 07:47:07 -06:00
David Snopek
fe68c22c3e Generate GDExtension interface header and loader from JSON 2025-12-18 12:09:41 -06:00
David Snopek
ee2a174746 Merge pull request #1880 from guillaumeriousat/make-noexcept-flag-private
CMake: Make -fno-exceptions private
2025-11-30 06:05:14 -06:00
David Snopek
f47a4d5400 Merge pull request #1869 from enetheru/issue-1830
CMake: Fix missing -sUSE_PTHREADS=1 in web build
2025-11-26 05:05:24 -06:00
Guillaume Riou
7d114d8d28 make -fno-exceptions private 2025-11-12 15:17:23 -05:00
David Snopek
d033e8abea On Linux default use_static_cpp to disabled 2025-11-01 08:31:46 -05:00
Samuel Nicholas
42b03da2b1 CMake: Fix missing -sUSE_PTHREADS=1 in web build
- add -sUSE_PTHREADS=1 to link flags
- add =1 to sSIDE_MODULE=1 in compile flags to match scons.
2025-10-20 08:25:55 +10:30
Lukas Tenbrink
c7873e1355 Migrate cmake docs to the godot docs. 2025-10-05 11:10:29 +02:00
David Snopek
449e37fa21 Merge pull request #1814 from enetheru/suffix.fix
CMake: Remove starting `.` from GODOTCPP_SUFFIX
2025-08-21 08:45:26 -05:00
Pāvels Nadtočajevs
8646cd31b5 Sync Android SDK and NDK versions with the engine. 2025-08-06 22:48:13 +03:00
Samuel Nicholas
b64b941adf CMake: Add GODOTCPP_SUFFIX_GENEX variable
This is the same as GODOTCPP_SUFFIX but without the leading '.'
GODOTCPP_SUFFIX is  then based on the above.
2025-07-11 11:30:34 +09:30
David Snopek
86e32cef4a Merge pull request #1786 from marcmarmir/CMake-message-improvement
Fix: Add STATUS to CMake message commands missing them
2025-06-10 07:02:37 -05:00
marcin.mirski
0c2e66e414 Improve CMAKE_BUILD_PARALLEL_LEVEL message 2025-06-05 11:48:03 -07:00
marcin.mirski
8eac097c37 Fix: Add STATUS to CMake message commands missing them 2025-06-04 16:54:45 -07:00
Dyllan Cole
4824aa41e8 Fix incorrect binding_generator_generate_bindings variable names 2025-05-31 19:23:50 -04:00
Samuel Nicholas
b195a51c6c Match #1758 build option changes
d634a5f8c4 (diff-e2225522e55739f1533a3ce9eee58324ac9c192c8ba30065067964347d22fdacL471)
2025-04-17 08:46:58 +09:30
Samuel Nicholas
b6c0251296 CMake: Update CI
- Duplicated the ci.yml into ci-scons.yml and ci-cmake.yml
- Replaced some manual shell commands to detect changes with  tj-actions/changed-files@v45
- Conditionally run the CI depending on what files change.
- Add ios toolchain from leetal/ios-cmake
- Added a cmake-minimum of 3.10 to silence errors from ios toolchain
2025-04-05 13:31:52 +10:30
David Snopek
c2d688bae6 Merge pull request #1747 from unvermuthet/linux-use-static-cpp
Implement `use_static_cpp` flag for Linux
2025-04-02 12:59:04 -05:00
unvermuthet
b0f41909e0 Implement use_static_cpp flag for Linux 2025-04-01 22:35:40 +02:00
Pāvels Nadtočajevs
d239da3221 [macOS] Remove unnecessary Cocoa reference. 2025-03-28 08:45:43 +02:00
David Snopek
67ca2fbbad Merge pull request #1740 from enetheru/privatise
CMake: public/private flags
2025-03-14 09:20:46 -05:00
Samuel Nicholas
5eb16d0c5b CMake: public/private flags
Made all warnings private.
Warning as error private
Consistency in  generator expressions
2025-03-14 11:11:15 +10:30
Samuel Nicholas
f83f364144 CMake: XCode dependency chain fixes - remastered
When attempting to generate XCode projects it would fail due to the target dependency chain not meeting expectations.

This PR, adds the required dependency infomation so that the XCode generator works.
2025-03-14 10:10:33 +10:30
David Snopek
9f02db1eb8 Merge pull request #1733 from enetheru/single_target_test
CMake: Revert to single cmake target
2025-03-13 11:42:15 -05:00
Samuel Nicholas
89abe15268 CMake: Target as configuration option
Add GODOTCPP_TARGET configuration option
Remove loop to generate the godot-cpp.<target> CMake Targets

Rename test bindings target
Update documentation
2025-03-12 08:58:59 +10:30
ytnuf
43690cb60b Remove unnecessary forced -fno-exceptions for web builds
The SCons build doesn't do this, so neither should CMake
Excpetions are already handled by DISABLE_EXCEPTIONS option
2025-03-10 13:33:56 +00:00
David Snopek
a3f89217df Merge pull request #1723 from enetheru/comments
CMake: Comment Cleanup
2025-03-06 08:21:53 -06:00
Samuel Nicholas
8b33e73353 CMake: default target when godot-cpp is top level
People seem to want to build godot-cpp without any arguments, not even specifying a target.

We have to detect if we are top level though because it conflicts with being consumed.
2025-03-07 00:04:36 +10:30
Samuel Nicholas
671e309cfa Updating commenting to be consistent 2025-03-06 23:57:02 +10:30
Samuel Nicholas
2f6d7f2dad add gersemi to pre-commit hooks for CMake formatting like black 2025-03-04 13:58:39 +10:30
Samuel Nicholas
d0dd282d73 CMake: Rename all GODOT_ to GODOTCPP_
This is for discussion primarily at this stage.
2025-03-01 10:50:55 +10:30
Samuel Nicholas
e7f07dab87 CMake: Add generate_bindings custom target
I was working on something today and wanted to just generate the bindings separately to compilation.

This PR adds a custom target to do just that.
2025-02-26 23:02:59 +10:30
Samuel Nicholas
23c24073f4 CMake: Create destination folder for doc_source.cpp generation
When compiling using 'MinGW Makefiles' the folders aren't created automatically.
2025-02-18 07:11:53 +10:30
David Snopek
79f9bc9600 Merge pull request #1708 from enetheru/arch_confusion
CMake: Fix unknown architecture and simplify OSX_ARCHITECTURES
2025-02-17 11:04:34 -06:00
David Snopek
3f54a86554 Merge pull request #1707 from enetheru/cmake_module
CMake: GodotCPPModule.cmake
2025-02-17 11:04:25 -06:00