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.
This commit is contained in:
Samuel Nicholas
2025-03-05 17:36:27 +10:30
parent 05f5d73876
commit 8b33e73353
2 changed files with 17 additions and 2 deletions

View File

@@ -330,8 +330,17 @@ function(godotcpp_generate)
"$<$<NOT:${THREADS_ENABLED}>:.nothreads>"
)
# People are compiling godot by itself.
set(EXCLUDE EXCLUDE_FROM_ALL)
if(GODOTCPP_IS_TOP_LEVEL)
if(TARGET_ALIAS STREQUAL template_debug)
set(EXCLUDE "")
endif()
endif()
# the godot-cpp.* library targets
add_library(${TARGET_NAME} STATIC EXCLUDE_FROM_ALL)
add_library(${TARGET_NAME} STATIC ${EXCLUDE})
add_library(godot-cpp::${TARGET_ALIAS} ALIAS ${TARGET_NAME})
file(GLOB_RECURSE GODOTCPP_SOURCES LIST_DIRECTORIES NO CONFIGURE_DEPENDS src/*.cpp)