Просмотр исходного кода

Feature: Updated the build system
- Imported target includes are now specified as part of the 'target' and no longer have to be specified manually
- Added a more general (and cross-platform) way of finding libraries for imported targets
- FindVulkan now looks for the install path using VULKAN_SDK env. var., and also handled Linux/Mac paths

BearishSun 8 лет назад
Родитель
Сommit
32cb528a32

+ 3 - 4
Source/BansheeCore/CMakeLists.txt

@@ -2,13 +2,12 @@
 include(CMakeSources.cmake)
 
 # Packages
-find_package(NVTT REQUIRED)
+find_package(nvtt REQUIRED)
 
 # Includes
 set(BansheeCore_INC 
 	"./" 
-	"../BansheeUtility" 
-	${NVTT_INCLUDE_DIRS})
+	"../BansheeUtility")
 
 if(WIN32)
 	set(BansheeCore_INC ${BansheeCore_INC} "Win32")
@@ -24,7 +23,7 @@ target_compile_definitions(BansheeCore PRIVATE -DBS_CORE_EXPORTS)
 
 # Libraries
 ## External lib: NVTT
-target_link_libraries(BansheeCore PUBLIC ${NVTT_LIBRARIES})	
+target_link_libraries(BansheeCore PUBLIC ${nvtt_LIBRARIES})	
 
 ## Local libs
 target_link_libraries(BansheeCore PUBLIC BansheeUtility)	

+ 3 - 4
Source/BansheeUtility/CMakeLists.txt

@@ -2,13 +2,12 @@
 include(CMakeSources.cmake)
 
 # Packages
-find_package(Snappy REQUIRED)
+find_package(snappy REQUIRED)
 
 # Includes
 set(BansheeUtility_INC 
 	"./" 
-	"ThirdParty"
-	${Snappy_INCLUDE_DIRS})
+	"ThirdParty")
 
 if(WIN32)
 	set(BansheeUtility_INC ${BansheeUtility_INC} "Win32")
@@ -29,7 +28,7 @@ target_compile_definitions(BansheeUtility PRIVATE -DBS_UTILITY_EXPORTS)
 
 # Libraries
 ## External lib: Snappy
-target_link_libraries(BansheeUtility ${Snappy_LIBRARIES})	
+target_link_libraries(BansheeUtility ${snappy_LIBRARIES})	
 
 ## OS libs
 if(WIN32)

+ 1 - 2
Source/BansheeVulkanRenderAPI/CMakeLists.txt

@@ -12,8 +12,7 @@ set(BansheeVulkanRenderAPI_INC
 	"./" 
 	"../BansheeUtility" 
 	"../BansheeCore"
-	${Vulkan_INCLUDE_DIR}
-	${glslang_INCLUDE_DIR})
+)
 
 if(WIN32)
 	set(BansheeVulkanRenderAPI_INC ${BansheeVulkanRenderAPI_INC} "Source/Win32")

+ 27 - 7
Source/CMake/Common.cmake

@@ -44,22 +44,42 @@ function(add_subdirectory_optional subdir_name)
 	endif()
 endfunction()
 
-MACRO(find_imported_library FOLDER_NAME LIB_NAME)
-	find_library(${LIB_NAME}_LIBRARY_RELEASE NAMES ${LIB_NAME} PATHS ${${FOLDER_NAME}_LIBRARY_RELEASE_SEARCH_DIRS})
-	find_library(${LIB_NAME}_LIBRARY_DEBUG NAMES ${LIB_NAME} PATHS ${${FOLDER_NAME}_LIBRARY_DEBUG_SEARCH_DIRS})
+MACRO(add_imported_library LIB_NAME RELEASE_NAME DEBUG_NAME)
+	add_library(${LIB_NAME} STATIC IMPORTED)
+	
+	if(CMAKE_CONFIGURATION_TYPES) # Multiconfig generator?
+		set_target_properties(${LIB_NAME} PROPERTIES IMPORTED_LOCATION_DEBUG "${DEBUG_NAME}")
+		set_target_properties(${LIB_NAME} PROPERTIES IMPORTED_LOCATION_OPTIMIZEDDEBUG "${RELEASE_NAME}")
+		set_target_properties(${LIB_NAME} PROPERTIES IMPORTED_LOCATION_RELEASE "${RELEASE_NAME}")
+	else()
+		set_target_properties(${LIB_NAME} PROPERTIES IMPORTED_LOCATION "${RELEASE_NAME}")
+	endif()
+ENDMACRO()
 
