2019-05-27 15:15:39 +08:00
|
|
|
cmake_minimum_required(VERSION 3.0)
|
2018-11-26 20:22:19 +08:00
|
|
|
|
2018-11-27 14:30:52 +08:00
|
|
|
PROJECT(ULRE)
|
2018-11-26 20:22:19 +08:00
|
|
|
|
2019-08-19 11:50:23 +08:00
|
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
|
|
|
2019-08-22 11:39:21 +08:00
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMCMakeModule)
|
2018-11-26 20:22:19 +08:00
|
|
|
|
2019-08-22 11:39:21 +08:00
|
|
|
include(math)
|
|
|
|
use_mgl(${CMAKE_CURRENT_SOURCE_DIR}/3rdpty/MathGeoLib)
|
|
|
|
|
|
|
|
include(use_cm_module)
|
|
|
|
use_cm_module(Core)
|
2018-11-26 20:22:19 +08:00
|
|
|
|
2019-08-22 11:39:21 +08:00
|
|
|
include(FindVulkan)
|
2018-12-05 21:08:18 +08:00
|
|
|
|
2019-04-30 17:32:50 +08:00
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|
|
|
add_definitions(-DVK_USE_PLATFORM_WIN32_KHR -DWIN32_LEAN_AND_MEAN)
|
|
|
|
|
2019-04-09 02:33:15 +08:00
|
|
|
include_directories(${Vulkan_INCLUDE_DIRS})
|
2019-04-30 16:42:59 +08:00
|
|
|
|
2019-06-03 22:32:18 +08:00
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/3rdpty/jsoncpp/include)
|
|
|
|
add_subdirectory(3rdpty/jsoncpp)
|
2019-04-30 17:32:50 +08:00
|
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
|
|
|
add_definitions(-DVK_USE_PLATFORM_ANDROID_KHR)
|
|
|
|
elseif(UNIX)
|
|
|
|
add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
|
2019-04-30 16:42:59 +08:00
|
|
|
SET(RENDER_LIBRARY xcb)
|
2019-04-30 17:32:50 +08:00
|
|
|
else()
|
|
|
|
message(FATAL_ERROR "Unsupported Platform!")
|
2018-11-30 17:25:58 +08:00
|
|
|
ENDIF()
|
|
|
|
|
2019-08-22 11:39:21 +08:00
|
|
|
SET(ULRE CMCore
|
2019-06-03 22:32:18 +08:00
|
|
|
ULRE.Util
|
2019-08-12 20:26:12 +08:00
|
|
|
ULRE.Shader
|
2019-05-30 19:24:31 +08:00
|
|
|
ULRE.RenderDevice.Vulkan
|
|
|
|
ULRE.SceneGraph
|
|
|
|
ULRE.Platform
|
|
|
|
MathGeoLib
|
|
|
|
spirv-cross-core
|
2019-08-12 20:26:12 +08:00
|
|
|
SPIRV
|
2019-08-19 10:32:25 +08:00
|
|
|
glslang
|
2019-06-03 22:32:18 +08:00
|
|
|
jsoncpp_lib
|
2019-05-30 19:24:31 +08:00
|
|
|
${RENDER_LIBRARY}
|
|
|
|
${Vulkan_LIBRARIES})
|
|
|
|
|
2019-07-10 18:04:50 +08:00
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/3rdpty/assimp/include)
|
2019-04-29 17:17:31 +08:00
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/3rdpty/NvTriStrip)
|
2019-03-22 23:04:14 +08:00
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc)
|
|
|
|
|
|
|
|
SET(ROOT_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/inc)
|
2019-07-10 18:04:50 +08:00
|
|
|
SET(SPIRV_CROSS_PATH ${CMAKE_CURRENT_SOURCE_DIR}/3rdpty/SPIRV-Cross)
|
2018-11-27 15:43:32 +08:00
|
|
|
|
2019-05-07 03:12:11 +08:00
|
|
|
include_directories(${SPIRV_CROSS_PATH})
|
|
|
|
add_subdirectory(${SPIRV_CROSS_PATH})
|
|
|
|
|
2019-08-19 10:32:25 +08:00
|
|
|
macro(glslang_pch SRCS PCHCPP)
|
|
|
|
message("use null [glslang_pch] macro")
|
|
|
|
endmacro()
|
|
|
|
|
|
|
|
include_directories(${SPIRV_CROSS_PATH}/external/glslang/glslang/Public)
|
|
|
|
add_subdirectory(${SPIRV_CROSS_PATH}/external/glslang/glslang)
|
|
|
|
|
|
|
|
include_directories(${SPIRV_CROSS_PATH}/external/glslang)
|
|
|
|
add_subdirectory(${SPIRV_CROSS_PATH}/external/glslang/SPIRV)
|
|
|
|
|
|
|
|
if(WIN32)
|
|
|
|
add_subdirectory(${SPIRV_CROSS_PATH}/external/glslang/OGLCompilersDLL)
|
|
|
|
endif()
|
|
|
|
|
2019-07-10 21:21:17 +08:00
|
|
|
SET(ULRE_RUNTIME_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
|
2019-05-29 22:56:16 +08:00
|
|
|
add_subdirectory(3rdpty/assimp)
|
2018-11-27 20:03:07 +08:00
|
|
|
add_subdirectory(src)
|
|
|
|
|
2018-11-27 15:43:32 +08:00
|
|
|
add_subdirectory(example)
|