| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- cmake_minimum_required (VERSION 3.12.0)
- project (Banshee3D)
- set (BSF_DIRECTORY ${PROJECT_SOURCE_DIR}/Source/bsf)
- set (BSF_SOURCE_DIR ${BSF_DIRECTORY}/Source)
- set (APP_ROOT_DIR ${PROJECT_SOURCE_DIR})
- set (BS_IS_BANSHEE3D 1)
- # Version
- set (BS_B3D_VERSION_MAJOR 0)
- set (BS_B3D_VERSION_MINOR 5)
- set (BS_B3D_VERSION_PATCH 0)
- set (BS_B3D_CURRENT_RELEASE_YEAR 2019)
- # Grab BSF
- find_path(SUBMODULE_SOURCES "Source/Foundation/bsfEngine/BsApplication.h" "Source/bsf/")
- if(NOT SUBMODULE_SOURCES)
- execute_process(COMMAND git submodule update
- --init
- -- Source/bsf
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
- else()
- execute_process(COMMAND git submodule update
- -- Source/bsf
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
- endif()
- mark_as_advanced(SUBMODULE_SOURCES)
- include(${BSF_SOURCE_DIR}/CMake/Properties.cmake)
- include(${BSF_SOURCE_DIR}/CMake/FindPackageOrBuild.cmake)
- include(${BSF_SOURCE_DIR}/CMake/HelperMethods.cmake)
- add_subdirectory(${BSF_SOURCE_DIR})
- set (BS_PREBUILT_DEPENDENCIES_VERSION 24)
- set (BS_SRC_DEPENDENCIES_VERSION 15)
- set (BS_BUILTIN_ASSETS_VERSION 17)
- # Options
- 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.")
- # Ensure dependencies are up to date
- ## Check data dependencies
- check_and_update_builtin_assets(Banshee ${PROJECT_SOURCE_DIR}/Data/Raw Raw ${BS_BUILTIN_ASSETS_VERSION} NO)
-
- ## Import built-in assets
- if(${INCLUDE_ASSET_PACKAGING_SCRIPTS})
- add_run_asset_import_target(EditorBuiltinAssets ${PROJECT_SOURCE_DIR}/Data ${BSF_SOURCE_DIR}/.. "--editor")
- add_upload_assets_target(EditorBuiltinAssets "BansheeCompiledData_Master" ${PROJECT_SOURCE_DIR}/Data Raw/DataPackageContents.txt)
- endif()
- ## Fetch built-in assets
- 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)
-
- # Sub-directories
- add_subdirectory(Source/EditorCore)
- ## Script interop
- add_subdirectory(Source/EditorScript)
- add_subdirectory(Source/EditorManaged)
- ## Executables
- add_subdirectory(Source/Banshee3D)
- add_subdirectory(Source/Game)
- ## Managed project dependencies
- add_dependencies(Banshee3D MBansheeEngine MBansheeEditor)
- add_dependencies(Game MBansheeEngine)
- if(MSVC)
- set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Banshee3D)
- endif()
- ## Install
- install(
- DIRECTORY Data/
- DESTINATION EditorData
- PATTERN "Data/Raw" EXCLUDE
- PATTERN ".version" EXCLUDE
- PATTERN ".reqversion" EXCLUDE
- PATTERN "Settings.asset" EXCLUDE
- )
|