Use preprocessor to exclude platform specify code instead of cmake

This commit is contained in:
2025-03-31 22:17:35 +10:00
parent e76927f847
commit 6a77722ff5
18 changed files with 80 additions and 66 deletions

View File

@@ -8,54 +8,30 @@ set(NOVA_VULKAN ON CACHE BOOL "Enable Vulkan support")
set(NOVA_WAYLAND ON CACHE BOOL "Enable Wayland support")
set(NOVA_X11 ON CACHE BOOL "Enable X11 support")
if (WIN32)
set(NOVA_WAYLAND OFF)
set(NOVA_X11 OFF)
else ()
set(NOVA_DX12 OFF)
endif ()
if (NOVA_VULKAN)
find_package(Vulkan REQUIRED)
endif ()
set(ENGINE_SRC
core/debug.cpp
drivers/dx12/render_driver.cpp
drivers/linux/system_driver.cpp
drivers/linux/wayland/system_driver.cpp
drivers/linux/x11/system_driver.cpp
drivers/windows/system_driver.cpp
drivers/vulkan/render_driver.cpp
platform/system.cpp
render/renderer.cpp
render/render_device.cpp
)
if (WIN32)
set(ENGINE_SRC
${ENGINE_SRC}
drivers/windows/system_driver.cpp
)
set(NOVA_WAYLAND OFF)
set(NOVA_X11 OFF)
else ()
set(ENGINE_SRC
${ENGINE_SRC}
drivers/linux/system_driver.cpp
)
set(NOVA_DX12 OFF)
endif ()
if (NOVA_DX12)
set(ENGINE_SRC
${ENGINE_SRC}
drivers/dx12/render_driver.cpp
)
endif ()
if (NOVA_VULKAN)
find_package(Vulkan REQUIRED)
set(ENGINE_SRC
${ENGINE_SRC}
drivers/vulkan/render_driver.cpp
)
endif ()
if (NOVA_WAYLAND)
set(ENGINE_SRC
${ENGINE_SRC}
drivers/linux/wayland/system_driver.cpp
)
endif ()
if (NOVA_X11)
set(ENGINE_SRC
${ENGINE_SRC}
drivers/linux/x11/system_driver.cpp
)
endif ()
list(TRANSFORM ENGINE_SRC PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/src/)
FetchContent_Declare(