Browse Source

VS quality of life improvements

Panagiotis Christopoulos Charitos 3 years ago
parent
commit
c98c4f13cf

+ 2 - 1
AnKi/Collision/CMakeLists.txt

@@ -1,4 +1,5 @@
 file(GLOB_RECURSE sources *.cpp)
-add_library(AnKiCollision ${sources})
+file(GLOB_RECURSE headers *.h)
+add_library(AnKiCollision ${sources} ${headers})
 target_compile_definitions(AnKiCollision PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiCollision AnKiMath)

+ 18 - 1
AnKi/Core/CMakeLists.txt

@@ -7,17 +7,34 @@ set(sources
 	MaliHwCounters.cpp
 	StatsUi.cpp)
 
+set(headers
+	AllConfigVars.defs.h
+	App.h
+	Common.h
+	ConfigSet.h
+	ConfigVars.defs.h
+	CoreTracer.h
+	DeveloperConsole.h
+	GpuMemoryPools.h
+	MaliHwCounters.h
+	NativeWindow.h
+	StatsUi.h
+	StdinListener.h)
+
 if(ANKI_HEADLESS)
 	set(sources ${sources} NativeWindowHeadless.cpp)
+	set(headers ${headers} NativeWindowHeadless.h)
 elseif(SDL)
 	set(sources ${sources} NativeWindowSdl.cpp)
+	set(headers ${headers} NativeWindowSdl.h)
 elseif(ANDROID)
 	set(sources ${sources} NativeWindowAndroid.cpp)
+	set(headers ${headers} NativeWindowAndroid.h)
 else()
 	message(FATAL_ERROR "Not implemented")
 endif()
 
-add_library(AnKiCore ${sources})
+add_library(AnKiCore ${sources} ${headers})
 
 if(SDL)
 	if(LINUX)

+ 110 - 47
AnKi/Gr/CMakeLists.txt

