mirror of
https://github.com/bkaradzic/bgfx.cmake.git
synced 2026-02-17 21:12:35 +01:00
* build(deps): bump the submodules group with 2 updates Bumps the submodules group with 2 updates: [bgfx](https://github.com/bkaradzic/bgfx) and [bx](https://github.com/bkaradzic/bx).
80 lines
1.9 KiB
CMake
80 lines
1.9 KiB
CMake
# bgfx.cmake - bgfx building in cmake
|
|
# Written in 2017 by Joshua Brookover <joshua.al.brookover@gmail.com>
|
|
#
|
|
# To the extent possible under law, the author(s) have dedicated all copyright
|
|
# and related and neighboring rights to this software to the public domain
|
|
# worldwide. This software is distributed without any warranty.
|
|
#
|
|
# You should have received a copy of the CC0 Public Domain Dedication along with
|
|
# this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
|
|
|
# Grab the shaderc source files
|
|
file(
|
|
GLOB
|
|
SHADERC_SOURCES #
|
|
${BGFX_DIR}/tools/shaderc/*.cpp #
|
|
${BGFX_DIR}/tools/shaderc/*.h #
|
|
${BGFX_DIR}/src/shader* #
|
|
)
|
|
|
|
add_executable(shaderc ${SHADERC_SOURCES})
|
|
|
|
target_link_libraries(
|
|
shaderc
|
|
PRIVATE bx
|
|
bimg
|
|
bgfx-vertexlayout
|
|
fcpp
|
|
glslang
|
|
glsl-optimizer
|
|
spirv-opt
|
|
spirv-cross
|
|
webgpu
|
|
tint
|
|
)
|
|
|
|
target_include_directories(
|
|
shaderc
|
|
PRIVATE ${BGFX_DIR}/3rdparty/dawn
|
|
${BGFX_DIR}/3rdparty/dawn/src
|
|
)
|
|
|
|
if(UNIX
|
|
AND NOT APPLE
|
|
AND NOT EMSCRIPTEN
|
|
AND NOT ANDROID
|
|
)
|
|
target_include_directories(
|
|
shaderc
|
|
PRIVATE ${BGFX_DIR}/3rdparty/directx-headers/include/directx
|
|
${BGFX_DIR}/3rdparty/directx-headers/include
|
|
${BGFX_DIR}/3rdparty/directx-headers/include/wsl/stubs
|
|
)
|
|
endif()
|
|
|
|
if(BGFX_AMALGAMATED)
|
|
target_link_libraries(shaderc PRIVATE bgfx-shader)
|
|
endif()
|
|
|
|
set_target_properties(
|
|
shaderc PROPERTIES FOLDER "bgfx/tools" #
|
|
OUTPUT_NAME ${BGFX_TOOLS_PREFIX}shaderc #
|
|
)
|
|
|
|
if(BGFX_BUILD_TOOLS_SHADER)
|
|
add_executable(bgfx::shaderc ALIAS shaderc)
|
|
if(BGFX_CUSTOM_TARGETS)
|
|
add_dependencies(tools shaderc)
|
|
endif()
|
|
endif()
|
|
|
|
if(ANDROID)
|
|
target_link_libraries(shaderc PRIVATE log)
|
|
elseif(IOS)
|
|
set_target_properties(shaderc PROPERTIES MACOSX_BUNDLE ON MACOSX_BUNDLE_GUI_IDENTIFIER shaderc)
|
|
endif()
|
|
|
|
if(BGFX_INSTALL)
|
|
install(TARGETS shaderc EXPORT "${TARGETS_EXPORT_NAME}" DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
|
endif()
|