summaryrefslogtreecommitdiffstats
path: root/unityplugin/GhostCubeScene
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2018-02-12 06:07:27 +0000
committerEgor Yusov <egor.yusov@gmail.com>2018-02-12 06:07:27 +0000
commit4effe027896a64d1db24c46aff96bb5e09b67c8d (patch)
tree1d6621c96fd94799d6e1ccf9b8c19f5f5a233e4d /unityplugin/GhostCubeScene
parentRemoved unused Apple source from Unity emulator (diff)
downloadDiligentEngine-4effe027896a64d1db24c46aff96bb5e09b67c8d.tar.gz
DiligentEngine-4effe027896a64d1db24c46aff96bb5e09b67c8d.zip
Enabled iOS build; unified target platform app generation in cmake
Diffstat (limited to 'unityplugin/GhostCubeScene')
-rw-r--r--unityplugin/GhostCubeScene/CMakeLists.txt119
1 files changed, 46 insertions, 73 deletions
diff --git a/unityplugin/GhostCubeScene/CMakeLists.txt b/unityplugin/GhostCubeScene/CMakeLists.txt
index a2506a5..ffb9929 100644
--- a/unityplugin/GhostCubeScene/CMakeLists.txt
+++ b/unityplugin/GhostCubeScene/CMakeLists.txt
@@ -14,91 +14,64 @@ set(SHADERS
assets/shaders/Mirror.psh
assets/shaders/Mirror.vsh
)
-set(ASSETS ${SHADERS})
+set(ALL_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)
+elseif(PLATFORM_ANDROID OR PLATFORM_LINUX OR PLATFORM_MACOS OR PLATFORM_IOS)
+ list(APPEND SOURCE src/LoadPluginFunctions.cpp)
endif()
-if(PLATFORM_WIN32 OR PLATFORM_UNIVERSAL_WINDOWS)
-
- if(PLATFORM_WIN32)
- add_win32_app(GhostCubeScene "${SOURCE}" "${INCLUDE}" "${ASSETS}")
-
- set_target_properties(GhostCubeScene PROPERTIES
- VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/assets"
- )
-
- add_custom_command(TARGET GhostCubeScene POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_if_different
- "\"$<TARGET_FILE:GhostCubePlugin-shared>\""
- "\"$<TARGET_FILE_DIR:GhostCubeScene>\"")
-
- elseif(PLATFORM_UNIVERSAL_WINDOWS)
- add_uwp_app(GhostCubeScene "${SOURCE}" "${INCLUDE}" "${ASSETS}")
- append_emulator_uwp_source(GhostCubeScene)
-
- # We cannot use genreator expression to add a file because the file name
- # must not depend on the configuration
- 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 "."
- )
- set_source_files_properties(${PLUGIN_REL_DLL} PROPERTIES
- VS_DEPLOYMENT_CONTENT $<NOT:$<CONFIG:Debug>>
- VS_DEPLOYMENT_LOCATION "."
- )
-
- 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 1
- VS_DEPLOYMENT_LOCATION "shaders"
- )
-
- endif()
-
-elseif(PLATFORM_ANDROID)
-
- list(APPEND SOURCE src/LoadPluginFunctions.cpp)
- add_android_app(GhostCubeScene "${SOURCE}" "${INCLUDE}" "${ASSETS}")
+set_source_files_properties(${SHADERS} PROPERTIES
+ VS_DEPLOYMENT_CONTENT 1
+ VS_DEPLOYMENT_LOCATION "shaders"
+ MACOSX_PACKAGE_LOCATION "Resources/shaders"
+)
-elseif(PLATFORM_LINUX)
+add_target_platform_app(GhostCubeScene "${SOURCE}" "${INCLUDE}" "${ALL_ASSETS}")
- list(APPEND SOURCE src/LoadPluginFunctions.cpp)
- add_linux_app(GhostCubeScene "${SOURCE}" "${INCLUDE}" "${ASSETS}")
+if(PLATFORM_WIN32)
+ set_target_properties(GhostCubeScene PROPERTIES
+ VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/assets"
+ )
-elseif(PLATFORM_MACOS)
- list(APPEND SOURCE src/LoadPluginFunctions.cpp)
- set(ASSETS_AND_SHADERS ${ASSETS} ${SHADERS})
- add_macos_app(GhostCubeScene "${SOURCE}" "${INCLUDE}" "${ASSETS_AND_SHADERS}")
-
- set_source_files_properties(${SHADERS} PROPERTIES
- MACOSX_PACKAGE_LOCATION "Resources/shaders"
- )
-
-elseif(PLATFORM_IOS)
- list(APPEND SOURCE src/LoadPluginFunctions.cpp)
- #get_emulator_ios_source(IOS_SOURCE IOS_INCLUDE IOS_RESOURCES IOS_INFO_PLIST IOS_INCLUDE_DIRS)
- add_executable(GhostCubeScene MACOSX_BUNDLE ${SOURCE} ${IOS_SOURCE} ${INCLUDE} ${IOS_INCLUDE} ${ASSETS} ${SHADERS} ${IOS_RESOURCES})
+ add_custom_command(TARGET GhostCubeScene POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ "\"$<TARGET_FILE:GhostCubePlugin-shared>\""
+ "\"$<TARGET_FILE_DIR:GhostCubeScene>\"")
+
+elseif(PLATFORM_UNIVERSAL_WINDOWS)
+ append_emulator_uwp_source(GhostCubeScene)
+
+ # We cannot use genreator expression to add a file because the file name
+ # must not depend on the configuration
+ 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 "."
+ )
+ set_source_files_properties(${PLUGIN_REL_DLL} PROPERTIES
+ VS_DEPLOYMENT_CONTENT $<NOT:$<CONFIG:Debug>>
+ VS_DEPLOYMENT_LOCATION "."
+ )
+
+ 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})
-else()
- message(FATAL_ERROR "Unknown platform")
endif()
add_dependencies(GhostCubeScene GhostCubePlugin-shared)
@@ -120,7 +93,7 @@ if(PLATFORM_ANDROID)
target_link_libraries(GhostCubeScene PRIVATE GhostCubePlugin-shared)
elseif (PLATFORM_LINUX)
target_link_libraries(GhostCubeScene PRIVATE GhostCubePlugin-shared GL X11)
-elseif (PLATFORM_MACOS)
+elseif (PLATFORM_MACOS OR PLATFORM_IOS)
target_link_libraries(GhostCubeScene PRIVATE GhostCubePlugin-shared)
endif()