light/modules/CMakeLists.txt
light7734 2b81b4376c
Some checks reported errors
continuous-integration/drone/push Build was killed
revert: feat: lsd
It was a horrible idea...
2025-11-30 09:46:48 +03:30

238 lines
3.6 KiB
CMake

add_module(
NAME logger INTERFACES logger.cppm TESTS logger.test.cpp
)
add_module(NAME bitwise INTERFACES operations.cppm)
add_module(NAME env INTERFACES constants.cppm)
add_module(
NAME memory INTERFACES null_on_move.cppm reference.cppm scope.cppm
)
add_module(NAME time INTERFACES timer.cppm)
add_module(
NAME
test
INTERFACES
test.cppm
expects.cppm
registry.cppm
SOURCES
entrypoint.cpp
DEPENDENCIES
logger
)
add_module(
NAME
lt_debug
ROOT_DIR
${CMAKE_CURRENT_SOURCE_DIR}/debug
INTERFACES
instrumentor.cppm
assertions.cppm
DEPENDENCIES
logger
)
add_module(
NAME
math
INTERFACES
algebra.cppm
mat4.cppm
trig.cppm
vec2.cppm
vec3.cppm
vec4.cppm
components.cppm
)
add_module(
NAME
assets
INTERFACES
shader.cppm
metadata.cppm
DEPENDENCIES
logger
lt_debug
)
add_module(
NAME
libasset_baker
ROOT_DIR
${CMAKE_CURRENT_SOURCE_DIR}/asset_baker
INTERFACES
bakers.cppm
DEPENDENCIES
assets
logger
lt_debug
)
# add_executable(asset_baker entrypoint.cpp) target_link_libraries(asset_baker
# PRIVATE libasset_baker)
add_module(NAME camera INTERFACES components.cppm DEPENDENCIES math)
add_module(
NAME
app
INTERFACES
application.cppm
system.cppm
DEPENDENCIES
memory
PRIVATE_DEPENDENCIES
lt_debug
)
add_module(
NAME
ecs
INTERFACES
sparse_set.cppm
registry.cppm
entity.cppm
DEPENDENCIES
logger
lt_debug
memory
)
if(WIN32)
add_module(
NAME
surface
INTERFACES
constants.cppm
system.cppm
requests.cppm
events.cppm
components.cppm
SOURCES
platform_windows.cpp
DEPENDENCIES
ecs
app
math
memory
PRIVATE_DEPENDENCIES
logger
lt_debug
time
)
elseif(UNIX)
add_module(
NAME
surface
INTERFACES
constants.cppm
system.cppm
requests.cppm
events.cppm
components.cppm
SOURCES
platform_linux.cpp
DEPENDENCIES
ecs
app
math
memory
PRIVATE_DEPENDENCIES
X11
logger
lt_debug
time
)
else()
message(FATAL "Failed to generate cmake: unsupported platform")
endif()
add_module(
NAME
input
INTERFACES
system.cppm
codes.cppm
components.cppm
events.cppm
DEPENDENCIES
surface
math
logger
)
find_package(Vulkan REQUIRED)
message("Vulkan Libraries are: ${Vulkan_LIBRARIES}")
add_module(
NAME
renderer
INTERFACES
data.cppm
system.cppm
frontends.cppm
components.cppm
factory.cppm
vk/api_wrapper.cppm
vk/device.cppm
vk/gpu.cppm
vk/instance.cppm
vk/surface.cppm
vk/swapchain.cppm
vk/buffer.cppm
vk/pass.cppm
vk/renderer.cppm
vk/debugger.cppm
DEPENDENCIES
app
ecs
memory
assets
time
bitwise
camera
${Vulkan_LIBRARIES}
Vulkan::Vulkan
PRIVATE_DEPENDENCIES
surface
)
add_module(
NAME
mirror
ROOT_DIR
${CMAKE_CURRENT_SOURCE_DIR}/mirror
INTERFACES
system.cppm
DEPENDENCIES
memory
app
time
input
surface
renderer
camera
# TESTS
# system.test.cpp
)
add_executable(exectest ${CMAKE_CURRENT_SOURCE_DIR}/mirror/entrypoint.cpp
)
target_link_libraries(exectest PRIVATE
mirror
app
time
input
surface
renderer
camera
)
# add_executable_module(mirror entrypoint/mirror.cpp)
# target_link_libraries(mirror PRIVATE libmirror input)