/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
release-20.8
Code/BuildSystem/CMake/FindEzFmod.cmake
95 строк
4 KB
Sanakan8472
PhysX 4.1.1 upgrade
26 апр 2020, 13:15
26 апр 2020, 13:15
bfb9a8e
Код
Авторство
О чём код?
# find the folder into which Fmod has been installed # conveniently, the Fmod installer will set a registry entry for this, so just look it up # early out, if this target has been created before if (TARGET ezFmod::Core) return() endif() if (CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # UWP builds find_path(EZ_FMOD_DIR api/core/inc/fmod.h PATHS [HKEY_CURRENT_USER\\Software\\FMOD\ Studio\ API\ Universal\ Windows\ Platform] ) set(FMOD_DLL_SUFFIX ".dll") set(FMOD_LIB_SUFFIX ".lib") else() # Desktop Windows builds find_path(EZ_FMOD_DIR api/core/inc/fmod.h PATHS [HKEY_CURRENT_USER\\Software\\FMOD\ Studio\ API\ Windows] ) set(FMOD_DLL_SUFFIX ".dll") set(FMOD_LIB_SUFFIX "_vc.lib") endif() set (FMOD_DIR_STUDIO "${EZ_FMOD_DIR}/api/studio") set (FMOD_DIR_FSBANK "${EZ_FMOD_DIR}/api/fsbank") set (FMOD_DIR_CORE "${EZ_FMOD_DIR}/api/core") if (EZ_CMAKE_ARCHITECTURE_ARM) if(CMAKE_SIZEOF_VOID_P EQUAL 8) message(FATAL_ERROR "Fmod does not support arm64, or support needs to be added to ez once binaries available") else() set(FMOD_LIB_ARCH "arm") endif() else() if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(FMOD_LIB_ARCH "x64") else() set(FMOD_LIB_ARCH "x86") endif() endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(EzFmod DEFAULT_MSG EZ_FMOD_DIR) if (EZFMOD_FOUND) set(FMOD_DEBUG_SUFFIX, "") # set this, if you want the 'logging' libraries #set(FMOD_DEBUG_SUFFIX, "L") add_library(ezFmod::Core SHARED IMPORTED) set_target_properties(ezFmod::Core PROPERTIES IMPORTED_LOCATION "${FMOD_DIR_CORE}/lib/${FMOD_LIB_ARCH}/fmod${FMOD_DLL_SUFFIX}") set_target_properties(ezFmod::Core PROPERTIES IMPORTED_LOCATION_DEBUG "${FMOD_DIR_CORE}/lib/${FMOD_LIB_ARCH}/fmod${FMOD_DEBUG_SUFFIX}${FMOD_DLL_SUFFIX}") set_target_properties(ezFmod::Core PROPERTIES IMPORTED_IMPLIB "${FMOD_DIR_CORE}/lib/${FMOD_LIB_ARCH}/fmod${FMOD_LIB_SUFFIX}") set_target_properties(ezFmod::Core PROPERTIES IMPORTED_IMPLIB_DEBUG "${FMOD_DIR_CORE}/lib/${FMOD_LIB_ARCH}/fmod${FMOD_DEBUG_SUFFIX}${FMOD_LIB_SUFFIX}") set_target_properties(ezFmod::Core PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${FMOD_DIR_CORE}/inc") ez_uwp_mark_import_as_content(ezFmod::Core) add_library(ezFmod::FsBank SHARED IMPORTED) set_target_properties(ezFmod::FsBank PROPERTIES IMPORTED_LOCATION "${FMOD_DIR_FSBANK}/lib/${FMOD_LIB_ARCH}/fsbank${FMOD_DLL_SUFFIX}") set_target_properties(ezFmod::FsBank PROPERTIES IMPORTED_LOCATION_DEBUG "${FMOD_DIR_FSBANK}/lib/${FMOD_LIB_ARCH}/fsbank${FMOD_DEBUG_SUFFIX}${FMOD_DLL_SUFFIX}") set_target_properties(ezFmod::FsBank PROPERTIES IMPORTED_IMPLIB "${FMOD_DIR_FSBANK}/lib/${FMOD_LIB_ARCH}/fsbank${FMOD_LIB_SUFFIX}") set_target_properties(ezFmod::FsBank PROPERTIES IMPORTED_IMPLIB_DEBUG "${FMOD_DIR_FSBANK}/lib/${FMOD_LIB_ARCH}/fsbank${FMOD_DEBUG_SUFFIX}${FMOD_LIB_SUFFIX}") set_target_properties(ezFmod::FsBank PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${FMOD_DIR_FSBANK}/inc") ez_uwp_mark_import_as_content(ezFmod::FsBank) add_library(ezFmod::Studio SHARED IMPORTED) set_target_properties(ezFmod::Studio PROPERTIES IMPORTED_LOCATION "${FMOD_DIR_STUDIO}/lib/${FMOD_LIB_ARCH}/fmodstudio${FMOD_DLL_SUFFIX}") set_target_properties(ezFmod::Studio PROPERTIES IMPORTED_LOCATION_DEBUG "${FMOD_DIR_STUDIO}/lib/${FMOD_LIB_ARCH}/fmodstudio${FMOD_DEBUG_SUFFIX}${FMOD_DLL_SUFFIX}") set_target_properties(ezFmod::Studio PROPERTIES IMPORTED_IMPLIB "${FMOD_DIR_STUDIO}/lib/${FMOD_LIB_ARCH}/fmodstudio${FMOD_LIB_SUFFIX}") set_target_properties(ezFmod::Studio PROPERTIES IMPORTED_IMPLIB_DEBUG "${FMOD_DIR_STUDIO}/lib/${FMOD_LIB_ARCH}/fmodstudio${FMOD_DEBUG_SUFFIX}${FMOD_LIB_SUFFIX}") set_target_properties(ezFmod::Studio PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${FMOD_DIR_STUDIO}/inc") target_link_libraries(ezFmod::Studio INTERFACE ezFmod::Core) ez_uwp_mark_import_as_content(ezFmod::Studio) endif() mark_as_advanced(FORCE EZ_FMOD_DIR) unset (FMOD_DIR_STUDIO) unset (FMOD_DIR_FSBANK) unset (FMOD_DIR_CORE) unset (FMOD_DLL_SUFFIX) unset (FMOD_LIB_SUFFIX) unset (FMOD_LIB_ARCH)