diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 6faa140ed..11a2c1bbf 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -20,13 +20,13 @@ jobs: - name: macOS os: macos-14 - deps_cmdline: brew install libvpx + deps_cmdline: brew install libvpx molten-vk vulkan-volk build_type: Release - name: macOS os: macos-14 extra_options: -G Xcode -DDYN_OPENAL=OFF - deps_cmdline: brew install libvpx + deps_cmdline: brew install libvpx molten-vk vulkan-volk build_type: Debug - name: Linux GCC 9 # oldest version available diff --git a/libraries/ZVulkan/CMakeLists.txt b/libraries/ZVulkan/CMakeLists.txt index 572832912..56d059487 100644 --- a/libraries/ZVulkan/CMakeLists.txt +++ b/libraries/ZVulkan/CMakeLists.txt @@ -1,4 +1,5 @@ -cmake_minimum_required(VERSION 3.15) +cmake_minimum_required(VERSION 3.24) + project(zvulkan) option( VULKAN_USE_XLIB "Use Vulkan xlib (X11) WSI integration" ON ) @@ -184,15 +185,19 @@ source_group("include\\volk" REGULAR_EXPRESSION "${CMAKE_CURRENT_SOURCE_DIR}/inc include_directories(include include/zvulkan src) if(WIN32) - set(ZVULKAN_SOURCES ${ZVULKAN_SOURCES} ${ZVULKAN_WIN32_SOURCES}) + list(APPEND ZVULKAN_SOURCES ${ZVULKAN_WIN32_SOURCES}) add_definitions(-DUNICODE -D_UNICODE) else() - set(ZVULKAN_SOURCES ${ZVULKAN_SOURCES} ${ZVULKAN_UNIX_SOURCES}) - if(NOT HAIKU AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD|NetBSD|OpenBSD|DragonFly") - set(ZVULKAN_LIBS ${CMAKE_DL_LIBS} -ldl) + if(APPLE) + find_package(Vulkan REQUIRED COMPONENTS MoltenVK) + list(APPEND ZVULKAN_LIBS Vulkan::Vulkan) + elseif(NOT HAIKU AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD|NetBSD|OpenBSD|DragonFly") + list(APPEND ZVULKAN_LIBS ${CMAKE_DL_LIBS} -ldl) else() - set(ZVULKAN_LIBS ${CMAKE_DL_LIBS}) + list(APPEND ZVULKAN_LIBS ${CMAKE_DL_LIBS}) endif() + + list(APPEND ZVULKAN_SOURCES ${ZVULKAN_UNIX_SOURCES}) add_definitions(-DUNIX -D_UNIX) add_link_options(-pthread) endif() @@ -206,7 +211,7 @@ if(MSVC) endif() add_library(zvulkan STATIC ${ZVULKAN_SOURCES} ${ZVULKAN_INCLUDES} ${VULKAN_INCLUDES}) -target_link_libraries(zvulkan ${ZVULKAN_LIBS}) +target_link_libraries(zvulkan PUBLIC ${ZVULKAN_LIBS}) set_target_properties(zvulkan PROPERTIES CXX_STANDARD 17) if(MSVC)