| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- # Find XShaderCompiler dependency
- #
- # This module defines
- # XShaderCompiler_INCLUDE_DIRS
- # XShaderCompiler_LIBRARIES
- # XShaderCompiler_FOUND
- set(XShaderCompiler_INSTALL_DIR ${PROJECT_SOURCE_DIR}/../Dependencies/XShaderCompiler CACHE PATH "")
- set(XShaderCompiler_SOURCE_DIR ${PROJECT_SOURCE_DIR}/External/XShaderCompiler)
- set(XShaderCompiler_BUILD_DIR ${PROJECT_SOURCE_DIR}/../Dependencies/Build/XShaderCompiler)
- set(XShaderCompiler_INCLUDE_SEARCH_DIRS
- "${XShaderCompiler_INSTALL_DIR}/include"
- "${XShaderCompiler_SOURCE_DIR}/inc")
- if(BS_64BIT)
- list(APPEND XShaderCompiler_LIBRARY_RELEASE_SEARCH_DIRS "${XShaderCompiler_INSTALL_DIR}/lib/x64/Release")
- list(APPEND XShaderCompiler_LIBRARY_DEBUG_SEARCH_DIRS "${XShaderCompiler_INSTALL_DIR}/lib/x64/Debug")
- else()
- list(APPEND XShaderCompiler_LIBRARY_RELEASE_SEARCH_DIRS "${XShaderCompiler_INSTALL_DIR}/lib/x86/Release")
- list(APPEND XShaderCompiler_LIBRARY_DEBUG_SEARCH_DIRS "${XShaderCompiler_INSTALL_DIR}/lib/x86/Debug")
- endif()
- list(APPEND XShaderCompiler_LIBRARY_RELEASE_SEARCH_DIRS "${XShaderCompiler_BUILD_DIR}/Release/install")
- list(APPEND XShaderCompiler_LIBRARY_DEBUG_SEARCH_DIRS "${XShaderCompiler_BUILD_DIR}/Debug/install")
- message(STATUS "Looking for XShaderCompiler installation...")
-
- # Force the system to always look for files, instead of reading cached entries
- unset(XShaderCompiler_INCLUDE_DIR CACHE)
- unset(XShaderCompiler_LIBRARY_RELEASE CACHE)
- unset(XShaderCompiler_LIBRARY_DEBUG CACHE)
-
- find_path(XShaderCompiler_INCLUDE_DIR Xsc/Xsc.h PATHS ${XShaderCompiler_INCLUDE_SEARCH_DIRS})
- find_library(XShaderCompiler_LIBRARY_RELEASE NAMES xsc_core PATHS ${XShaderCompiler_LIBRARY_RELEASE_SEARCH_DIRS})
- find_library(XShaderCompiler_LIBRARY_DEBUG NAMES xsc_core PATHS ${XShaderCompiler_LIBRARY_DEBUG_SEARCH_DIRS})
- if(XShaderCompiler_INCLUDE_DIR AND XShaderCompiler_LIBRARY_DEBUG AND XShaderCompiler_LIBRARY_RELEASE)
- set(XShaderCompiler_FOUND TRUE)
- endif()
- if(NOT XShaderCompiler_FOUND)
- if(XShaderCompiler_FIND_REQUIRED)
- message(FATAL_ERROR "Cannot find XShaderCompiler installation. Try modifying the XShaderCompiler_INSTALL_DIR path.")
- elseif(NOT XShaderCompiler_FIND_QUIETLY)
- message(WARNING "Cannot find XShaderCompiler installation. Try modifying the XShaderCompiler_INSTALL_DIR path.")
- endif()
- else()
- message(STATUS "...XShaderCompiler OK.")
- endif()
- if(XShaderCompiler_FOUND)
- add_library(XShaderCompiler STATIC IMPORTED)
- set_target_properties(XShaderCompiler PROPERTIES IMPORTED_LOCATION_DEBUG "${XShaderCompiler_LIBRARY_DEBUG}")
- set_target_properties(XShaderCompiler PROPERTIES IMPORTED_LOCATION_OPTIMIZEDDEBUG "${XShaderCompiler_LIBRARY_DEBUG}")
- set_target_properties(XShaderCompiler PROPERTIES IMPORTED_LOCATION_RELEASE "${XShaderCompiler_LIBRARY_RELEASE}")
- endif()
- mark_as_advanced(
- XShaderCompiler_INSTALL_DIR
- XShaderCompiler_INCLUDE_DIR
- XShaderCompiler_LIBRARY_RELEASE
- XShaderCompiler_LIBRARY_DEBUG)
- set(XShaderCompiler_INCLUDE_DIRS ${XShaderCompiler_INCLUDE_DIR})
- set(XShaderCompiler_LIBRARIES XShaderCompiler)
- set(XShaderCompiler_INCLUDE_DIRS ${XShaderCompiler_INCLUDE_DIR} PARENT_SCOPE)
- set(XShaderCompiler_LIBRARIES XShaderCompiler PARENT_SCOPE)
|