cmake_minimum_required(VERSION 3.0) SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE) project(CMGameEngine) set_property(GLOBAL PROPERTY USE_FOLDERS ON) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMCMakeModule) include(vulkan) include(math) use_mgl(${CMAKE_CURRENT_SOURCE_DIR}/MathGeoLib) include(use_cm_module) use_cm_module(Core) use_cm_module(Platform) use_cm_module(2D) use_cm_module(Util) use_cm_module(AssetsManage) use_cm_module(SceneGraph) CMUtilSetup(${CMAKE_CURRENT_SOURCE_DIR}/CMUtil) OPTION(CM_BUILD_TOOLS OFF) if(CM_BUILD_TOOLS) OPTION(CM_BUILD_GUI_TOOLS OFF) IF(CM_BUILD_GUI_TOOLS) include(QtCommon) ENDIF() if(WIN32) include_directories("TexConv/DevIL Windows SDK/include") link_directories("TexConv/DevIL Windows SDK/lib/x64/unicode/Release") endif(WIN32) set(TEX_CONV_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/TexConv) add_subdirectory(TexConv) add_subdirectory(ShaderMaker) add_subdirectory(MeshConv) endif(CM_BUILD_TOOLS) OPTION(CM_BUILD_EXAMPLES OFF) if(CM_BUILD_EXAMPLES) add_subdirectory(Examples) endif(CM_BUILD_EXAMPLES)