@@ -1,52 +1,115 @@
 set(common_sources
-	"Common.cpp"
-	"GrObject.cpp"
-	"RenderGraph.cpp"
-	"ShaderProgram.cpp"
-	"Enums.cpp"
-	"Utils/FrameGpuAllocator.cpp"
-	"Utils/Functions.cpp")
+	Common.cpp
+	GrObject.cpp
+	RenderGraph.cpp
+	ShaderProgram.cpp
+	Enums.cpp
+	Utils/FrameGpuAllocator.cpp
+	Utils/Functions.cpp)
+
+set(common_headers
+	AccelerationStructure.h
+	Buffer.h
+	CommandBuffer.h
+	Common.h
+	ConfigVars.defs.h
+	Enums.h
+	Fence.h
+	Format.defs.h
+	Framebuffer.h
+	GrManager.h
+	GrObject.h
+	OcclusionQuery.h
+	RenderGraph.h
+	RenderGraph.inl.h
+	Sampler.h
+	Shader.h
+	ShaderProgram.h
+	ShaderVariableDataType.defs.h
+	Texture.h
+	TextureView.h
+	TimestampQuery.h
+	Utils/FrameGpuAllocator.h
+	Utils/Functions.h
+	Utils/InstantiationMacros.h)
 
 if(VULKAN)
 	set(backend_sources
-		"Vulkan/AccelerationStructure.cpp"
-		"Vulkan/AccelerationStructureImpl.cpp"
-		"Vulkan/Buffer.cpp"
-		"Vulkan/BufferImpl.cpp"
-		"Vulkan/CommandBuffer.cpp"
-		"Vulkan/CommandBufferFactory.cpp"
-		"Vulkan/CommandBufferImpl.cpp"
-		"Vulkan/Common.cpp"
-		"Vulkan/DescriptorSet.cpp"
-		"Vulkan/Fence.cpp"
-		"Vulkan/FenceFactory.cpp"
-		"Vulkan/Framebuffer.cpp"
-		"Vulkan/FramebufferImpl.cpp"
-		"Vulkan/GpuMemoryManager.cpp"
-		"Vulkan/GrManager.cpp"
-		"Vulkan/GrManagerImpl.cpp"
-		"Vulkan/OcclusionQuery.cpp"
-		"Vulkan/OcclusionQueryImpl.cpp"
-		"Vulkan/PipelineCache.cpp"
-		"Vulkan/Pipeline.cpp"
-		"Vulkan/PipelineLayout.cpp"
-		"Vulkan/QueryFactory.cpp"
-		"Vulkan/Sampler.cpp"
-		"Vulkan/SamplerFactory.cpp"
-		"Vulkan/SamplerImpl.cpp"
-		"Vulkan/Shader.cpp"
-		"Vulkan/ShaderImpl.cpp"
-		"Vulkan/ShaderProgram.cpp"
-		"Vulkan/ShaderProgramImpl.cpp"
-		"Vulkan/SwapchainFactory.cpp"
-		"Vulkan/Texture.cpp"
-		"Vulkan/TextureImpl.cpp"
-		"Vulkan/TextureView.cpp"
-		"Vulkan/TextureViewImpl.cpp"
-		"Vulkan/TimestampQuery.cpp"
-		"Vulkan/TimestampQueryImpl.cpp"
-		"Vulkan/VulkanObject.cpp"
-		"Vulkan/FrameGarbageCollector.cpp")
+		Vulkan/AccelerationStructure.cpp
+		Vulkan/AccelerationStructureImpl.cpp
+		Vulkan/Buffer.cpp
+		Vulkan/BufferImpl.cpp
+		Vulkan/CommandBuffer.cpp
+		Vulkan/CommandBufferFactory.cpp
+		Vulkan/CommandBufferImpl.cpp
+		Vulkan/Common.cpp
+		Vulkan/DescriptorSet.cpp
+		Vulkan/Fence.cpp
+		Vulkan/FenceFactory.cpp
+		Vulkan/Framebuffer.cpp
+		Vulkan/FramebufferImpl.cpp
+		Vulkan/GpuMemoryManager.cpp
+		Vulkan/GrManager.cpp
+		Vulkan/GrManagerImpl.cpp
+		Vulkan/OcclusionQuery.cpp
+		Vulkan/OcclusionQueryImpl.cpp
+		Vulkan/PipelineCache.cpp
+		Vulkan/Pipeline.cpp
+		Vulkan/PipelineLayout.cpp
+		Vulkan/QueryFactory.cpp
+		Vulkan/Sampler.cpp
+		Vulkan/SamplerFactory.cpp
+		Vulkan/SamplerImpl.cpp
+		Vulkan/Shader.cpp
+		Vulkan/ShaderImpl.cpp
+		Vulkan/ShaderProgram.cpp
+		Vulkan/ShaderProgramImpl.cpp
+		Vulkan/SwapchainFactory.cpp
+		Vulkan/Texture.cpp
+		Vulkan/TextureImpl.cpp
+		Vulkan/TextureView.cpp
+		Vulkan/TextureViewImpl.cpp
+		Vulkan/TimestampQuery.cpp
+		Vulkan/TimestampQueryImpl.cpp
+		Vulkan/VulkanObject.cpp
+		Vulkan/FrameGarbageCollector.cpp)
+
+	set(backend_headers
+		Vulkan/AccelerationStructureImpl.h
+		Vulkan/BufferImpl.h
+		Vulkan/CommandBufferFactory.h
+		Vulkan/CommandBufferFactory.inl.h
+		Vulkan/CommandBufferImpl.h
+		Vulkan/CommandBufferImpl.inl.h
+		Vulkan/Common.h
+		Vulkan/DeferredBarrierFactory.h
+		Vulkan/DeferredBarrierFactory.inl.h
+		Vulkan/DescriptorSet.h
+		Vulkan/FenceFactory.h
+		Vulkan/FenceFactory.inl.h
+		Vulkan/FenceImpl.h
+		Vulkan/FramebufferImpl.h
+		Vulkan/FrameGarbageCollector.h
+		Vulkan/GpuMemoryManager.h
+		Vulkan/GrManagerImpl.h
+		Vulkan/MicroObjectRecycler.h
+		Vulkan/MicroObjectRecycler.inl.h
+		Vulkan/OcclusionQueryImpl.h
+		Vulkan/Pipeline.h
+		Vulkan/PipelineCache.h
+		Vulkan/PipelineLayout.h
+		Vulkan/QueryFactory.h
+		Vulkan/SamplerFactory.h
+		Vulkan/SamplerImpl.h
+		Vulkan/SemaphoreFactory.h
+		Vulkan/SemaphoreFactory.inl.h
+		Vulkan/ShaderImpl.h
+		Vulkan/ShaderProgramImpl.h
+		Vulkan/SwapchainFactory.h
+		Vulkan/TextureImpl.h
+		Vulkan/TextureViewImpl.h
+		Vulkan/TimestampQueryImpl.h
+		Vulkan/VulkanObject.h)
 
 	if(ANKI_HEADLESS)
 		set(backend_sources ${backend_sources} "Vulkan/GrManagerImplHeadless.cpp")
@@ -60,10 +123,10 @@ endif()
 # Have 2 libraries. The AnKiGrCommon is the bare minimum for the AnKiShaderCompiler to work. Don't have
 # AnKiShaderCompiler depend on what AnKiGr depends on
 
-add_library(AnKiGrCommon ${common_sources})
+add_library(AnKiGrCommon ${common_sources} ${common_headers})
 target_compile_definitions(AnKiGrCommon PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiGrCommon AnKiUtil) # Only depend on Util
 
-add_library(AnKiGr ${backend_sources})
+add_library(AnKiGr ${backend_sources} ${backend_headers})
 target_compile_definitions(AnKiGr PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiGr AnKiCore AnKiSpirvCross AnKiGrCommon)

+ 2 - 1
AnKi/Importer/CMakeLists.txt

@@ -1,4 +1,5 @@
 file(GLOB_RECURSE sources *.cpp)
-add_library(AnKiImporter ${sources})
+file(GLOB_RECURSE headers *.h)
+add_library(AnKiImporter ${sources} ${headers})
 target_compile_definitions(AnKiImporter PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiImporter AnKiResource)

