summaryrefslogtreecommitdiffstats
path: root/Graphics
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2017-12-05 17:36:53 +0000
committerEgor Yusov <egor.yusov@gmail.com>2017-12-05 17:36:53 +0000
commita27b9df80eb077f0a72862eda9c59962cdbcabe4 (patch)
tree379153ea2f8c29c0fdfa2b42b7da0bff3add525c /Graphics
parentCMake: Added grouping of projects in VS solution (diff)
downloadDiligentCore-a27b9df80eb077f0a72862eda9c59962cdbcabe4.tar.gz
DiligentCore-a27b9df80eb077f0a72862eda9c59962cdbcabe4.zip
Updated cmake files
Diffstat (limited to 'Graphics')
-rw-r--r--Graphics/CMakeLists.txt22
-rw-r--r--Graphics/GraphicsEngineD3D11/CMakeLists.txt9
-rw-r--r--Graphics/GraphicsEngineD3D12/CMakeLists.txt57
-rw-r--r--Graphics/GraphicsEngineD3DBase/CMakeLists.txt11
-rw-r--r--Graphics/GraphicsEngineOpenGL/CMakeLists.txt42
-rw-r--r--Graphics/HLSL2GLSLConverterLib/CMakeLists.txt13
6 files changed, 113 insertions, 41 deletions
diff --git a/Graphics/CMakeLists.txt b/Graphics/CMakeLists.txt
index 34c8325e..de141267 100644
--- a/Graphics/CMakeLists.txt
+++ b/Graphics/CMakeLists.txt
@@ -1,19 +1,27 @@
cmake_minimum_required (VERSION 3.3)
-if(WIN32)
+if(PLATFORM_WIN32 OR PLATFORM_UNVIRSAL_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(WIN32)
+endif()
+
set(DLL_REL_SUFFIX _${ARCH}r)
set(DLL_DBG_SUFFIX _${ARCH}d)
add_subdirectory(GraphicsEngine)
-add_subdirectory(GraphicsEngineD3DBase)
-add_subdirectory(GraphicsEngineD3D11)
-add_subdirectory(GraphicsEngineD3D12)
+
+if(PLATFORM_WIN32 OR PLATFORM_UNVIRSAL_WINDOWS)
+ add_subdirectory(GraphicsEngineD3DBase)
+ add_subdirectory(GraphicsEngineD3D11)
+ add_subdirectory(GraphicsEngineD3D12)
+endif()
+
add_subdirectory(GraphicsTools)
-add_subdirectory(HLSL2GLSLConverterLib)
-add_subdirectory(GraphicsEngineOpenGL)
+
+if(PLATFORM_WIN32 OR PLATFORM_ANDROID)
+ add_subdirectory(HLSL2GLSLConverterLib)
+ add_subdirectory(GraphicsEngineOpenGL)
+endif()
diff --git a/Graphics/GraphicsEngineD3D11/CMakeLists.txt b/Graphics/GraphicsEngineD3D11/CMakeLists.txt
index bb74dfdd..50b52bba 100644
--- a/Graphics/GraphicsEngineD3D11/CMakeLists.txt
+++ b/Graphics/GraphicsEngineD3D11/CMakeLists.txt
@@ -73,12 +73,14 @@ set(SRC
add_library(GraphicsEngineD3D11-static STATIC
${SRC} ${INTERFACE} ${INCLUDE}
+ readme.md
)
add_library(GraphicsEngineD3D11-shared SHARED
${SRC} ${INTERFACE} ${INCLUDE}
src/DLLMain.cpp
src/GraphicsEngineD3D11.def
+ readme.md
)
set_target_properties(GraphicsEngineD3D11-shared PROPERTIES
@@ -120,6 +122,9 @@ target_compile_definitions(GraphicsEngineD3D11-shared PUBLIC ENGINE_DLL)
source_group("src" FILES
${SRC}
+)
+
+source_group("dll" FILES
src/DLLMain.cpp
src/GraphicsEngineD3D11.def
)
@@ -133,3 +138,7 @@ set_target_properties(GraphicsEngineD3D11-static PROPERTIES
set_target_properties(GraphicsEngineD3D11-shared PROPERTIES
FOLDER Core/Graphics
)
+
+set_source_files_properties(
+ readme.md PROPERTIES HEADER_FILE_ONLY TRUE
+)
diff --git a/Graphics/GraphicsEngineD3D12/CMakeLists.txt b/Graphics/GraphicsEngineD3D12/CMakeLists.txt
index c613170e..a801eb84 100644
--- a/Graphics/GraphicsEngineD3D12/CMakeLists.txt
+++ b/Graphics/GraphicsEngineD3D12/CMakeLists.txt
@@ -78,14 +78,30 @@ set(SRC
src/TextureViewD3D12Impl.cpp
)
+set(SHADERS
+ shaders/GenerateMips/GenerateMipsGammaCS.hlsl
+ shaders/GenerateMips/GenerateMipsGammaOddCS.hlsl
+ shaders/GenerateMips/GenerateMipsGammaOddXCS.hlsl
+ shaders/GenerateMips/GenerateMipsGammaOddYCS.hlsl
+ shaders/GenerateMips/GenerateMipsLinearCS.hlsl
+ shaders/GenerateMips/GenerateMipsLinearOddCS.hlsl
+ shaders/GenerateMips/GenerateMipsLinearOddXCS.hlsl
+ shaders/GenerateMips/GenerateMipsLinearOddYCS.hlsl
+)
+
+
add_library(GraphicsEngineD3D12-static STATIC
- ${SRC} ${INTERFACE} ${INCLUDE}
+ ${SRC} ${INTERFACE} ${INCLUDE} ${SHADERS}
+ readme.md
+ shaders/GenerateMips/GenerateMipsCS.hlsli
)
add_library(GraphicsEngineD3D12-shared SHARED
- ${SRC} ${INTERFACE} ${INCLUDE}
+ ${SRC} ${INTERFACE} ${INCLUDE} ${SHADERS}
src/DLLMain.cpp
src/GraphicsEngineD3D12.def
+ readme.md
+ shaders/GenerateMips/GenerateMipsCS.hlsli
)
target_include_directories(GraphicsEngineD3D12-static
@@ -112,19 +128,11 @@ if(NOT FXC)
message(FATAL_ERROR "Cannot find fxc!")
endif(NOT FXC)
-set(SHADERS
- shaders/GenerateMips/GenerateMipsGammaCS.hlsl
- shaders/GenerateMips/GenerateMipsGammaOddCS.hlsl
- shaders/GenerateMips/GenerateMipsGammaOddXCS.hlsl
- shaders/GenerateMips/GenerateMipsGammaOddYCS.hlsl
- shaders/GenerateMips/GenerateMipsLinearCS.hlsl
- shaders/GenerateMips/GenerateMipsLinearOddCS.hlsl
- shaders/GenerateMips/GenerateMipsLinearOddXCS.hlsl
- shaders/GenerateMips/GenerateMipsLinearOddYCS.hlsl
-)
-
# Create custom target to compile shaders, which GraphicsEngineD3D12-static/shared will depend on
-add_custom_target(GenerateMipsShaders )
+add_custom_target(GenerateMipsShaders
+SOURCES
+ shaders/GenerateMips/GenerateMipsCS.hlsli
+)
set(SHADER_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/GenerateMips)
file(MAKE_DIRECTORY ${SHADER_OUTPUT_DIR})
@@ -173,13 +181,19 @@ set_target_properties(GraphicsEngineD3D12-shared PROPERTIES
source_group("src" FILES
${SRC}
+)
+
+source_group("dll" FILES
src/DLLMain.cpp
src/GraphicsEngineD3D12.def
)
source_group("include" FILES ${INCLUDE})
source_group("interface" FILES ${INTERFACE})
-source_group("shaders/GenerateMips" FILES ${SHADERS})
+source_group("shaders" FILES
+ ${SHADERS}
+ shaders/GenerateMips/GenerateMipsCS.hlsli
+)
set_target_properties(GraphicsEngineD3D12-static PROPERTIES
FOLDER Core/Graphics
@@ -189,4 +203,15 @@ set_target_properties(GraphicsEngineD3D12-shared PROPERTIES
)
set_target_properties(GenerateMipsShaders PROPERTIES
FOLDER Core/Graphics/Helper
-) \ No newline at end of file
+)
+
+set_source_files_properties(
+ readme.md PROPERTIES HEADER_FILE_ONLY TRUE
+)
+
+foreach(FILE ${SHADERS})
+ set_source_files_properties(
+ ${FILE} PROPERTIES HEADER_FILE_ONLY TRUE
+ )
+endforeach(FILE)
+
diff --git a/Graphics/GraphicsEngineD3DBase/CMakeLists.txt b/Graphics/GraphicsEngineD3DBase/CMakeLists.txt
index fdb94f24..999f34f7 100644
--- a/Graphics/GraphicsEngineD3DBase/CMakeLists.txt
+++ b/Graphics/GraphicsEngineD3DBase/CMakeLists.txt
@@ -19,20 +19,22 @@ set(SOURCE
src/DXGITypeConversions.cpp
src/ShaderD3DBase.cpp
src/ShaderResources.cpp
- include/HLSLDefinitions_inc.fxh
)
add_library(GraphicsEngineD3DBase STATIC
- ${SOURCE} ${INCLUDE}
+ ${SOURCE} ${INCLUDE} include/HLSLDefinitions_inc.fxh
)
set_source_files_properties(
- include/HLSLDefinitions_inc.fxh
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/HLSLDefinitions_inc.fxh
PROPERTIES GENERATED TRUE
)
# Create custom target to convert HLSLDefinitions.fxh to HLSLDefinitions_inc.fxh
-add_custom_target(ProcessHLSLDefinitions)
+add_custom_target(ProcessHLSLDefinitions
+SOURCES
+ include/HLSLDefinitions.fxh
+)
add_dependencies(ProcessHLSLDefinitions File2String)
add_custom_command(TARGET ProcessHLSLDefinitions
@@ -59,6 +61,7 @@ target_link_libraries(GraphicsEngineD3DBase PRIVATE BuildSettings GraphicsEngine
source_group("src" FILES ${SOURCE})
source_group("include" FILES ${INCLUDE})
+source_group("generated" FILES include/HLSLDefinitions_inc.fxh)
set_target_properties(GraphicsEngineD3DBase PROPERTIES
FOLDER Core/Graphics
diff --git a/Graphics/GraphicsEngineOpenGL/CMakeLists.txt b/Graphics/GraphicsEngineOpenGL/CMakeLists.txt
index 74b841e5..54bc172e 100644
--- a/Graphics/GraphicsEngineOpenGL/CMakeLists.txt
+++ b/Graphics/GraphicsEngineOpenGL/CMakeLists.txt
@@ -9,16 +9,12 @@ set(INCLUDE
include/DeviceContextGLImpl.h
include/FBOCache.h
include/GLContext.h
- include/GLContextAndroid.h
include/GLContextState.h
- include/GLContextWindows.h
include/GLObjectWrapper.h
include/GLProgram.h
include/GLProgramResources.h
- include/GLStubs.h
include/GLTypeConversions.h
include/PipelineStateGLImpl.h
- include/RenderDeviceGLESImpl.h
include/RenderDeviceGLImpl.h
include/SamplerGLImpl.h
include/ShaderGLImpl.h
@@ -45,7 +41,6 @@ set(INTERFACE
interface/PipelineStateGL.h
interface/RenderDeviceFactoryOpenGL.h
interface/RenderDeviceGL.h
- interface/RenderDeviceGLES.h
interface/SamplerGL.h
interface/ShaderGL.h
interface/ShaderResourceBindingGL.h
@@ -83,25 +78,43 @@ set(SOURCE
src/TextureViewGLImpl.cpp
src/VAOCache.cpp
)
-if(WIN32)
+
+if(PLATFORM_WIN32)
list(APPEND SOURCE src/GLContextWindows.cpp)
list(APPEND SOURCE src/RenderDeviceGLImpl.cpp)
-elseif(ANRDOID)
+
+ set(APPEND INCLUDE include/GLContextWindows.h)
+elseif(PLATFORM_ANRDOID)
list(APPEND SOURCE src/GLContextAndroid.cpp)
list(APPEND SOURCE src/RenderDeviceGLESImpl.cpp)
list(APPEND SOURCE src/GLStubs.cpp)
+
+ set(APPEND INCLUDE include/GLContextAndroid.h)
+ set(APPEND INCLUDE include/GLStubs.h)
+ set(APPEND INCLUDE include/RenderDeviceGLESImpl.h)
+
+ set(APPEND INTERFACE interface/RenderDeviceGLES.h)
+else()
+ message(FATAL_ERROR "Unknown platform")
endif()
add_library(GraphicsEngineOpenGL-static STATIC
${SOURCE} ${INTERFACE} ${INCLUDE}
+ readme.md
)
add_library(GraphicsEngineOpenGL-shared SHARED
${SOURCE} ${INTERFACE} ${INCLUDE}
- src/DLLMain.cpp
- src/GraphicsEngineOpenGL.def
+ readme.md
)
+if(PLATFORM_WIN32)
+ target_sources(GraphicsEngineOpenGL-shared
+ PRIVATE
+ src/DLLMain.cpp
+ src/GraphicsEngineOpenGL.def
+ )
+endif()
target_include_directories(GraphicsEngineOpenGL-static
PUBLIC
@@ -150,7 +163,14 @@ set_target_properties(GraphicsEngineOpenGL-shared PROPERTIES
source_group("src" FILES
${SOURCE}
src/DLLMain.cpp
+ src/GraphicsEngineOpenGL.def
)
+if(PLATFORM_WIN32)
+ source_group("dll" FILES
+ src/DLLMain.cpp
+ src/GraphicsEngineOpenGL.def
+ )
+endif()
source_group("include" FILES ${INCLUDE})
source_group("interface" FILES ${INTERFACE})
@@ -161,3 +181,7 @@ set_target_properties(GraphicsEngineOpenGL-static PROPERTIES
set_target_properties(GraphicsEngineOpenGL-shared PROPERTIES
FOLDER Core/Graphics
)
+
+set_source_files_properties(
+ readme.md PROPERTIES HEADER_FILE_ONLY TRUE
+)
diff --git a/Graphics/HLSL2GLSLConverterLib/CMakeLists.txt b/Graphics/HLSL2GLSLConverterLib/CMakeLists.txt
index 554d8540..82ab1b4e 100644
--- a/Graphics/HLSL2GLSLConverterLib/CMakeLists.txt
+++ b/Graphics/HLSL2GLSLConverterLib/CMakeLists.txt
@@ -16,16 +16,15 @@ set(INTERFACE
set(SOURCE
src/HLSL2GLSLConverterImpl.cpp
src/HLSL2GLSLConverterObject.cpp
- include/GLSLDefinitions_inc.h
)
+add_library(HLSL2GLSLConverterLib STATIC ${SOURCE} ${INTERFACE} ${INCLUDE} include/GLSLDefinitions_inc.h)
+
set_source_files_properties(
- include/GLSLDefinitions_inc.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/GLSLDefinitions_inc.h
PROPERTIES GENERATED TRUE
)
-add_library(HLSL2GLSLConverterLib STATIC ${SOURCE} ${INTERFACE} ${INCLUDE})
-
target_include_directories(HLSL2GLSLConverterLib
PUBLIC
interface
@@ -44,7 +43,10 @@ PRIVATE
# Create custom target to convert GLSLDefinitions.h to GLSLDefinitions_inc.h
-add_custom_target(ProcessGLSLDefinitions)
+add_custom_target(ProcessGLSLDefinitions
+SOURCES
+ include/GLSLDefinitions.h
+)
add_dependencies(ProcessGLSLDefinitions File2String)
add_custom_command(TARGET ProcessGLSLDefinitions
@@ -63,6 +65,7 @@ add_dependencies(HLSL2GLSLConverterLib ProcessGLSLDefinitions)
source_group("src" FILES ${SOURCE})
source_group("include" FILES ${INCLUDE})
source_group("interface" FILES ${INTERFACE})
+source_group("generated" FILES include/GLSLDefinitions_inc.h)
set_target_properties(HLSL2GLSLConverterLib PROPERTIES
FOLDER Core/Graphics