Compare commits

...

26 Commits

Author SHA1 Message Date
Jimmy Lord
d7f59648a8 ew option to allow "example-common" project to not be included in build. (#225)
* Added a new option to allow "example-common" project to not be included in build.

* Set BGFX_BUILD_EXAMPLE_COMMON as a dependent option, it will be set ON if either tools or examples are included in the build, OFF otherwise.

* cmake format

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: Sandy <bwrsandman@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-18 20:42:20 -04:00
dependabot[bot]
e8db646d2c 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).


Updates `bgfx` from `0244cc4` to `57d8a08`
- [Commits](0244cc4af2...57d8a0838b)

Updates `bx` from `3072cf3` to `34ba9c7`
- [Commits](3072cf37df...34ba9c7a5c)

---
updated-dependencies:
- dependency-name: bgfx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bx
  dependency-type: direct:production
  dependency-group: submodules
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 21:44:55 -04:00
dependabot[bot]
e12aba94c7 build(deps): bump the submodules group with 3 updates
Bumps the submodules group with 3 updates: [bgfx](https://github.com/bkaradzic/bgfx), [bx](https://github.com/bkaradzic/bx) and [bimg](https://github.com/bkaradzic/bimg).


Updates `bgfx` from `56ad576` to `0244cc4`
- [Commits](56ad576dcd...0244cc4af2)

Updates `bx` from `dc3bf29` to `3072cf3`
- [Commits](dc3bf2990e...3072cf37df)

Updates `bimg` from `0903ea2` to `e9fa0ce`
- [Commits](0903ea21d5...e9fa0ceff2)

---
updated-dependencies:
- dependency-name: bgfx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bimg
  dependency-type: direct:production
  dependency-group: submodules
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 13:19:46 -04:00
dependabot[bot]
8dcc50e992 build(deps): bump the submodules group with 3 updates
Bumps the submodules group with 3 updates: [bgfx](https://github.com/bkaradzic/bgfx), [bx](https://github.com/bkaradzic/bx) and [bimg](https://github.com/bkaradzic/bimg).


Updates `bgfx` from `d9e1845` to `56ad576`
- [Commits](d9e184501f...56ad576dcd)

Updates `bx` from `e5d5d0b` to `dc3bf29`
- [Commits](e5d5d0b7c6...dc3bf2990e)

Updates `bimg` from `daedacc` to `0903ea2`
- [Commits](daedacc877...0903ea21d5)

---
updated-dependencies:
- dependency-name: bgfx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bimg
  dependency-type: direct:production
  dependency-group: submodules
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 23:36:37 -05:00
dependabot[bot]
011e8efe23 build(deps): bump the submodules group with 3 updates
Bumps the submodules group with 3 updates: [bgfx](https://github.com/bkaradzic/bgfx), [bx](https://github.com/bkaradzic/bx) and [bimg](https://github.com/bkaradzic/bimg).


Updates `bgfx` from `03a2c26` to `d9e1845`
- [Commits](03a2c26457...d9e184501f)

Updates `bx` from `03fd6f4` to `e5d5d0b`
- [Commits](03fd6f4771...e5d5d0b7c6)

Updates `bimg` from `678b750` to `daedacc`
- [Commits](678b750128...daedacc877)

---
updated-dependencies:
- dependency-name: bgfx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bimg
  dependency-type: direct:production
  dependency-group: submodules
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 12:15:14 -05:00
dependabot[bot]
871eed8f8a build(deps): bump the submodules group with 3 updates
Bumps the submodules group with 3 updates: [bgfx](https://github.com/bkaradzic/bgfx), [bx](https://github.com/bkaradzic/bx) and [bimg](https://github.com/bkaradzic/bimg).


Updates `bgfx` from `5de37d0` to `03a2c26`
- [Commits](5de37d0e22...03a2c26457)

Updates `bx` from `be3e348` to `03fd6f4`
- [Commits](be3e348eb2...03fd6f4771)

Updates `bimg` from `6c4d188` to `678b750`
- [Commits](6c4d1888eb...678b750128)

---
updated-dependencies:
- dependency-name: bgfx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bimg
  dependency-type: direct:production
  dependency-group: submodules
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-02 05:42:25 +01:00
Zone.N
2f0e950b8f Remove dx9 shader compilation option 2023-12-02 09:08:29 -05:00
dependabot[bot]
26af75d78b build(deps): bump the submodules group with 3 updates
Bumps the submodules group with 3 updates: [bgfx](https://github.com/bkaradzic/bgfx), [bx](https://github.com/bkaradzic/bx) and [bimg](https://github.com/bkaradzic/bimg).


Updates `bgfx` from `66b020e` to `5de37d0`
- [Commits](66b020e939...5de37d0e22)

Updates `bx` from `610b8e4` to `be3e348`
- [Commits](610b8e4df1...be3e348eb2)

Updates `bimg` from `dce2c35` to `6c4d188`
- [Commits](dce2c35a49...6c4d1888eb)

---
updated-dependencies:
- dependency-name: bgfx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bimg
  dependency-type: direct:production
  dependency-group: submodules
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-02 09:08:29 -05:00
dependabot[bot]
1f65bfcb44 build(deps): bump the submodules group with 3 updates
Bumps the submodules group with 3 updates: [bgfx](https://github.com/bkaradzic/bgfx), [bx](https://github.com/bkaradzic/bx) and [bimg](https://github.com/bkaradzic/bimg).


Updates `bgfx` from `3e5bfb8` to `66b020e`
- [Commits](3e5bfb81b6...66b020e939)

Updates `bx` from `16c5569` to `610b8e4`
- [Commits](16c55699c1...610b8e4df1)

Updates `bimg` from `ab96ba9` to `dce2c35`
- [Commits](ab96ba9dda...dce2c35a49)

---
updated-dependencies:
- dependency-name: bgfx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bimg
  dependency-type: direct:production
  dependency-group: submodules
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 11:16:06 -04:00
Sandy Carter
875927a712 _bgfx_shaderc_parse: Must have profile specified. 2023-10-01 18:44:37 -04:00
dependabot[bot]
f46699bb4a build(deps): bump the submodules group with 3 updates
Bumps the submodules group with 3 updates: [bgfx](https://github.com/bkaradzic/bgfx), [bx](https://github.com/bkaradzic/bx) and [bimg](https://github.com/bkaradzic/bimg).


Updates `bgfx` from `98f16cd` to `3e5bfb8`
- [Commits](98f16cd125...3e5bfb81b6)

Updates `bx` from `198cd12` to `16c5569`
- [Commits](198cd120e4...16c55699c1)

Updates `bimg` from `ec02df8` to `ab96ba9`
- [Commits](ec02df824a...ab96ba9dda)

---
updated-dependencies:
- dependency-name: bgfx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bimg
  dependency-type: direct:production
  dependency-group: submodules
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 18:44:37 -04:00
dependabot[bot]
6a8aba37ff build(deps): bump the submodules group with 1 update
Bumps the submodules group with 1 update: [bgfx](https://github.com/bkaradzic/bgfx).

- [Commits](8b6a6bdf0e...98f16cd125)

---
updated-dependencies:
- dependency-name: bgfx
  dependency-type: direct:production
  dependency-group: submodules
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 08:02:07 -04:00
dependabot[bot]
38de01cd8a build(deps): bump the submodules group with 2 updates (#214)
* 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).


Updates `bgfx` from `e2c5b1d` to `8b6a6bd`
- [Commits](e2c5b1d3e1...8b6a6bdf0e)

Updates `bx` from `96748d9` to `198cd12`
- [Commits](96748d9a58...198cd120e4)

---
updated-dependencies:
- dependency-name: bgfx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bx
  dependency-type: direct:production
  dependency-group: submodules
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update to c++17

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sandy <bwrsandman@gmail.com>
2023-08-01 14:36:58 -04:00
Sandy Carter
560dcb227e always run _bgfx_crosscompile_use_host_tool 2023-07-15 20:05:35 -04:00
Sandy Carter
b3dae62c95 Don't fail if installed from build without tools 2023-07-15 20:05:35 -04:00
Sandy Carter
a1a7828ab0 Fix the way headers are installed
Fix missing bx headers when compiling SHARED
Fix compat and tinystl being installed in include root
Move submodule specific installs to their respecive config files.
2023-07-14 23:28:00 -04:00
Sandy
11810052be Add missing ARRAY_NAME to bin2c example 2023-07-14 15:42:10 -04:00
dependabot[bot]
688224d5f0 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).


Updates `bgfx` from `e7e75e4` to `e2c5b1d`
- [Commits](e7e75e4bff...e2c5b1d3e1)

Updates `bx` from `7ac95d5` to `96748d9`
- [Commits](7ac95d5131...96748d9a58)

---
updated-dependencies:
- dependency-name: bgfx
  dependency-type: direct:production
  dependency-group: submodules
- dependency-name: bx
  dependency-type: direct:production
  dependency-group: submodules
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-06 21:26:04 -04:00
Sandy Carter
3c1f8bac82 add @bwrsandman as default reviewer 2023-07-06 20:26:35 -04:00
Sandy Carter
ec52497189 dependabot: Add groups, a beta feature 2023-07-06 20:15:50 -04:00
Sandy Carter
1925f436e7 dependabot: Add groups, a beta feature 2023-07-06 20:14:42 -04:00
Sandy Carter
b208d0c37b release: Fix typo in file directory 2023-06-11 09:09:45 -04:00
Sandy Carter
b5041def8e release: Isolate source from binaries 2023-06-11 08:29:30 -04:00
Sandy Carter
29b62260f6 Improve release archive names and structure 2023-06-11 08:11:49 -04:00
Sandy Carter
4cfb204f26 Use commas to separate artefacts 2023-06-11 07:25:09 -04:00
Sandy Carter
715b2a2c67 Debug artifact location 2023-06-11 06:26:34 -04:00
16 changed files with 709 additions and 694 deletions

1
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1 @@
* @bwrsandman

View File

@@ -4,3 +4,8 @@ updates:
directory: "/"
schedule:
interval: "monthly"
groups:
# Name of the group
submodules:
patterns:
- "*"

View File

@@ -97,79 +97,82 @@ jobs:
with:
submodules: recursive
fetch-depth: 0
path: src/bgfx.cmake
- run: |
find src/bgfx.cmake -name ".git*" -exec rm -rf {} +
find src/bgfx.cmake -name ".editorconfig" -delete
rm src/bgfx.cmake/.cmake-format.py
- uses: actions/download-artifact@v3
with:
name: windows-latest
path: ${{ github.workspace }}/install/windows
path: ${{ github.workspace }}/install/windows/bgfx.cmake
- uses: actions/download-artifact@v3
with:
name: ubuntu-latest
path: ${{ github.workspace }}/install/linux
path: ${{ github.workspace }}/install/linux/bgfx.cmake
- uses: actions/download-artifact@v3
with:
name: macos-latest
path: ${{ github.workspace }}/install/macos
path: ${{ github.workspace }}/install/macos/bgfx.cmake
- name: Create Source Zip
uses: thedoctor0/zip-release@0.7.1
with:
type: 'zip'
filename: 'release.${{ needs.version.outputs.tag }}.zip'
directory: '..'
filename: 'bgfx.cmake.${{ needs.version.outputs.tag }}.zip'
directory: 'src'
path: 'bgfx.cmake'
exclusions: '.git* .cmake-format.py .editorconfig install'
- name: Create Source Tar
uses: thedoctor0/zip-release@0.7.1
with:
type: 'tar'
filename: 'release.${{ needs.version.outputs.tag }}.tar.gz'
directory: '..'
filename: 'bgfx.cmake.${{ needs.version.outputs.tag }}.tar.gz'
directory: 'src'
path: 'bgfx.cmake'
exclusions: '.git* .cmake-format.py .editorconfig install'
- name: Create Windows Zip
uses: thedoctor0/zip-release@0.7.1
with:
type: 'zip'
filename: 'windows.${{ needs.version.outputs.tag }}.zip'
directory: 'install'
path: 'windows'
filename: 'bgfx.cmake.binary.windows.${{ needs.version.outputs.tag }}.zip'
directory: 'install/windows'
path: 'bgfx.cmake'
- name: Create Windows Tar
uses: thedoctor0/zip-release@0.7.1
with:
type: 'tar'
filename: 'windows.${{ needs.version.outputs.tag }}.tar.gz'
directory: 'install'
path: 'windows'
filename: 'bgfx.cmake.binary.windows.${{ needs.version.outputs.tag }}.tar.gz'
directory: 'install/windows'
path: 'bgfx.cmake'
- name: Create Linux Zip
uses: thedoctor0/zip-release@0.7.1
with:
type: 'zip'
filename: 'linux.${{ needs.version.outputs.tag }}.zip'
directory: 'install'
path: 'linux'
filename: 'bgfx.cmake.binary.linux.${{ needs.version.outputs.tag }}.zip'
directory: 'install/linux'
path: 'bgfx.cmake'
- name: Create Linux Tar
uses: thedoctor0/zip-release@0.7.1
with:
type: 'tar'
filename: 'linux.${{ needs.version.outputs.tag }}.tar.gz'
directory: 'install'
path: 'linux'
filename: 'bgfx.cmake.binary.linux.${{ needs.version.outputs.tag }}.tar.gz'
directory: 'install/linux'
path: 'bgfx.cmake'
- name: Create MacOS Zip
uses: thedoctor0/zip-release@0.7.1
with:
type: 'zip'
filename: 'macos.${{ needs.version.outputs.tag }}.zip'
directory: 'install'
path: 'macos'
filename: 'bgfx.cmake.binary.macos.${{ needs.version.outputs.tag }}.zip'
directory: 'install/macos'
path: 'bgfx.cmake'
- name: Create MacOS Tar
uses: thedoctor0/zip-release@0.7.1
with:
type: 'tar'
filename: 'macos.${{ needs.version.outputs.tag }}.tar.gz'
directory: 'install'
path: 'macos'
filename: 'bgfx.cmake.binary.macos.${{ needs.version.outputs.tag }}.tar.gz'
directory: 'install/macos'
path: 'bgfx.cmake'
- name: Create Release
uses: ncipollo/release-action@v1
with:
tag: ${{ needs.version.outputs.tag }}
artifacts: "../release.${{ needs.version.outputs.tag }}.zip ../release.${{ needs.version.outputs.tag }}.tar.gz install/*.${{ needs.version.outputs.tag }}.zip install/*.${{ needs.version.outputs.tag }}.tar.gz"
artifacts: "src/bgfx.cmake.${{ needs.version.outputs.tag }}.zip,src/bgfx.cmake.${{ needs.version.outputs.tag }}.tar.gz,install/*/*.${{ needs.version.outputs.tag }}.zip,install/*/*.${{ needs.version.outputs.tag }}.tar.gz"
generateReleaseNotes: true

View File

@@ -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)
@@ -38,6 +38,10 @@ cmake_dependent_option(BGFX_BUILD_TOOLS_GEOMETRY "Build bgfx geometry tools." ON
cmake_dependent_option(BGFX_BUILD_TOOLS_TEXTURE "Build bgfx texture tools." ON BGFX_BUILD_TOOLS OFF)
set(BGFX_TOOLS_PREFIX "" CACHE STRING "Prefix name to add to name of tools (to avoid clashes)")
option(BGFX_BUILD_EXAMPLES "Build bgfx examples." ON)
cmake_dependent_option(
BGFX_BUILD_EXAMPLE_COMMON "Build bgfx example-common project." OFF "NOT BGFX_BUILD_EXAMPLES;NOT BGFX_BUILD_TOOLS"
ON
)
option(BGFX_BUILD_TESTS "Build bgfx tests." OFF)
option(BGFX_INSTALL "Create installation target." ON)
cmake_dependent_option(
@@ -160,18 +164,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}")

View File

@@ -48,8 +48,9 @@ Adding these `INPUT_FILE` as source files to a target will run `bin2c` at build
#### Examples: Generating an image as a header
```cmake
bgfx_compile_binary_to_header(
INPUT_FILE image.png
INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/image.png
OUTPUT_FILE ${CMAKE_BINARY_DIR}/include/generated/images/image.png.h
ARRAY_NAME image_bytes
)
add_library(myLib image.png)
target_include_directories(myLib ${CMAKE_BINARY_DIR}/include/generated/images)
@@ -58,6 +59,7 @@ target_include_directories(myLib ${CMAKE_BINARY_DIR}/include/generated/images)
```cpp
// main.cpp
#include <image.png.h>
// You now have access to a static const uint8_t or char array named image_bytes
```
### `bgfx_compile_texture`

2
bgfx

Submodule bgfx updated: e7e75e4bff...57d8a0838b

2
bimg

Submodule bimg updated: ec02df824a...e9fa0ceff2

2
bx

Submodule bx updated: 7ac95d5131...34ba9c7a5c

View File

@@ -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@")

View File

@@ -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)

View File

@@ -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()

View File

@@ -33,19 +33,6 @@ function(add_bgfx_shader FILE FOLDER)
set(OUTPUTS_PRETTY "")
if(WIN32)
# dx9
if(NOT "${TYPE}" STREQUAL "COMPUTE")
set(DX9_OUTPUT ${BGFX_DIR}/examples/runtime/shaders/dx9/${FILENAME}.bin)
_bgfx_shaderc_parse(
DX9 ${COMMON} WINDOWS
PROFILE s_3_0
O 3
OUTPUT ${DX9_OUTPUT}
)
list(APPEND OUTPUTS "DX9")
set(OUTPUTS_PRETTY "${OUTPUTS_PRETTY}DX9, ")
endif()
# dx11
set(DX11_OUTPUT ${BGFX_DIR}/examples/runtime/shaders/dx11/${FILENAME}.bin)
if(NOT "${TYPE}" STREQUAL "COMPUTE")
@@ -78,7 +65,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()
@@ -276,17 +263,19 @@ if(BGFX_CUSTOM_TARGETS)
endif()
# Add common library for examples
add_example(
common
COMMON
DIRECTORIES
${BGFX_DIR}/examples/common/debugdraw
${BGFX_DIR}/examples/common/entry
${BGFX_DIR}/examples/common/font
${BGFX_DIR}/examples/common/imgui
${BGFX_DIR}/examples/common/nanovg
${BGFX_DIR}/examples/common/ps
)
if(BGFX_BUILD_EXAMPLE_COMMON)
add_example(
common
COMMON
DIRECTORIES
${BGFX_DIR}/examples/common/debugdraw
${BGFX_DIR}/examples/common/entry
${BGFX_DIR}/examples/common/font
${BGFX_DIR}/examples/common/imgui
${BGFX_DIR}/examples/common/nanovg
${BGFX_DIR}/examples/common/ps
)
endif()
# Only add examples if set, otherwise we still need exmaples common for tools
if(BGFX_BUILD_EXAMPLES)

View File

@@ -1,4 +1,3 @@
#include "@BGFX_DIR@/src/shader.cpp"
#include "@BGFX_DIR@/src/shader_dx9bc.cpp"
#include "@BGFX_DIR@/src/shader_dxbc.cpp"
#include "@BGFX_DIR@/src/shader_spirv.cpp"
#include "@BGFX_DIR@/src/shader_spirv.cpp"

File diff suppressed because it is too large Load Diff

View File

@@ -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()

View File

@@ -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()