+ 3 - 1
AnKi/Input/CMakeLists.txt

@@ -1,3 +1,5 @@
+file(GLOB_RECURSE headers *.h)
+
 if(ANKI_HEADLESS)
 	set(sources InputDummy.cpp)
 elseif(SDL)
@@ -6,6 +8,6 @@ elseif(ANDROID)
 	set(sources InputAndroid.cpp)
 endif()
 
-add_library(AnKiInput ${sources})
+add_library(AnKiInput ${sources} ${headers})
 target_compile_definitions(AnKiInput PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiInput AnKiCore AnKiImGui)

+ 2 - 1
AnKi/Math/CMakeLists.txt

@@ -1,4 +1,5 @@
 file(GLOB_RECURSE sources *.cpp)
-add_library(AnKiMath ${sources})
+file(GLOB_RECURSE headers *.h)
+add_library(AnKiMath ${sources} ${headers})
 target_compile_definitions(AnKiMath PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiMath AnKiUtil)

+ 2 - 1
AnKi/Physics/CMakeLists.txt

@@ -1,4 +1,5 @@
 file(GLOB_RECURSE sources *.cpp)
-add_library(AnKiPhysics ${sources})
+file(GLOB_RECURSE headers *.h)
+add_library(AnKiPhysics ${sources} ${headers})
 target_compile_definitions(AnKiPhysics PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiPhysics AnKiUtil BulletSoftBody BulletDynamics BulletCollision LinearMath)

+ 2 - 1
AnKi/Renderer/CMakeLists.txt

@@ -1,4 +1,5 @@
 file(GLOB_RECURSE sources *.cpp)
-add_library(AnKiRenderer ${sources})
+file(GLOB_RECURSE headers *.h)
+add_library(AnKiRenderer ${sources} ${headers})
 target_compile_definitions(AnKiRenderer PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiRenderer AnKiGr AnKiResource AnKiUi)

+ 2 - 1
AnKi/Resource/CMakeLists.txt

@@ -1,4 +1,5 @@
 file(GLOB_RECURSE sources *.cpp)
-add_library(AnKiResource ${sources})
+file(GLOB_RECURSE headers *.h)
+add_library(AnKiResource ${sources} ${headers})
 target_compile_definitions(AnKiResource PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiResource AnKiCore AnKiGr AnKiPhysics AnKiZLib AnKiShaderCompiler)

+ 2 - 1
AnKi/Scene/CMakeLists.txt

@@ -1,4 +1,5 @@
 file(GLOB_RECURSE sources *.cpp)
-add_library(AnKiScene ${sources})
+file(GLOB_RECURSE headers *.h)
+add_library(AnKiScene ${sources} ${headers})
 target_compile_definitions(AnKiScene PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiScene AnKiResource AnKiScript AnKiCollision)

+ 2 - 1
AnKi/Script/CMakeLists.txt

@@ -1,4 +1,5 @@
 file(GLOB_RECURSE sources *.cpp)
-add_library(AnKiScript ${sources})
+file(GLOB_RECURSE headers *.h)
+add_library(AnKiScript ${sources} ${headers})
 target_compile_definitions(AnKiScript PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiScript AnKiRenderer AnKiScene AnKiMath AnKiLua)

+ 2 - 1
AnKi/ShaderCompiler/CMakeLists.txt

@@ -1,4 +1,5 @@
 file(GLOB_RECURSE sources *.cpp)
-add_library(AnKiShaderCompiler ${sources})
+file(GLOB_RECURSE headers *.h)
+add_library(AnKiShaderCompiler ${sources} ${headers})
 target_compile_definitions(AnKiShaderCompiler PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiShaderCompiler AnKiGrCommon AnKiSpirvCross glslang SPIRV OGLCompiler OSDependent)

+ 2 - 1
AnKi/Ui/CMakeLists.txt

@@ -1,4 +1,5 @@
 file(GLOB_RECURSE sources *.cpp)
-add_library(AnKiUi ${sources})
+file(GLOB_RECURSE headers *.h)
+add_library(AnKiUi ${sources} ${headers})
 target_compile_definitions(AnKiUi PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiUi AnKiGr AnKiResource AnKiImGui)

+ 3 - 1
AnKi/Util/CMakeLists.txt

@@ -38,6 +38,8 @@ elseif(WINDOWS)
 	set(sources ${sources} INotifyWindows.cpp)
 endif()
 
-add_library(AnKiUtil ${sources})
+file(GLOB_RECURSE headers *.h)
+
+add_library(AnKiUtil ${sources} ${headers})
 target_compile_definitions(AnKiUtil PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiUtil AnKiTinyXml2)

+ 1 - 1
CMakeLists.txt

@@ -216,7 +216,7 @@ if(NOT MSVC)
 	set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINKER_FLAGS}")
 else()
 	#ProcessorCount(PC)
-	#add_definitions("/MP${PC}")
+	add_compile_options("/MP")
 
 	if(${CMAKE_BUILD_TYPE} STREQUAL "Release" OR ${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo")
 		#add_definitions("/Ox")