+MACRO(find_imported_library2 FOLDER_NAME LIB_NAME DEBUG_LIB_NAME)
+	find_library(${LIB_NAME}_LIBRARY_RELEASE NAMES ${LIB_NAME} PATHS ${${FOLDER_NAME}_LIBRARY_RELEASE_SEARCH_DIRS})
+	
+	if(${FOLDER_NAME}_LIBRARY_DEBUG_SEARCH_DIRS)
+		find_library(${LIB_NAME}_LIBRARY_DEBUG NAMES ${DEBUG_LIB_NAME} PATHS ${${FOLDER_NAME}_LIBRARY_DEBUG_SEARCH_DIRS})
+	else()
+		find_library(${LIB_NAME}_LIBRARY_DEBUG NAMES ${DEBUG_LIB_NAME} PATHS ${${FOLDER_NAME}_LIBRARY_RELEASE_SEARCH_DIRS})
+	endif()
+		
 	if(${LIB_NAME}_LIBRARY_RELEASE AND ${LIB_NAME}_LIBRARY_DEBUG)
-		add_library(${LIB_NAME} STATIC IMPORTED)
-		set_target_properties(${LIB_NAME} PROPERTIES IMPORTED_LOCATION_DEBUG "${${LIB_NAME}_LIBRARY_DEBUG}")
-		set_target_properties(${LIB_NAME} PROPERTIES IMPORTED_LOCATION_OPTIMIZEDDEBUG "${${LIB_NAME}_LIBRARY_DEBUG}")
-		set_target_properties(${LIB_NAME} PROPERTIES IMPORTED_LOCATION_RELEASE "${${LIB_NAME}_LIBRARY_RELEASE}")
+		add_imported_library(${FOLDER_NAME}::${LIB_NAME} "${${LIB_NAME}_LIBRARY_RELEASE}" "${${LIB_NAME}_LIBRARY_DEBUG}")
 	else()
 		set(${FOLDER_NAME}_FOUND FALSE)
+		message("Cannot find imported library: ${LIB_NAME} ${${LIB_NAME}_LIBRARY_RELEASE}")
 	endif()
 
+	list(APPEND ${FOLDER_NAME}_LIBRARIES ${FOLDER_NAME}::${LIB_NAME})
 	mark_as_advanced(${LIB_NAME}_LIBRARY_RELEASE ${LIB_NAME}_LIBRARY_DEBUG)
 ENDMACRO()
 
+MACRO(find_imported_library FOLDER_NAME LIB_NAME)
+	find_imported_library2(${FOLDER_NAME} ${LIB_NAME} ${LIB_NAME})
+ENDMACRO()
+
 function(update_binary_deps)
 	# Clean and create a temporary folder
 	execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory ${PROJECT_SOURCE_DIR}/../Temp)	

+ 31 - 31
Source/CMake/Modules/FindNVTT.cmake

@@ -1,51 +1,51 @@
-# Find NVTT dependency
+# Find nvtt dependency
 #
 # This module defines
-#  NVTT_INCLUDE_DIRS
-#  NVTT_LIBRARIES
-#  NVTT_FOUND
+#  nvtt_INCLUDE_DIRS
+#  nvtt_LIBRARIES
+#  nvtt_FOUND
 
-set(NVTT_INSTALL_DIR ${PROJECT_SOURCE_DIR}/../Dependencies/NVTT CACHE PATH "")
-set(NVTT_INCLUDE_SEARCH_DIRS "${NVTT_INSTALL_DIR}/include")
+set(nvtt_INSTALL_DIR ${PROJECT_SOURCE_DIR}/../Dependencies/nvtt CACHE PATH "")
+set(nvtt_INCLUDE_SEARCH_DIRS "${nvtt_INSTALL_DIR}/include")
 
 if(BS_64BIT)
