Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: CMake only PR. #1947

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
cmake_minimum_required(VERSION 3.25)
billhollings marked this conversation as resolved.
Show resolved Hide resolved
project(MoltenVK)

set(MVK_GIT_REV "unknown")

find_package(Git)
if(GIT_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
OUTPUT_VARIABLE MVK_GIT_REV
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
message( STATUS "GIT hash: ${MVK_GIT_REV}")
else()
message(STATUS "GIT not found")
endif()

configure_file(${CMAKE_CURRENT_LIST_DIR}/mvkGitRevDerived.h.in
${CMAKE_CURRENT_BINARY_DIR}/mvkGitRevDerived.h)

add_subdirectory(External)
add_subdirectory(MoltenVKShaderConverter)
add_subdirectory(MoltenVK)

target_include_directories(MoltenVK-iOS PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(MoltenVK-tvOS PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(MoltenVK-macOS PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
8 changes: 8 additions & 0 deletions External/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
set(SKIP_PORTABILITY_TEST ON)
set(JUST_INSTALL_CEREAL ON)

add_subdirectory(cereal)
add_subdirectory(glslang)
set(SPIRV_TOOLS_BUILD_STATIC ON)
add_subdirectory(SPIRV-Cross)
add_subdirectory(Vulkan-Headers)
billhollings marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The contents of External are not currently saved to repo. .gitignore needs to be adjusted so that External/CMakeLists.txt is added to the repo.

204 changes: 204 additions & 0 deletions MoltenVK/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@


##
## MoltenVK-iOS Files
##

set(MOLTEN_VK_PROJECT_HEADERS
gpx1000 marked this conversation as resolved.
Show resolved Hide resolved
${CMAKE_CURRENT_LIST_DIR}/../Common/MVKCommonEnvironment.h
${CMAKE_CURRENT_LIST_DIR}/../Common/MVKOSExtensions.h
${CMAKE_CURRENT_LIST_DIR}/../Common/MVKStrings.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/API/mvk_datatypes.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/API/mvk_vulkan.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/API/vk_mvk_moltenvk.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdDebug.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdDraw.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdPipeline.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdQueries.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdRenderPass.h
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdRenderPass.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdRendering.h

${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdTransfer.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommand.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommandBuffer.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommandEncoderState.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommandEncodingPool.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommandPipelineStateFactoryShaderSource.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommandPool.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommandResourceFactory.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKMTLBufferAllocation.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKMTLResourceBindings.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKBuffer.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKDescriptor.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKDescriptorSet.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKDevice.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKDeviceFeatureStructs.def
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKDeviceMemory.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKFramebuffer.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKImage.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKInstance.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKPipeline.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKPixelFormats.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKQueryPool.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKQueue.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKRenderPass.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKResource.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKShaderModule.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKSurface.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKSwapchain.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKSync.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKVulkanAPIObject.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Layers/MVKExtensions.def
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Layers/MVKExtensions.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Layers/MVKLayers.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/CAMetalLayer+MoltenVK.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLRenderPassDepthAttachmentDescriptor+MoltenVK.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLRenderPassDescriptor+MoltenVK.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLRenderPassStencilAttachmentDescriptor+MoltenVK.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLRenderPipelineDescriptor+MoltenVK.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLSamplerDescriptor+MoltenVK.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLTextureDescriptor+MoltenVK.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MVKGPUCapture.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/NSString+MoltenVK.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKBaseObject.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKBitArray.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKBlockObserver.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKCodec.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKEnvironment.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKFoundation.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKLogging.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKObjectPool.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKSmallVector.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKSmallVectorAllocator.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKWatermark.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKWatermarkShaderSource.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKWatermarkTextureContent.h
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Vulkan/mvk_datatypes.hpp
)

set(MOLTEN_VK_SOURCES
${CMAKE_CURRENT_LIST_DIR}/../Common/MVKOSExtensions.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdDebug.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdDispatch.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdDraw.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdPipeline.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdQueries.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdRenderPass.mm
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdRenderPass.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdRendering.mm

${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCmdTransfer.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommandBuffer.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommandEncoderState.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommandEncodingPool.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommandPool.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKCommandResourceFactory.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands/MVKMTLBufferAllocation.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKBuffer.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKDescriptor.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKDescriptorSet.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKDevice.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKDeviceMemory.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKFramebuffer.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKImage.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKInstance.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKPipeline.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKPixelFormats.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKQueryPool.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKQueue.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKRenderPass.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKResource.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKShaderModule.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKSurface.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKSwapchain.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKSync.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects/MVKVulkanAPIObject.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Layers/MVKExtensions.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Layers/MVKLayers.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/CAMetalLayer+MoltenVK.m
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/CAMetalLayer+MoltenVK.m
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/CAMetalLayer+MoltenVK.mm

${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLRenderPassDepthAttachmentDescriptor+MoltenVK.m
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLRenderPassDescriptor+MoltenVK.m
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLRenderPassStencilAttachmentDescriptor+MoltenVK.m
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLRenderPipelineDescriptor+MoltenVK.m
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLSamplerDescriptor+MoltenVK.m
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MTLTextureDescriptor+MoltenVK.m
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/MVKGPUCapture.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS/NSString+MoltenVK.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKBaseObject.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKBlockObserver.m
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKCodec.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKEnvironment.cpp
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKFoundation.cpp
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility/MVKWatermark.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Vulkan/mvk_datatypes.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Vulkan/mvk_api.mm
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Vulkan/vulkan.mm
)
gpx1000 marked this conversation as resolved.
Show resolved Hide resolved

##
## MoltenVK-iOS
##

add_library(MoltenVK-iOS STATIC
${MOLTEN_VK_SOURCES}
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The MoltenVK-iOS target builds a macOS binary.


target_include_directories(MoltenVK-iOS
PUBLIC
${CMAKE_CURRENT_LIST_DIR}/../Common
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/API
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Layers
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Vulkan
${CMAKE_CURRENT_LIST_DIR}/include
)
gpx1000 marked this conversation as resolved.
Show resolved Hide resolved

target_compile_features(MoltenVK-iOS PRIVATE cxx_std_17)
target_link_libraries(MoltenVK-iOS PUBLIC moltenvk_shader_converter)

##
## MoltenVK-tvOS
##

add_library(MoltenVK-tvOS STATIC
${MOLTEN_VK_SOURCES}
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The MoltenVK-tvOS target builds a macOS binary.


target_include_directories(MoltenVK-tvOS
PUBLIC
${CMAKE_CURRENT_LIST_DIR}/../Common
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/API
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Layers
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Vulkan
${CMAKE_CURRENT_LIST_DIR}/include
)

target_compile_features(MoltenVK-tvOS PRIVATE cxx_std_17)
target_link_libraries(MoltenVK-tvOS PUBLIC moltenvk_shader_converter)


##
## MoltenVK-macOS
##

add_executable(MoltenVK-macOS
${MOLTEN_VK_SOURCES}
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The MoltenVK-macOS target builds the MoltenVKShaderConverter tool, not a MoltenVK static library.


target_include_directories(MoltenVK-macOS
PUBLIC
${CMAKE_CURRENT_LIST_DIR}/../Common
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/API
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Commands
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/GPUObjects
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Layers
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/OS
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Utility
${CMAKE_CURRENT_LIST_DIR}/MoltenVK/Vulkan
${CMAKE_CURRENT_LIST_DIR}/include
)

target_compile_features(MoltenVK-macOS PRIVATE cxx_std_17)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To get any of the MoltenVK-* targets to build, I also had to add the following build settings:

CURRENT_PROJECT_VERSION=1.2.9
GCC_PREPROCESSOR_DEFINITIONS=MVK_FRAMEWORK_VERSION=${CURRENT_PROJECT_VERSION}

target_link_libraries(MoltenVK-macOS PUBLIC moltenvk_shader_converter)
40 changes: 40 additions & 0 deletions MoltenVKShaderConverter/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
##
## MoltenVKShaderConverter Files
##

add_library(moltenvk_shader_converter STATIC
../Common/MVKOSExtensions.mm
MoltenVKShaderConverter/SPIRVSupport.cpp
MoltenVKShaderConverterTool/MoltenVKShaderConverterTool.cpp
MoltenVKShaderConverterTool/OSSupport.mm
MoltenVKShaderConverterTool/main.cpp
MoltenVKShaderConverter/FileSupport.mm
MoltenVKShaderConverter/GLSLConversion.mm
MoltenVKShaderConverter/GLSLToSPIRVConverter.cpp
MoltenVKShaderConverter/SPIRVConversion.mm
MoltenVKShaderConverter/SPIRVToMSLConverter.cpp
)
billhollings marked this conversation as resolved.
Show resolved Hide resolved

find_library(FOUNDATION_LIBRARY Foundation)
message(STATUS "FOUNDATION_LIBRARY is ${FOUNDATION_LIBRARY}")
gpx1000 marked this conversation as resolved.
Show resolved Hide resolved
find_library(METAL_LIBRARY Metal)
message(STATUS "METAL_LIBRARY is ${METAL_LIBRARY}")
find_library(APPKIT_LIBRARY AppKit)
message(STATUS "APPKIT_LIBRARY is ${APPKIT_LIBRARY}")
find_library(IOKIT_LIBRARY IOKit)
message(STATUS "IOKIT_LIBRARY is ${IOKIT_LIBRARY}")
find_library(IOSURFACE_LIBRARY IOSurface)
message(STATUS "IOSURFACE_LIBRARY is ${IOSURFACE_LIBRARY}")
find_library(QUARTZCORE_LIBRARY QuartzCore)
message(STATUS "QUARTZCORE_LIBRARY is ${QUARTZCORE_LIBRARY}")


target_link_libraries(moltenvk_shader_converter PUBLIC ${FOUNDATION_LIBRARY} ${METAL_LIBRARY} ${APPKIT_LIBRARY}
${IOKIT_LIBRARY} ${IOSURFACE_LIBRARY} ${QUARTZCORE_LIBRARY}
cereal spirv-cross-msl glslang SPIRV-Tools-opt spirv-cross-reflect SPIRV)

target_include_directories(moltenvk_shader_converter PUBLIC MoltenVKShaderConverter include
${CMAKE_CURRENT_LIST_DIR}/../Common
${CMAKE_CURRENT_LIST_DIR}/../External
${CMAKE_CURRENT_LIST_DIR})
target_compile_features(moltenvk_shader_converter PUBLIC cxx_std_17)
2 changes: 2 additions & 0 deletions mvkGitRevDerived.h.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// Auto-generated by MoltenVK
static const char* mvkRevString = "@MVK_GIT_REV@";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to avoid cluttering the top level directory if possible. Can we find a different home for this file? Maybe under Templates?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll move it there.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file should be moved to a new Templates/cmake directory.