From a27b9df80eb077f0a72862eda9c59962cdbcabe4 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Tue, 5 Dec 2017 09:36:53 -0800 Subject: Updated cmake files --- Graphics/CMakeLists.txt | 22 +++++++---- Graphics/GraphicsEngineD3D11/CMakeLists.txt | 9 +++++ Graphics/GraphicsEngineD3D12/CMakeLists.txt | 57 +++++++++++++++++++-------- Graphics/GraphicsEngineD3DBase/CMakeLists.txt | 11 ++++-- Graphics/GraphicsEngineOpenGL/CMakeLists.txt | 42 +++++++++++++++----- Graphics/HLSL2GLSLConverterLib/CMakeLists.txt | 13 +++--- 6 files changed, 113 insertions(+), 41 deletions(-) (limited to 'Graphics') 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 -- cgit v1.2.3