diff --git a/CMakeLists.txt b/CMakeLists.txt index 9edab35..4e1a7ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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" ) diff --git a/cmake/bgfx.cmake b/cmake/bgfx.cmake index 5b98e6e..31634ee 100755 --- a/cmake/bgfx.cmake +++ b/cmake/bgfx.cmake @@ -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=$,${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" )