mirror of
https://github.com/bkaradzic/bgfx.cmake.git
synced 2026-02-17 21:12:35 +01:00
Compare commits
7 Commits
v1.121.853
...
v1.122.858
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
875927a712 | ||
|
|
f46699bb4a | ||
|
|
6a8aba37ff | ||
|
|
38de01cd8a | ||
|
|
560dcb227e | ||
|
|
b3dae62c95 | ||
|
|
a1a7828ab0 |
@@ -13,7 +13,7 @@ project(bgfx)
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
@@ -160,18 +160,6 @@ if(BGFX_INSTALL)
|
||||
|
||||
install(FILES ${BGFX_DIR}/LICENSE DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/licences/${PROJECT_NAME})
|
||||
|
||||
# install headers (this should be done as a target probably... ^)
|
||||
install(DIRECTORY ${BX_DIR}/include/bx ${BX_DIR}/include/compat ${BX_DIR}/include/tinystl
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
install(DIRECTORY ${BIMG_DIR}/include/bimg DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
install(DIRECTORY ${BGFX_DIR}/include/bgfx DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
|
||||
# header required for shader compilation
|
||||
install(FILES ${BGFX_DIR}/src/bgfx_shader.sh ${BGFX_DIR}/src/bgfx_compute.sh
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/bgfx"
|
||||
)
|
||||
|
||||
# install tools
|
||||
if(BGFX_CMAKE_USER_SCRIPT)
|
||||
install(FILES ${BGFX_CMAKE_USER_SCRIPT} DESTINATION "${config_install_dir}")
|
||||
|
||||
2
bgfx
2
bgfx
Submodule bgfx updated: e2c5b1d3e1...3e5bfb81b6
2
bimg
2
bimg
Submodule bimg updated: ec02df824a...ab96ba9dda
2
bx
2
bx
Submodule bx updated: 96748d9a58...16c55699c1
@@ -9,28 +9,26 @@ list(GET BGFX_INCLUDE_PATH 0 BGFX_INCLUDE_PATH_1) # bgfx::bgfx exports include d
|
||||
set(BGFX_SHADER_INCLUDE_PATH ${BGFX_INCLUDE_PATH_1}/bgfx)
|
||||
|
||||
# If cross compiling, we need a host-compatible version of shaderc to compile shaders
|
||||
if(@CMAKE_CROSSCOMPILING@)
|
||||
macro(_bgfx_crosscompile_use_host_tool TOOL_NAME)
|
||||
if(NOT TARGET bgfx::${TOOL_NAME})
|
||||
find_program(
|
||||
${TOOL_NAME}_EXECUTABLE REQUIRED
|
||||
NAMES bgfx-${TOOL_NAME} ${TOOL_NAME}
|
||||
PATHS /usr/bin #
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/packages/bgfx_x64-linux/tools/bgfx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/packages/bgfx_x64-windows/tools/bgfx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/packages/bgfx_x64-osx/tools/bgfx
|
||||
)
|
||||
add_executable(bgfx::${TOOL_NAME} IMPORTED)
|
||||
set_target_properties(bgfx::${TOOL_NAME} PROPERTIES IMPORTED_LOCATION "${${TOOL_NAME}_EXECUTABLE}")
|
||||
endif()
|
||||
endmacro()
|
||||
macro(_bgfx_crosscompile_use_host_tool TOOL_NAME)
|
||||
if(NOT TARGET bgfx::${TOOL_NAME})
|
||||
find_program(
|
||||
${TOOL_NAME}_EXECUTABLE
|
||||
NAMES bgfx-${TOOL_NAME} ${TOOL_NAME}
|
||||
PATHS /usr/bin #
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/packages/bgfx_x64-linux/tools/bgfx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/packages/bgfx_x64-windows/tools/bgfx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/packages/bgfx_x64-osx/tools/bgfx
|
||||
)
|
||||
add_executable(bgfx::${TOOL_NAME} IMPORTED)
|
||||
set_target_properties(bgfx::${TOOL_NAME} PROPERTIES IMPORTED_LOCATION "${${TOOL_NAME}_EXECUTABLE}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
_bgfx_crosscompile_use_host_tool(bin2c)
|
||||
_bgfx_crosscompile_use_host_tool(texturec)
|
||||
_bgfx_crosscompile_use_host_tool(shaderc)
|
||||
_bgfx_crosscompile_use_host_tool(texturev)
|
||||
_bgfx_crosscompile_use_host_tool(geometryv)
|
||||
endif()
|
||||
_bgfx_crosscompile_use_host_tool(bin2c)
|
||||
_bgfx_crosscompile_use_host_tool(texturec)
|
||||
_bgfx_crosscompile_use_host_tool(shaderc)
|
||||
_bgfx_crosscompile_use_host_tool(texturev)
|
||||
_bgfx_crosscompile_use_host_tool(geometryv)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/bgfxToolUtils.cmake")
|
||||
check_required_components("@PROJECT_NAME@")
|
||||
|
||||
@@ -12,9 +12,6 @@ include(bgfx.cmake)
|
||||
include(3rdparty/meshoptimizer.cmake)
|
||||
include(3rdparty/dear-imgui.cmake)
|
||||
|
||||
include(shared.cmake)
|
||||
include(examples.cmake)
|
||||
|
||||
if(BGFX_BUILD_TOOLS_TEXTURE)
|
||||
include(texturev.cmake)
|
||||
endif()
|
||||
@@ -31,3 +28,6 @@ if(BGFX_BUILD_TOOLS_SHADER)
|
||||
include(3rdparty/webgpu.cmake)
|
||||
include(shaderc.cmake)
|
||||
endif()
|
||||
|
||||
include(shared.cmake)
|
||||
include(examples.cmake)
|
||||
|
||||
@@ -217,4 +217,11 @@ if(BGFX_INSTALL)
|
||||
INCLUDES
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
|
||||
install(DIRECTORY ${BGFX_DIR}/include/bgfx DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
|
||||
# header required for shader compilation
|
||||
install(FILES ${BGFX_DIR}/src/bgfx_shader.sh ${BGFX_DIR}/src/bgfx_compute.sh
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/bgfx"
|
||||
)
|
||||
endif()
|
||||
|
||||
@@ -78,7 +78,7 @@ function(add_bgfx_shader FILE FOLDER)
|
||||
# essl
|
||||
if(NOT "${TYPE}" STREQUAL "COMPUTE")
|
||||
set(ESSL_OUTPUT ${BGFX_DIR}/examples/runtime/shaders/essl/${FILENAME}.bin)
|
||||
_bgfx_shaderc_parse(ESSL ${COMMON} ANDROID OUTPUT ${ESSL_OUTPUT})
|
||||
_bgfx_shaderc_parse(ESSL ${COMMON} ANDROID PROFILE 100_es OUTPUT ${ESSL_OUTPUT})
|
||||
list(APPEND OUTPUTS "ESSL")
|
||||
set(OUTPUTS_PRETTY "${OUTPUTS_PRETTY}ESSL, ")
|
||||
endif()
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -43,7 +43,7 @@ target_link_libraries(
|
||||
${MINIZ_LIBRARIES} #
|
||||
)
|
||||
|
||||
if(BGFX_INSTALL AND NOT BGFX_LIBRARY_TYPE MATCHES "SHARED")
|
||||
if(BGFX_INSTALL)
|
||||
install(
|
||||
TARGETS bimg
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
@@ -53,4 +53,5 @@ if(BGFX_INSTALL AND NOT BGFX_LIBRARY_TYPE MATCHES "SHARED")
|
||||
INCLUDES
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
install(DIRECTORY ${BIMG_DIR}/include/bimg DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
endif()
|
||||
|
||||
@@ -81,7 +81,7 @@ target_include_directories(
|
||||
$<BUILD_INTERFACE:${BX_DIR}/3rdparty> #
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> #
|
||||
$<BUILD_INTERFACE:${BX_DIR}/include/compat/${BX_COMPAT_PLATFORM}> #
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/compat/${BX_COMPAT_PLATFORM}> #
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/bx/compat/${BX_COMPAT_PLATFORM}> #
|
||||
)
|
||||
|
||||
# All configurations
|
||||
@@ -121,14 +121,18 @@ endif()
|
||||
# Put in a "bgfx" folder in Visual Studio
|
||||
set_target_properties(bx PROPERTIES FOLDER "bgfx")
|
||||
|
||||
if(NOT BGFX_LIBRARY_TYPE MATCHES "SHARED")
|
||||
if(BGFX_INSTALL)
|
||||
install(
|
||||
TARGETS bx
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
INCLUDES
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
# We will make sure tinystl and compat are not installed in /usr/include
|
||||
install(DIRECTORY "${BX_DIR}/include/bx" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
install(DIRECTORY "${BX_DIR}/include/compat/${BX_COMPAT_PLATFORM}"
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/bx/compat"
|
||||
)
|
||||
install(DIRECTORY "${BX_DIR}/include/tinystl" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/bx")
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user