Skip to content

Commit a37226e

Browse files
author
Vano
committed
test project config types, verbose test configfile
1 parent 18aa34d commit a37226e

File tree

3 files changed

+21
-12
lines changed

3 files changed

+21
-12
lines changed

CMakeLists.txt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
# Configuration for building godot-cpp only
2+
# See `tests/CMakeLists.txt` for example configuration
3+
#
14
# Main cmake arguments
25
#
36
# CMAKE_BUILD_TYPE Compilation target (Debug, Release, RelWithDebInfo, MinSizeRel)
47
#
58
# CMAKE_CONFIGURATION_TYPES Set to "Debug;Release;RelWithDebInfo;MinSizeRel"
6-
# if not all needed configurations are created in multi-config generator
7-
# (Setting it in script causes crash on Ninja Multi-Config)
9+
# in top project config or via cmdline (see `test/CMakeLists.txt`)
810
#
911
# TARGET Godot build target (EDITOR, TEMPLATE_DEBUG, TEMPLATE_RELEASE)
1012
#
@@ -31,9 +33,11 @@
3133
# cmake -DTARGET=TEMPLATE_RELEASE -Bbuild
3234
# cmake --build build
3335
#
34-
# Creates multi-config setup and builds Release version (example for Linux)
36+
# Creates multi-config setup and builds Release version
3537
#
36-
# cmake -G "Ninja Multi-Config" -Bbuild
38+
# cmake -G "Ninja Multi-Config" -Bbuild # For Linux/non-MSVC
39+
# OR
40+
# cmake -G "Visual Studio 16 2019" -A x64 -Bbuild # For Windows/MSVC
3741
# cmake --build build --config Release
3842
#
3943
# Builds web version, using Emscripten toolchain

cmake/godotcpp.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ set(DEFAULT_OPTIMIZATION "$<NOT:${DEFAULT_OPTIMIZATION_DEBUG_FEATURES}>")
9494
set(DEBUG_SYMBOLS_ENABLED "$<OR:$<BOOL:${DEBUG_SYMBOLS}>,$<IN_LIST:${CONFIG},${CONFIGS_WITH_DEBUG}>>")
9595

9696
# Clean default options
97-
set(CMAKE_CXX_FLAGS "")
9897
set(CMAKE_CXX_FLAGS_DEBUG "")
9998
set(CMAKE_CXX_FLAGS_RELEASE "")
10099
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "")

test/CMakeLists.txt

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
1+
# Configuration can be used as a template for custom project, read comments
12
cmake_minimum_required(VERSION 3.6)
2-
project(gdexample)
3+
project(gdexample LANGUAGES CXX)
4+
5+
set(CMAKE_CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo;MinSizeRel")
6+
set(GODOT_CPP_PATH ../) # path to godot-cpp repository
37

48
add_subdirectory(
5-
../ # path to godot-cpp
9+
${GODOT_CPP_PATH}
610
${CMAKE_CURRENT_BINARY_DIR}/godot-cpp # needed because godot-cpp is top directory
711
)
812

913
# Get Sources
1014
file(GLOB_RECURSE SOURCES src/*.c**)
11-
file(GLOB_RECURSE HEADERS include/*.h**)
15+
file(GLOB_RECURSE HEADERS src/*.h**)
1216

1317
# Define our godot-cpp library
1418
if(${PLATFORM} STREQUAL "WEB")
@@ -18,6 +22,7 @@ if(${PLATFORM} STREQUAL "WEB")
1822
PROPERTIES
1923
PREFIX "lib"
2024
SUFFIX ".wasm"
25+
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/project/bin"
2126
RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/project/bin"
2227
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/project/bin"
2328
RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/project/bin"
@@ -41,20 +46,21 @@ endif()
4146

4247
target_link_libraries(${PROJECT_NAME} PUBLIC godot-cpp)
4348

44-
get_directory_property(GODOT_CC_FLAGS DIRECTORY ../ DEFINITION GODOT_CC_FLAGS)
45-
get_directory_property(GODOT_CXX_FLAGS DIRECTORY ../ DEFINITION GODOT_CXX_FLAGS)
49+
get_directory_property(GODOT_CC_FLAGS DIRECTORY ${GODOT_CPP_PATH} DEFINITION GODOT_CC_FLAGS)
50+
get_directory_property(GODOT_CXX_FLAGS DIRECTORY ${GODOT_CPP_PATH} DEFINITION GODOT_CXX_FLAGS)
4651
target_compile_options(${PROJECT_NAME} PRIVATE
4752
${GODOT_CC_FLAGS}
4853
${GODOT_CXX_FLAGS}
4954
)
5055

51-
get_directory_property(GODOT_LINK_FLAGS DIRECTORY ../ DEFINITION GODOT_LINK_FLAGS)
56+
get_directory_property(GODOT_LINK_FLAGS DIRECTORY ${GODOT_CPP_PATH} DEFINITION GODOT_LINK_FLAGS)
5257
target_link_options(${PROJECT_NAME} PRIVATE ${GODOT_LINK_FLAGS})
5358

5459

55-
get_directory_property(LIBRARY_SUFFIX DIRECTORY ../ DEFINITION LIBRARY_SUFFIX)
60+
get_directory_property(LIBRARY_SUFFIX DIRECTORY ${GODOT_CPP_PATH} DEFINITION LIBRARY_SUFFIX)
5661
set_target_properties(${PROJECT_NAME}
5762
PROPERTIES
63+
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/project/bin"
5864
LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/project/bin"
5965
LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/project/bin"
6066
LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/project/bin"

0 commit comments

Comments
 (0)