summaryrefslogtreecommitdiff
path: root/CMakeModules
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeModules')
-rw-r--r--CMakeModules/DownloadExternals.cmake18
1 files changed, 18 insertions, 0 deletions
diff --git a/CMakeModules/DownloadExternals.cmake b/CMakeModules/DownloadExternals.cmake
index 972f5ca74..a52148bd8 100644
--- a/CMakeModules/DownloadExternals.cmake
+++ b/CMakeModules/DownloadExternals.cmake
@@ -36,3 +36,21 @@ endif()
36message(STATUS "Using bundled binaries at ${prefix}") 36message(STATUS "Using bundled binaries at ${prefix}")
37set(${prefix_var} "${prefix}" PARENT_SCOPE) 37set(${prefix_var} "${prefix}" PARENT_SCOPE)
38endfunction() 38endfunction()
39
40function(download_moltenvk_external platform version)
41 set(MOLTENVK_DIR "${CMAKE_BINARY_DIR}/externals/MoltenVK")
42 set(MOLTENVK_TAR "${CMAKE_BINARY_DIR}/externals/MoltenVK.tar")
43 if (NOT EXISTS ${MOLTENVK_DIR})
44 if (NOT EXISTS ${MOLTENVK_TAR})
45 file(DOWNLOAD https://github.com/KhronosGroup/MoltenVK/releases/download/${version}/MoltenVK-${platform}.tar
46 ${MOLTENVK_TAR} SHOW_PROGRESS)
47 endif()
48
49 execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "${MOLTENVK_TAR}"
50 WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/externals")
51 endif()
52
53 # Add the MoltenVK library path to the prefix so find_library can locate it.
54 list(APPEND CMAKE_PREFIX_PATH "${MOLTENVK_DIR}/MoltenVK/dylib/${platform}")
55 set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
56endfunction()