-	list(APPEND NVTT_LIBRARY_RELEASE_SEARCH_DIRS "${NVTT_INSTALL_DIR}/lib/x64/Release")
-	list(APPEND NVTT_LIBRARY_DEBUG_SEARCH_DIRS "${NVTT_INSTALL_DIR}/lib/x64/Debug")
+	list(APPEND nvtt_LIBRARY_RELEASE_SEARCH_DIRS "${nvtt_INSTALL_DIR}/lib/x64/Release")
+	list(APPEND nvtt_LIBRARY_DEBUG_SEARCH_DIRS "${nvtt_INSTALL_DIR}/lib/x64/Debug")
 else()
-	list(APPEND NVTT_LIBRARY_RELEASE_SEARCH_DIRS "${NVTT_INSTALL_DIR}/lib/x86/Release")
-	list(APPEND NVTT_LIBRARY_DEBUG_SEARCH_DIRS "${NVTT_INSTALL_DIR}/lib/x86/Debug")
+	list(APPEND nvtt_LIBRARY_RELEASE_SEARCH_DIRS "${nvtt_INSTALL_DIR}/lib/x86/Release")
+	list(APPEND nvtt_LIBRARY_DEBUG_SEARCH_DIRS "${nvtt_INSTALL_DIR}/lib/x86/Debug")
 endif()
 
 message(STATUS "Looking for NVTT installation...")
 	
-find_path(NVTT_INCLUDE_DIR nvtt.h PATHS ${NVTT_INCLUDE_SEARCH_DIRS})	
+find_path(nvtt_INCLUDE_DIR nvtt.h PATHS ${nvtt_INCLUDE_SEARCH_DIRS})	
 	
-if(NVTT_INCLUDE_DIR)
-	set(NVTT_FOUND TRUE)
+if(nvtt_INCLUDE_DIR)
+	set(nvtt_FOUND TRUE)
 else()
-	set(NVTT_FOUND FALSE)
+	set(nvtt_FOUND FALSE)
 endif()	
 	
-find_imported_library(NVTT nvtt)
-find_imported_library(NVTT bc6h)
-find_imported_library(NVTT bc7)
-find_imported_library(NVTT nvcore)
-find_imported_library(NVTT nvimage)
-find_imported_library(NVTT nvmath)
-find_imported_library(NVTT nvthread)
-find_imported_library(NVTT squish)
+find_imported_library(nvtt nvtt)
+find_imported_library(nvtt bc6h)
+find_imported_library(nvtt bc7)
+find_imported_library(nvtt nvcore)
+find_imported_library(nvtt nvimage)
+find_imported_library(nvtt nvmath)
+find_imported_library(nvtt nvthread)
+find_imported_library(nvtt squish)
 
-if(NOT NVTT_FOUND)
-	if(NVTT_FIND_REQUIRED)
-		message(FATAL_ERROR "Cannot find NVTT installation. Try modifying the NVTT_INSTALL_DIR path.")
-	elseif(NOT NVTT_FIND_QUIETLY)
-		message(WARNING "Cannot find NVTT installation. Try modifying the NVTT_INSTALL_DIR path.")
+if(NOT nvtt_FOUND)
+	if(nvtt_FIND_REQUIRED)
+		message(FATAL_ERROR "Cannot find nvtt installation. Try modifying the nvtt_INSTALL_DIR path.")
+	elseif(NOT nvtt_FIND_QUIETLY)
+		message(WARNING "Cannot find nvtt installation. Try modifying the nvtt_INSTALL_DIR path.")
 	endif()
 else()
