mirror of
https://github.com/godotengine/godot-cpp.git
synced 2026-01-01 05:48:37 +03:00
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.
(cherry picked from commit 8b33e73353)
This commit is contained in:
committed by
David Snopek
parent
4b5d800596
commit
5ba2d9c9f6
@@ -40,11 +40,17 @@ For example; the tools/godotcpp.py is matched by the cmake/godotcpp.cmake file
|
||||
|
||||
The CMake equivalent is below.
|
||||
]=======================================================================]
|
||||
|
||||
include(cmake/godotcpp.cmake)
|
||||
|
||||
godotcpp_options()
|
||||
|
||||
#[[ People are compiling godot by itself and expecting template_debug
|
||||
Replace this with PROJECT_IS_TOP_LEVEL, <PROJECT-NAME>_IS_TOP_LEVEL when minimum reaches 3.21
|
||||
]]
|
||||
if(NOT PROJECT_NAME)
|
||||
set(GODOTCPP_IS_TOP_LEVEL ON)
|
||||
endif()
|
||||
|
||||
# Define our project.
|
||||
project(
|
||||
godot-cpp
|
||||
|
||||
@@ -325,8 +325,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)
|
||||
|
||||
Reference in New Issue
Block a user