|
|
@@ -31,12 +31,9 @@ set (BS_SRC_DEPENDENCIES_VERSION 15)
|
|
|
set (BS_BUILTIN_ASSETS_VERSION 14)
|
|
|
|
|
|
# Options
|
|
|
-set(GENERATE_SCRIPT_BINDINGS OFF CACHE BOOL "If true, script binding files will be generated. Script bindings are required for the project to build properly, however they take a while to generate. If you are sure the script bindings are up to date, you can turn off their generation (temporarily) to speed up the build.")
|
|
|
+set(SCRIPT_BINDING_GENERATION OFF CACHE BOOL "If true, script binding generation will be supported through a specialized build target. Enable this if you plan on modifying the scripting API. Requires the SBGen tool dependency. Only relevant if you have selected a SCRIPT_API other than \"None\".")
|
|
|
|
|
|
# Ensure dependencies are up to date
|
|
|
-## Check prebuilt dependencies that are downloaded in a .zip
|
|
|
-check_and_update_binary_deps(Banshee ${PROJECT_SOURCE_DIR}/Dependencies/ ${BS_PREBUILT_DEPENDENCIES_VERSION})
|
|
|
-
|
|
|
## Check data dependencies
|
|
|
check_and_update_builtin_assets(Banshee ${PROJECT_SOURCE_DIR}/Data/Raw Raw ${BS_BUILTIN_ASSETS_VERSION} NO)
|
|
|
|
|
|
@@ -51,56 +48,21 @@ set(BANSHEE_COMPILED_ASSETS_VERSION_FILE ${PROJECT_SOURCE_DIR}/Data/.reqversion)
|
|
|
file (STRINGS ${BANSHEE_COMPILED_ASSETS_VERSION_FILE} BANSHEE_COMPILED_ASSETS_VERSION)
|
|
|
check_and_update_builtin_assets(BansheeCompiled ${PROJECT_SOURCE_DIR}/Data Data ${BANSHEE_COMPILED_ASSETS_VERSION} NO)
|
|
|
|
|
|
-# Generate script bindings
|
|
|
-include(${BSF_SOURCE_DIR}/CMake/GenerateScriptBindings.cmake)
|
|
|
-
|
|
|
# Sub-directories
|
|
|
add_subdirectory(Source/EditorCore)
|
|
|
|
|
|
## Script interop
|
|
|
-add_subdirectory(${BSF_SOURCE_DIR}/Plugins/bsfMono)
|
|
|
-add_subdirectory(Source/Scripting/SBansheeEngine)
|
|
|
-add_subdirectory(Source/Scripting/SBansheeEditor)
|
|
|
+add_subdirectory(Source/EditorScript)
|
|
|
+add_subdirectory(Source/EditorManaged)
|
|
|
|
|
|
## Executables
|
|
|
add_subdirectory(Source/Banshee3D)
|
|
|
add_subdirectory(Source/Game)
|
|
|
|
|
|
-## Managed projects
|
|
|
-set(CS_ENGINE_PROJ ${PROJECT_SOURCE_DIR}/Source/Scripting/MBansheeEngine/MBansheeEngine.csproj)
|
|
|
-set(CS_EDITOR_PROJ ${PROJECT_SOURCE_DIR}/Source/Scripting/MBansheeEditor/MBansheeEditor.csproj)
|
|
|
+## Managed project dependencies
|
|
|
+add_dependencies(Banshee3D MBansheeEngine MBansheeEditor)
|
|
|
+add_dependencies(Game MBansheeEngine)
|
|
|
|
|
|
if(MSVC)
|
|
|
- include_external_msproject(MBansheeEngine ${CS_ENGINE_PROJ})
|
|
|
- include_external_msproject(MBansheeEditor ${CS_EDITOR_PROJ})
|
|
|
-
|
|
|
- set_target_properties(MBansheeEngine PROPERTIES
|
|
|
- MAP_IMPORTED_CONFIG_RELEASE OptimizedDebug
|
|
|
- )
|
|
|
- set_target_properties(MBansheeEditor PROPERTIES
|
|
|
- MAP_IMPORTED_CONFIG_RELEASE OptimizedDebug
|
|
|
- )
|
|
|
-
|
|
|
- set_property(TARGET MBansheeEngine PROPERTY FOLDER Script)
|
|
|
- set_property(TARGET MBansheeEditor PROPERTY FOLDER Script)
|
|
|
-
|
|
|
- add_dependencies(Banshee3D MBansheeEngine MBansheeEditor)
|
|
|
- add_dependencies(Game MBansheeEngine)
|
|
|
-
|
|
|
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Banshee3D)
|
|
|
-else()
|
|
|
- find_package(mcs)
|
|
|
-
|
|
|
- if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
|
|
- set(CS_PROJ_CONFIG Debug)
|
|
|
- else()
|
|
|
- set(CS_PROJ_CONFIG Release)
|
|
|
- endif()
|
|
|
-
|
|
|
- add_custom_target(BuildManaged
|
|
|
- COMMAND xbuild /p:Configuration=${CS_PROJ_CONFIG} ${CS_EDITOR_PROJ}
|
|
|
- COMMENT "Building managed assemblies")
|
|
|
-
|
|
|
- add_dependencies(Banshee3D BuildManaged)
|
|
|
- add_dependencies(Game BuildManaged)
|
|
|
endif()
|