mirror of
https://github.com/bkaradzic/bgfx.cmake.git
synced 2026-02-17 21:12:35 +01:00
Compare commits
17 Commits
v1.115.826
...
v1.118.838
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
671c819e85 | ||
|
|
c825dcf256 | ||
|
|
916f26e1b6 | ||
|
|
4e42ae2ae0 | ||
|
|
52feec47f5 | ||
|
|
cf77d7c6d7 | ||
|
|
33dde1a115 | ||
|
|
3e7f1fe200 | ||
|
|
866599edb0 | ||
|
|
089b388ac0 | ||
|
|
9d3bc4f326 | ||
|
|
9ee85d3c1b | ||
|
|
74a8e4dc72 | ||
|
|
99f17108ca | ||
|
|
862912e7e9 | ||
|
|
72ea9b6f29 | ||
|
|
6e23a39de6 |
@@ -43,6 +43,20 @@ set( BGFX_OPENGL_VERSION "" CACHE STRING "Specify minimum opengl version
|
||||
set( BGFX_OPENGLES_VERSION "" CACHE STRING "Specify minimum OpenGL ES version" )
|
||||
set( BGFX_LIBRARY_TYPE "STATIC" CACHE STRING "Linking type for library" )
|
||||
|
||||
set( BGFX_CONFIG_DEFAULT_MAX_ENCODERS "" CACHE STRING "Specify default maximum encoder count (multithreaded only)" )
|
||||
set( BGFX_CONFIG_MAX_DRAW_CALLS "" CACHE STRING "Specify maximum draw calls" )
|
||||
set( BGFX_CONFIG_MAX_VIEWS "" CACHE STRING "Specify maximum view count (should be a power of two)" )
|
||||
set( BGFX_CONFIG_MAX_FRAME_BUFFERS "" CACHE STRING "Specify maximum frame buffers" )
|
||||
set( BGFX_CONFIG_MAX_VERTEX_LAYOUTS "" CACHE STRING "Specify maximum vertex layouts" )
|
||||
set( BGFX_CONFIG_MAX_VERTEX_BUFFERS "" CACHE STRING "Specify maximum vertex buffer count" )
|
||||
set( BGFX_CONFIG_MAX_DYNAMIC_VERTEX_BUFFERS "" CACHE STRING "Specify maximum dynamic vertex buffer count" )
|
||||
set( BGFX_CONFIG_MAX_INDEX_BUFFERS "" CACHE STRING "Specify maximum index buffer count" )
|
||||
set( BGFX_CONFIG_MAX_DYNAMIC_INDEX_BUFFERS "" CACHE STRING "Specify maximum dynamic index buffer count" )
|
||||
set( BGFX_CONFIG_MAX_TEXTURES "" CACHE STRING "Specify maximum texture count" )
|
||||
set( BGFX_CONFIG_MAX_TEXTURE_SAMPLERS "" CACHE STRING "Specify maximum texture samplers" )
|
||||
set( BGFX_CONFIG_MAX_SHADERS "" CACHE STRING "Specify shader count" )
|
||||
set( BGFX_CONFIG_SORT_KEY_NUM_BITS_PROGRAM "" CACHE STRING "Specify maximum program count as 2^(program bits)" )
|
||||
|
||||
set_property( CACHE BGFX_LIBRARY_TYPE PROPERTY STRINGS STATIC SHARED )
|
||||
|
||||
if( BGFX_LIBRARY_TYPE MATCHES "SHARED" )
|
||||
@@ -134,7 +148,7 @@ if( BGFX_INSTALL )
|
||||
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
)
|
||||
if( NOT BGFX_LIBRARY_TYPE MATCHES "SHARED" )
|
||||
install( TARGETS bimg bx astc-codec astc edtaa3 etc1 etc2 iqa squish nvtt pvrtc tinyexr
|
||||
install( TARGETS bimg bx astc-encoder edtaa3 etc1 etc2 iqa squish nvtt pvrtc tinyexr
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
@@ -166,21 +180,27 @@ if( BGFX_INSTALL )
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/bgfxToolUtils.cmake
|
||||
DESTINATION "${config_install_dir}")
|
||||
if( BGFX_BUILD_TOOLS )
|
||||
install( TARGETS shaderc
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}" )
|
||||
install( TARGETS geometryc
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}" )
|
||||
install( TARGETS geometryv
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}" )
|
||||
install( TARGETS texturec
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}" )
|
||||
install( TARGETS texturev
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}" )
|
||||
if (BGFX_BUILD_TOOLS_SHADER)
|
||||
install( TARGETS shaderc
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}" )
|
||||
endif()
|
||||
if (BGFX_BUILD_TOOLS_GEOMETRY)
|
||||
install( TARGETS geometryc
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}" )
|
||||
install( TARGETS geometryv
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}" )
|
||||
endif()
|
||||
if (BGFX_BUILD_TOOLS_TEXTURE)
|
||||
install( TARGETS texturec
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}" )
|
||||
install( TARGETS texturev
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
DESTINATION "${CMAKE_INSTALL_BINDIR}" )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# install examples
|
||||
|
||||
2
bgfx
2
bgfx
Submodule bgfx updated: 8e94c8c2db...66de825e6f
2
bimg
2
bimg
Submodule bimg updated: 90ac47dfb0...85109d7cdb
2
bx
2
bx
Submodule bx updated: dbafa143d9...20efa22f18
@@ -8,21 +8,21 @@
|
||||
# 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/>.
|
||||
|
||||
if( TARGET astc-codec )
|
||||
if( TARGET astc-encoder )
|
||||
return()
|
||||
endif()
|
||||
|
||||
file(
|
||||
GLOB
|
||||
ASTC_CODEC_SOURCES
|
||||
${BIMG_DIR}/3rdparty/astc-codec/src/decoder/*.cc
|
||||
${BIMG_DIR}/3rdparty/astc-codec/src/decoder/*.h
|
||||
ASTC_ENCODER_SOURCES
|
||||
${BIMG_DIR}/3rdparty/astc-encoder/source/*.cpp
|
||||
${BIMG_DIR}/3rdparty/astc-encoder/include/*.h
|
||||
)
|
||||
|
||||
add_library( astc-codec STATIC ${ASTC_CODEC_SOURCES} )
|
||||
target_include_directories( astc-codec
|
||||
add_library( astc-encoder STATIC ${ASTC_ENCODER_SOURCES} )
|
||||
target_include_directories( astc-encoder
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${BIMG_DIR}/3rdparty>
|
||||
$<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/astc-codec>
|
||||
$<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/astc-codec/include> )
|
||||
set_target_properties( astc-codec PROPERTIES FOLDER "bgfx/3rdparty" )
|
||||
$<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/astc-encoder>
|
||||
$<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/astc-encoder/include> )
|
||||
set_target_properties( astc-encoder PROPERTIES FOLDER "bgfx/3rdparty" )
|
||||
19
cmake/3rdparty/astc.cmake
vendored
19
cmake/3rdparty/astc.cmake
vendored
@@ -1,19 +0,0 @@
|
||||
# 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/>.
|
||||
|
||||
if( TARGET astc )
|
||||
return()
|
||||
endif()
|
||||
|
||||
file( GLOB ASTC_SOURCES ${BIMG_DIR}/3rdparty/astc/*.cpp ${BIMG_DIR}/3rdparty/astc/*.h )
|
||||
|
||||
add_library( astc STATIC ${ASTC_SOURCES} )
|
||||
target_include_directories( astc PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty> )
|
||||
set_target_properties( astc PROPERTIES FOLDER "bgfx/3rdparty" )
|
||||
@@ -68,6 +68,33 @@ if( NOT ${BGFX_OPENGLES_VERSION} STREQUAL "" )
|
||||
target_compile_definitions( bgfx PRIVATE BGFX_CONFIG_RENDERER_OPENGLES_MIN_VERSION=${BGFX_OPENGLES_VERSION} )
|
||||
endif()
|
||||
|
||||
if( NOT ${BGFX_CONFIG_DEFAULT_MAX_ENCODERS} STREQUAL "" )
|
||||
target_compile_definitions( bgfx
|
||||
PUBLIC
|
||||
"BGFX_CONFIG_DEFAULT_MAX_ENCODERS=$<IF:$<BOOL:${BGFX_CONFIG_MULTITHREADED}>,${BGFX_CONFIG_DEFAULT_MAX_ENCODERS},1>" )
|
||||
endif()
|
||||
|
||||
set(BGFX_CONFIG_OPTIONS "")
|
||||
list(APPEND BGFX_CONFIG_OPTIONS
|
||||
"BGFX_CONFIG_MAX_DRAW_CALLS"
|
||||
"BGFX_CONFIG_MAX_VIEWS"
|
||||
"BGFX_CONFIG_MAX_FRAME_BUFFERS"
|
||||
"BGFX_CONFIG_MAX_VERTEX_LAYOUTS"
|
||||
"BGFX_CONFIG_MAX_VERTEX_BUFFERS"
|
||||
"BGFX_CONFIG_MAX_DYNAMIC_VERTEX_BUFFERS"
|
||||
"BGFX_CONFIG_MAX_INDEX_BUFFERS"
|
||||
"BGFX_CONFIG_MAX_DYNAMIC_INDEX_BUFFERS"
|
||||
"BGFX_CONFIG_MAX_TEXTURES"
|
||||
"BGFX_CONFIG_MAX_TEXTURE_SAMPLERS"
|
||||
"BGFX_CONFIG_MAX_SHADERS"
|
||||
"BGFX_CONFIG_SORT_KEY_NUM_BITS_PROGRAM"
|
||||
)
|
||||
foreach(BGFX_CONFIG_OPTION IN LISTS BGFX_CONFIG_OPTIONS)
|
||||
if( NOT ${${BGFX_CONFIG_OPTION}} STREQUAL "" )
|
||||
target_compile_definitions( bgfx PUBLIC "${BGFX_CONFIG_OPTION}=${${BGFX_CONFIG_OPTION}}" )
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# Special Visual Studio Flags
|
||||
if( MSVC )
|
||||
target_compile_definitions( bgfx PRIVATE "_CRT_SECURE_NO_WARNINGS" )
|
||||
@@ -80,11 +107,24 @@ target_compile_definitions(bgfx
|
||||
"BGFX_CONFIG_MULTITHREADED=$<BOOL:${BGFX_CONFIG_MULTITHREADED}>"
|
||||
)
|
||||
|
||||
# directx-headers
|
||||
set (DIRECTX_HEADERS)
|
||||
if (UNIX AND NOT APPLE AND NOT EMSCRIPTEN AND NOT ANDROID) # Only Linux
|
||||
set (DIRECTX_HEADERS
|
||||
${BGFX_DIR}/3rdparty/directx-headers/include/directx
|
||||
${BGFX_DIR}/3rdparty/directx-headers/include
|
||||
${BGFX_DIR}/3rdparty/directx-headers/include/wsl/stubs )
|
||||
elseif (WIN32) # Only Windows
|
||||
set (DIRECTX_HEADERS
|
||||
${BGFX_DIR}/3rdparty/directx-headers/include/directx
|
||||
${BGFX_DIR}/3rdparty/directx-headers/include )
|
||||
endif()
|
||||
|
||||
# Includes
|
||||
target_include_directories( bgfx
|
||||
PRIVATE
|
||||
${DIRECTX_HEADERS}
|
||||
${BGFX_DIR}/3rdparty
|
||||
${BGFX_DIR}/3rdparty/dxsdk/include
|
||||
${BGFX_DIR}/3rdparty/khronos
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${BGFX_DIR}/include>
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
# this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||
|
||||
# Third party libs
|
||||
include( ${CMAKE_CURRENT_LIST_DIR}/3rdparty/astc-codec.cmake )
|
||||
include( ${CMAKE_CURRENT_LIST_DIR}/3rdparty/astc.cmake )
|
||||
include( ${CMAKE_CURRENT_LIST_DIR}/3rdparty/astc-encoder.cmake )
|
||||
include( ${CMAKE_CURRENT_LIST_DIR}/3rdparty/edtaa3.cmake )
|
||||
include( ${CMAKE_CURRENT_LIST_DIR}/3rdparty/etc1.cmake )
|
||||
include( ${CMAKE_CURRENT_LIST_DIR}/3rdparty/etc2.cmake )
|
||||
@@ -39,7 +38,7 @@ target_include_directories( bimg
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
|
||||
|
||||
# bimg dependencies
|
||||
target_link_libraries( bimg PUBLIC bx PRIVATE astc-codec astc edtaa3 etc1 etc2 iqa squish nvtt pvrtc tinyexr )
|
||||
target_link_libraries( bimg PUBLIC bx PRIVATE astc-encoder edtaa3 etc1 etc2 iqa squish nvtt pvrtc tinyexr )
|
||||
|
||||
# Put in a "bgfx" folder in Visual Studio
|
||||
set_target_properties( bimg PROPERTIES FOLDER "bgfx" )
|
||||
@@ -59,11 +59,16 @@ elseif( WIN32 )
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${BX_DIR}/include/compat/msvc>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/compat/msvc> )
|
||||
elseif( APPLE )
|
||||
elseif( APPLE ) # APPLE is technically UNIX... ORDERING MATTERS!
|
||||
target_include_directories( bx
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${BX_DIR}/include/compat/osx>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/compat/osx> )
|
||||
$<BUILD_INTERFACE:${BX_DIR}/include/compat/osx>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/compat/osx> )
|
||||
elseif ( UNIX )
|
||||
target_include_directories( bx
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${BX_DIR}/include/compat/linux>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/compat/linux> )
|
||||
endif()
|
||||
|
||||
# All configurations
|
||||
|
||||
Reference in New Issue
Block a user