summaryrefslogtreecommitdiffstats
path: root/unityplugin
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2017-12-15 06:37:34 +0000
committerEgor Yusov <egor.yusov@gmail.com>2017-12-15 06:37:34 +0000
commit4181dd04a310156555c68af1c7be31a8d7b58d65 (patch)
treee3f9b5669ceca3f44079560878d2d3cf642e02b0 /unityplugin
parentReplaced FXC command with VS_SHADER_* properties. No need to specify FXC when... (diff)
downloadDiligentEngine-4181dd04a310156555c68af1c7be31a8d7b58d65.tar.gz
DiligentEngine-4181dd04a310156555c68af1c7be31a8d7b58d65.zip
CMake: enabled resource processing for UnityPlugin in UWP build
Diffstat (limited to 'unityplugin')
-rw-r--r--unityplugin/GhostCubePlugin/PluginSource/CMakeLists.txt10
-rw-r--r--unityplugin/GhostCubeScene/CMakeLists.txt44
2 files changed, 44 insertions, 10 deletions
diff --git a/unityplugin/GhostCubePlugin/PluginSource/CMakeLists.txt b/unityplugin/GhostCubePlugin/PluginSource/CMakeLists.txt
index 4ead45b..a53e928 100644
--- a/unityplugin/GhostCubePlugin/PluginSource/CMakeLists.txt
+++ b/unityplugin/GhostCubePlugin/PluginSource/CMakeLists.txt
@@ -39,14 +39,6 @@ add_library(GhostCubePlugin-shared SHARED
${SOURCE} ${INCLUDE} ${UNITY_INTERFACES}
)
-if(PLATFORM_WIN32 OR PLATFORM_UNIVERSAL_WINDOWS)
- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
- set(ARCH 64)
- else("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
- set(ARCH 32)
- endif("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
-endif()
-
set(DLL_REL_SUFFIX _${ARCH}r)
set(DLL_DBG_SUFFIX _${ARCH}d)
@@ -57,7 +49,7 @@ set_target_properties(GhostCubePlugin-shared PROPERTIES
OUTPUT_NAME_MINSIZEREL GhostCubePlugin${DLL_REL_SUFFIX}
)
-if(PLATFORM_WIN32)
+if(PLATFORM_WIN32 OR PLATFORM_UNIVERSAL_WINDOWS)
target_sources(GhostCubePlugin-shared
PRIVATE
src/RenderingPlugin.def
diff --git a/unityplugin/GhostCubeScene/CMakeLists.txt b/unityplugin/GhostCubeScene/CMakeLists.txt
index 81d263a..f51cc2e 100644
--- a/unityplugin/GhostCubeScene/CMakeLists.txt
+++ b/unityplugin/GhostCubeScene/CMakeLists.txt
@@ -10,6 +10,14 @@ set(INCLUDE
src/GhostCubeScene.h
)
+set(SHADERS
+ build/assets/shaders/Mirror.psh
+ build/assets/shaders/Mirror.vsh
+)
+set(ASSETS ${SHADERS})
+set_source_files_properties(${SHADERS} PROPERTIES VS_TOOL_OVERRIDE "None")
+
+
if(PLATFORM_WIN32 OR PLATFORM_UNIVERSAL_WINDOWS)
list(APPEND SOURCE src/GhostCubeSceneResTrsnHelper.cpp)
list(APPEND INCLUDE src/GhostCubeSceneResTrsnHelper.h)
@@ -19,7 +27,7 @@ endif()
if(PLATFORM_WIN32 OR PLATFORM_UNIVERSAL_WINDOWS)
- add_executable(GhostCubeScene WIN32 ${SOURCE} ${INCLUDE})
+ add_executable(GhostCubeScene WIN32 ${SOURCE} ${INCLUDE} ${ASSETS})
if(PLATFORM_WIN32)
set_target_properties(GhostCubeScene PROPERTIES
@@ -30,6 +38,37 @@ if(PLATFORM_WIN32 OR PLATFORM_UNIVERSAL_WINDOWS)
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"\"$<TARGET_FILE:GhostCubePlugin-shared>\""
"\"$<TARGET_FILE_DIR:GhostCubeScene>\"")
+
+ elseif(PLATFORM_UNIVERSAL_WINDOWS)
+
+ set(PLUGIN_REL_DLL ${CMAKE_CURRENT_BINARY_DIR}/GhostCubePlugin_${ARCH}r.dll)
+ set(PLUGIN_DBG_DLL ${CMAKE_CURRENT_BINARY_DIR}/GhostCubePlugin_${ARCH}d.dll)
+
+ set(PLUGIN_DLLS ${PLUGIN_REL_DLL} ${PLUGIN_DBG_DLL})
+ set_source_files_properties(${PLUGIN_DLLS} PROPERTIES GENERATED TRUE)
+ set_source_files_properties(${PLUGIN_DBG_DLL} PROPERTIES
+ VS_DEPLOYMENT_CONTENT $<CONFIG:Debug>
+ VS_DEPLOYMENT_LOCATION "assets"
+ )
+ set_source_files_properties(${PLUGIN_REL_DLL} PROPERTIES
+ VS_DEPLOYMENT_CONTENT $<NOT:$<CONFIG:Debug>>
+ VS_DEPLOYMENT_LOCATION "assets"
+ )
+
+ add_custom_command(TARGET GhostCubeScene PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ "\"$<TARGET_FILE:GhostCubePlugin-shared>\""
+ "${CMAKE_CURRENT_BINARY_DIR}/$<TARGET_FILE_NAME:GhostCubePlugin-shared>"
+ )
+
+ target_sources(GhostCubeScene PRIVATE ${PLUGIN_DLLS})
+ source_group("assets" FILES ${PLUGIN_DLLS})
+
+ set_source_files_properties(${SHADERS} PROPERTIES
+ VS_DEPLOYMENT_CONTENT TRUE
+ VS_DEPLOYMENT_LOCATION "assets/shaders"
+ )
+
endif()
#elseif(APPLE)
@@ -40,6 +79,8 @@ else()
message(FATAL_ERROR "Unknown platform")
endif()
+add_dependencies(GhostCubeScene GhostCubePlugin-shared)
+
if(PLATFORM_UNIVERSAL_WINDOWS)
get_emulator_uwp_source(UWP_SOURCE UWP_INCLUDE UWP_INCLUDE_DIR)
source_group("UWP\\src" FILES ${UWP_SOURCE})
@@ -75,6 +116,7 @@ endif()
source_group("src" FILES ${SOURCE})
source_group("include" FILES ${INCLUDE})
+source_group("assets\\shaders" FILES ${SHADERS})
set_target_properties(GhostCubeScene PROPERTIES
FOLDER Unity