-	message(STATUS "...NVTT OK.")
+	set_target_properties(nvtt::nvtt PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${nvtt_INCLUDE_DIR}")	
+	message(STATUS "...nvtt OK.")
 endif()
 
-mark_as_advanced(NVTT_INSTALL_DIR NVTT_INCLUDE_DIR)
+mark_as_advanced(nvtt_INSTALL_DIR nvtt_INCLUDE_DIR)
 
-set(NVTT_INCLUDE_DIRS ${NVTT_INCLUDE_DIR})
-set(NVTT_LIBRARIES nvtt bc6h bc7 nvcore nvimage nvmath nvthread squish)
+set(nvtt_INCLUDE_DIRS ${nvtt_INCLUDE_DIR})

+ 23 - 23
Source/CMake/Modules/FindSnappy.cmake

@@ -1,44 +1,44 @@
 # Find Snappy dependency
 #
 # This module defines
-#  Snappy_INCLUDE_DIRS
-#  Snappy_LIBRARIES
-#  Snappy_FOUND
+#  snappy_INCLUDE_DIRS
+#  snappy_LIBRARIES
+#  snappy_FOUND
 
-set(Snappy_INSTALL_DIR ${PROJECT_SOURCE_DIR}/../Dependencies/Snappy CACHE PATH "")
-set(Snappy_INCLUDE_SEARCH_DIRS "${Snappy_INSTALL_DIR}/include")
+set(snappy_INSTALL_DIR ${PROJECT_SOURCE_DIR}/../Dependencies/snappy CACHE PATH "")
+set(snappy_INCLUDE_SEARCH_DIRS "${snappy_INSTALL_DIR}/include")
 
 if(BS_64BIT)
-	list(APPEND Snappy_LIBRARY_RELEASE_SEARCH_DIRS "${Snappy_INSTALL_DIR}/lib/x64/Release")
-	list(APPEND Snappy_LIBRARY_DEBUG_SEARCH_DIRS "${Snappy_INSTALL_DIR}/lib/x64/Debug")
+	list(APPEND snappy_LIBRARY_RELEASE_SEARCH_DIRS "${snappy_INSTALL_DIR}/lib/x64/Release")
+	list(APPEND snappy_LIBRARY_DEBUG_SEARCH_DIRS "${snappy_INSTALL_DIR}/lib/x64/Debug")
 else()
-	list(APPEND Snappy_LIBRARY_RELEASE_SEARCH_DIRS "${Snappy_INSTALL_DIR}/lib/x86/Release")
-	list(APPEND Snappy_LIBRARY_DEBUG_SEARCH_DIRS "${Snappy_INSTALL_DIR}/lib/x86/Debug")
+	list(APPEND snappy_LIBRARY_RELEASE_SEARCH_DIRS "${snappy_INSTALL_DIR}/lib/x86/Release")
+	list(APPEND snappy_LIBRARY_DEBUG_SEARCH_DIRS "${snappy_INSTALL_DIR}/lib/x86/Debug")
 endif()
 
 message(STATUS "Looking for Snappy installation...")
 	
-find_path(Snappy_INCLUDE_DIR snappy.h PATHS ${Snappy_INCLUDE_SEARCH_DIRS})	
+find_path(snappy_INCLUDE_DIR snappy.h PATHS ${snappy_INCLUDE_SEARCH_DIRS})	
 	
-if(Snappy_INCLUDE_DIR)
-	set(Snappy_FOUND TRUE)
+if(snappy_INCLUDE_DIR)
+	set(snappy_FOUND TRUE)
 else()
-	set(Snappy_FOUND FALSE)
+	set(snappy_FOUND FALSE)
 endif()	
 	
-find_imported_library(Snappy Snappy)
+find_imported_library(snappy snappy)
 
-if(NOT Snappy_FOUND)
-	if(Snappy_FIND_REQUIRED)
-		message(FATAL_ERROR "Cannot find Snappy installation. Try modifying the Snappy_INSTALL_DIR path.")
-	elseif(NOT Snappy_FIND_QUIETLY)
-		message(WARNING "Cannot find Snappy installation. Try modifying the Snappy_INSTALL_DIR path.")
+if(NOT snappy_FOUND)
+	if(snappy_FIND_REQUIRED)
+		message(FATAL_ERROR "Cannot find snappy installation. Try modifying the snappy_INSTALL_DIR path.")
+	elseif(NOT snappy_FIND_QUIETLY)
+		message(WARNING "Cannot find snappy installation. Try modifying the snappy_INSTALL_DIR path.")
 	endif()
 else()
-	message(STATUS "...Snappy OK.")
+	set_target_properties(snappy::snappy PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${snappy_INCLUDE_DIR}")
+	message(STATUS "...snappy OK.")
 endif()
 
-mark_as_advanced(Snappy_INSTALL_DIR Snappy_INCLUDE_DIR)
+mark_as_advanced(snappy_INSTALL_DIR snappy_INCLUDE_DIR)
 
-set(Snappy_INCLUDE_DIRS ${Snappy_INCLUDE_DIR})
-set(Snappy_LIBRARIES Snappy)
+set(snappy_INCLUDE_DIRS ${snappy_INCLUDE_DIR})

+ 16 - 17
Source/CMake/Modules/FindVulkan.cmake

@@ -5,24 +5,26 @@
 #  Vulkan_LIBRARIES
 #  Vulkan_FOUND
 
-# TODO: Set default install paths for mac/unix
-# TODO: Don't hardcode the version (instead use regex or GLOB to match latest)
-set(Vulkan_INSTALL_DIRS "C:/VulkanSDK/1.0.37.0" CACHE PATH "")
-set(Vulkan_INCLUDE_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Include")
+set(Vulkan_INSTALL_DIRS "$ENV{VULKAN_SDK}" CACHE PATH "")
 
-if(BS_64BIT)
-	set(Vulkan_LIBRARY_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Bin")
+if(WIN32)
+	set(Vulkan_INCLUDE_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Include")
+	
+	if(BS_64BIT)
+		set(Vulkan_LIBRARY_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Bin")
+	else()
+		set(Vulkan_LIBRARY_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Bin32")
+	endif()
 else()
-	set(Vulkan_LIBRARY_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/Bin32")
+	set(Vulkan_INCLUDE_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/include")
+	set(Vulkan_LIBRARY_SEARCH_DIRS "${Vulkan_INSTALL_DIRS}/lib")
 endif()
 
 message(STATUS "Looking for Vulkan installation...")
 find_path(Vulkan_INCLUDE_DIR vulkan/vulkan.h PATHS ${Vulkan_INCLUDE_SEARCH_DIRS})
+find_library(Vulkan_LIBRARY NAMES vulkan-1 PATHS ${Vulkan_LIBRARY_SEARCH_DIRS})
 
-find_library(Vulkan_LIBRARY_OPTIMIZED NAMES vulkan-1 PATHS ${Vulkan_LIBRARY_SEARCH_DIRS})
-find_library(Vulkan_LIBRARY_DEBUG NAMES vulkan-1 PATHS ${Vulkan_LIBRARY_SEARCH_DIRS})
-
-if(Vulkan_INCLUDE_DIR AND Vulkan_LIBRARY_OPTIMIZED AND Vulkan_LIBRARY_DEBUG)
+if(Vulkan_INCLUDE_DIR AND Vulkan_LIBRARY)
 	set(Vulkan_FOUND TRUE)
 endif()
 
@@ -37,16 +39,13 @@ else()
 endif()
 
 if(Vulkan_FOUND)
-	add_library(Vulkan STATIC IMPORTED)
-	set_target_properties(Vulkan PROPERTIES IMPORTED_LOCATION_DEBUG "${Vulkan_LIBRARY_DEBUG}")
-	set_target_properties(Vulkan PROPERTIES IMPORTED_LOCATION_OPTIMIZEDDEBUG "${Vulkan_LIBRARY_DEBUG}")
-	set_target_properties(Vulkan PROPERTIES IMPORTED_LOCATION_RELEASE "${Vulkan_LIBRARY_OPTIMIZED}")
+	add_imported_library(Vulkan "${Vulkan_LIBRARY}" "${Vulkan_LIBRARY}")
+	set_target_properties(Vulkan PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${Vulkan_INCLUDE_DIR}")
 endif()
 
 mark_as_advanced(
 	Vulkan_INSTALL_DIRS 
 	Vulkan_INCLUDE_DIR 
-	Vulkan_LIBRARY_OPTIMIZED 
-	Vulkan_LIBRARY_DEBUG)
+	Vulkan_LIBRARY)
 set(Vulkan_INCLUDE_DIRS ${Vulkan_INCLUDE_DIR})
 set(Vulkan_LIBRARIES Vulkan)

+ 15 - 56
Source/CMake/Modules/Findglslang.cmake

@@ -9,35 +9,27 @@ set(glslang_INSTALL_DIRS ${PROJECT_SOURCE_DIR}/../Dependencies/glslang CACHE PAT
 set(glslang_INCLUDE_SEARCH_DIRS "${glslang_INSTALL_DIRS}/include")
 
 if(BS_64BIT)
-	set(glslang_LIBRARY_SEARCH_DIRS "${glslang_INSTALL_DIRS}/lib/x64")
+	set(glslang_LIBRARY_RELEASE_SEARCH_DIRS "${glslang_INSTALL_DIRS}/lib/x64")
 else()
-	set(glslang_LIBRARY_SEARCH_DIRS "${glslang_INSTALL_DIRS}/lib/x86")
+	set(glslang_LIBRARY_RELEASE_SEARCH_DIRS "${glslang_INSTALL_DIRS}/lib/x86")
 endif()
 
 message(STATUS "Looking for glslang installation...")
-find_path(glslang_INCLUDE_DIR glslang/Public/ShaderLang.h PATHS ${glslang_INCLUDE_SEARCH_DIRS})
 
-find_library(glslang_LIBRARY_OPTIMIZED NAMES glslang PATHS ${glslang_LIBRARY_SEARCH_DIRS})
-find_library(glslangHLSL_LIBRARY_OPTIMIZED NAMES HLSL PATHS ${glslang_LIBRARY_SEARCH_DIRS})
-find_library(glslangOSDependent_LIBRARY_OPTIMIZED NAMES OSDependent PATHS ${glslang_LIBRARY_SEARCH_DIRS})
-find_library(glslangOGLCompiler_LIBRARY_OPTIMIZED NAMES OGLCompiler PATHS ${glslang_LIBRARY_SEARCH_DIRS})
-find_library(glslangSPIRV_LIBRARY_OPTIMIZED NAMES SPIRV PATHS ${glslang_LIBRARY_SEARCH_DIRS})
-find_library(glslang_LIBRARY_DEBUG NAMES glslangd glslang PATHS ${glslang_LIBRARY_SEARCH_DIRS})
-find_library(glslangHLSL_LIBRARY_DEBUG NAMES HLSLd HLSL PATHS ${glslang_LIBRARY_SEARCH_DIRS})
-find_library(glslangOSDependent_LIBRARY_DEBUG NAMES OSDependentd OSDependent PATHS ${glslang_LIBRARY_SEARCH_DIRS})
-find_library(glslangOGLCompiler_LIBRARY_DEBUG NAMES OGLCompilerd OGLCompiler PATHS ${glslang_LIBRARY_SEARCH_DIRS})
-find_library(glslangSPIRV_LIBRARY_DEBUG NAMES SPIRVd PATHS ${glslang_LIBRARY_SEARCH_DIRS})
+find_path(glslang_INCLUDE_DIR glslang/Public/ShaderLang.h PATHS ${glslang_INCLUDE_SEARCH_DIRS})
 
-if(glslang_INCLUDE_DIR AND 
-	glslang_LIBRARY_OPTIMIZED AND glslang_LIBRARY_DEBUG AND
-	glslangHLSL_LIBRARY_OPTIMIZED AND glslangHLSL_LIBRARY_DEBUG AND
-	glslangOSDependent_LIBRARY_OPTIMIZED AND glslangOSDependent_LIBRARY_DEBUG AND
-	glslangOGLCompiler_LIBRARY_OPTIMIZED AND glslangOGLCompiler_LIBRARY_DEBUG AND
-	glslangSPIRV_LIBRARY_OPTIMIZED AND glslangSPIRV_LIBRARY_DEBUG
-	)
+if(glslang_INCLUDE_DIR)
 	set(glslang_FOUND TRUE)
+else()
+	set(glslang_FOUND FALSE)
 endif()
 
+find_imported_library2(glslang glslang glslangd)
+find_imported_library2(glslang HLSL HLSLd)
+find_imported_library2(glslang OSDependent OSDependentd)
+find_imported_library2(glslang OGLCompiler OGLCompilerd)
+find_imported_library2(glslang SPIRV SPIRVd)
+
 if(NOT glslang_FOUND)
 	if(glslang_FIND_REQUIRED)
 		message(FATAL_ERROR "Cannot find glslang installation. Try modifying the glslang_INSTALL_DIRS path.")
@@ -49,45 +41,12 @@ else()
 endif()
 
 if(glslang_FOUND)
-	add_library(glslang STATIC IMPORTED)
-	set_target_properties(glslang PROPERTIES IMPORTED_LOCATION_DEBUG "${glslang_LIBRARY_DEBUG}")
-	set_target_properties(glslang PROPERTIES IMPORTED_LOCATION_OPTIMIZEDDEBUG "${glslang_LIBRARY_DEBUG}")
-	set_target_properties(glslang PROPERTIES IMPORTED_LOCATION_RELEASE "${glslang_LIBRARY_OPTIMIZED}")
-	
-	add_library(glslangHLSL STATIC IMPORTED)
-	set_target_properties(glslangHLSL PROPERTIES IMPORTED_LOCATION_DEBUG "${glslangHLSL_LIBRARY_DEBUG}")
-	set_target_properties(glslangHLSL PROPERTIES IMPORTED_LOCATION_OPTIMIZEDDEBUG "${glslangHLSL_LIBRARY_DEBUG}")
-	set_target_properties(glslangHLSL PROPERTIES IMPORTED_LOCATION_RELEASE "${glslangHLSL_LIBRARY_OPTIMIZED}")
-
-	add_library(glslangOSDependent STATIC IMPORTED)
-	set_target_properties(glslangOSDependent PROPERTIES IMPORTED_LOCATION_DEBUG "${glslangOSDependent_LIBRARY_DEBUG}")
-	set_target_properties(glslangOSDependent PROPERTIES IMPORTED_LOCATION_OPTIMIZEDDEBUG "${glslangOSDependent_LIBRARY_DEBUG}")
-	set_target_properties(glslangOSDependent PROPERTIES IMPORTED_LOCATION_RELEASE "${glslangOSDependent_LIBRARY_OPTIMIZED}")
-
-	add_library(glslangOGLCompiler STATIC IMPORTED)
-	set_target_properties(glslangOGLCompiler PROPERTIES IMPORTED_LOCATION_DEBUG "${glslangOGLCompiler_LIBRARY_DEBUG}")
-	set_target_properties(glslangOGLCompiler PROPERTIES IMPORTED_LOCATION_OPTIMIZEDDEBUG "${glslangOGLCompiler_LIBRARY_DEBUG}")
-	set_target_properties(glslangOGLCompiler PROPERTIES IMPORTED_LOCATION_RELEASE "${glslangOGLCompiler_LIBRARY_OPTIMIZED}")
-
-	add_library(glslangSPIRV STATIC IMPORTED)
-	set_target_properties(glslangSPIRV PROPERTIES IMPORTED_LOCATION_DEBUG "${glslangSPIRV_LIBRARY_DEBUG}")
-	set_target_properties(glslangSPIRV PROPERTIES IMPORTED_LOCATION_OPTIMIZEDDEBUG "${glslangSPIRV_LIBRARY_DEBUG}")
-	set_target_properties(glslangSPIRV PROPERTIES IMPORTED_LOCATION_RELEASE "${glslangSPIRV_LIBRARY_OPTIMIZED}")	
+	set_target_properties(glslang::glslang PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${glslang_INCLUDE_DIR}")	
 endif()
 
 mark_as_advanced(
 	glslang_INSTALL_DIRS 
 	glslang_INCLUDE_DIR 
-	glslang_LIBRARY_OPTIMIZED 
-	glslangHLSL_LIBRARY_OPTIMIZED 
-	glslangOSDependent_LIBRARY_OPTIMIZED
-	glslangSPIRV_LIBRARY_OPTIMIZED
-	glslangOGLCompiler_LIBRARY_OPTIMIZED
-	glslang_LIBRARY_DEBUG
-	glslangHLSL_LIBRARY_DEBUG
-	glslangOSDependent_LIBRARY_DEBUG
-	glslangOGLCompiler_LIBRARY_DEBUG
-	glslangSPIRV_LIBRARY_DEBUG)
+)
 
-set(glslang_INCLUDE_DIRS ${glslang_INCLUDE_DIR})
-set(glslang_LIBRARIES glslang glslangHLSL glslangOSDependent glslangOGLCompiler glslangSPIRV)
+set(glslang_INCLUDE_DIRS ${glslang_INCLUDE_DIR})