mirror of
https://github.com/bkaradzic/bgfx.cmake.git
synced 2026-02-17 21:12:35 +01:00
bgfx: Move example to bgfx and split off imgui
This commit is contained in:
@@ -108,10 +108,6 @@ if(BGFX_BUILD_TOOLS)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/tools.cmake)
|
||||
endif()
|
||||
|
||||
if(BGFX_BUILD_TOOLS OR BGFX_BUILD_EXAMPLES)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/examples.cmake)
|
||||
endif()
|
||||
|
||||
if(BGFX_INSTALL)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
|
||||
23
cmake/3rdparty/dear-imgui.cmake
vendored
23
cmake/3rdparty/dear-imgui.cmake
vendored
@@ -1,23 +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 dear-imgui)
|
||||
return()
|
||||
endif()
|
||||
|
||||
file(GLOB dear_IMGUI_SOURCES ${BGFX_DIR}/3rdparty/dear-imgui/*.cpp ${BGFX_DIR}/3rdparty/dear-imgui/*.h
|
||||
${BGFX_DIR}/3rdparty/dear-imgui/*.inl
|
||||
)
|
||||
|
||||
add_library(dear-imgui STATIC EXCLUDE_FROM_ALL ${dear_IMGUI_SOURCES})
|
||||
target_compile_definitions(dear-imgui PRIVATE "-D_CRT_SECURE_NO_WARNINGS" "-D__STDC_FORMAT_MACROS")
|
||||
target_include_directories(dear-imgui PUBLIC ${BGFX_DIR}/3rdparty)
|
||||
target_link_libraries(dear-imgui PUBLIC bx)
|
||||
set_target_properties(dear-imgui PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")
|
||||
26
cmake/bgfx/3rdparty/dear-imgui.cmake
vendored
Normal file
26
cmake/bgfx/3rdparty/dear-imgui.cmake
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
# 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/>.
|
||||
|
||||
# Ensure the directory exists
|
||||
if(NOT IS_DIRECTORY ${BGFX_DIR})
|
||||
message(SEND_ERROR "Could not load bgfx, directory does not exist. ${BGFX_DIR}")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(NOT DEAR_IMGUI_LIBRARIES)
|
||||
file(
|
||||
GLOB #
|
||||
DEAR_IMGUI_SOURCES #
|
||||
${BGFX_DIR}/3rdparty/dear-imgui/*.cpp #
|
||||
${BGFX_DIR}/3rdparty/dear-imgui/*.h #
|
||||
${BGFX_DIR}/3rdparty/dear-imgui/*.inl #
|
||||
)
|
||||
set(DEAR_IMGUI_INCLUDE_DIR ${BGFX_DIR}/3rdparty)
|
||||
endif()
|
||||
3
cmake/bgfx/3rdparty/meshoptimizer.cmake
vendored
3
cmake/bgfx/3rdparty/meshoptimizer.cmake
vendored
@@ -15,7 +15,8 @@ if(NOT IS_DIRECTORY ${BGFX_DIR})
|
||||
endif()
|
||||
|
||||
if(NOT MESHOPTIMIZER_LIBRARIES)
|
||||
file(GLOB #
|
||||
file(
|
||||
GLOB #
|
||||
MESHOPTIMIZER_SOURCES #
|
||||
${BGFX_DIR}/3rdparty/meshoptimizer/src/*.cpp #
|
||||
${BGFX_DIR}/3rdparty/meshoptimizer/src/*.h #
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
|
||||
include(bgfx.cmake)
|
||||
include(3rdparty/meshoptimizer.cmake)
|
||||
include(3rdparty/dear-imgui.cmake)
|
||||
|
||||
include(examples.cmake)
|
||||
|
||||
if(BGFX_BUILD_TOOLS_TEXTURE)
|
||||
include(texturev.cmake)
|
||||
|
||||
@@ -12,8 +12,7 @@ include(CMakeParseArguments)
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/util/ConfigureDebugging.cmake)
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/3rdparty/dear-imgui.cmake)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/bgfxToolUtils.cmake)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/../bgfxToolUtils.cmake)
|
||||
|
||||
function(add_bgfx_shader FILE FOLDER)
|
||||
get_filename_component(FILENAME "${FILE}" NAME_WE)
|
||||
@@ -143,9 +142,16 @@ function(add_example ARG_NAME)
|
||||
|
||||
# Add target
|
||||
if(ARG_COMMON)
|
||||
add_library(example-${ARG_NAME} STATIC EXCLUDE_FROM_ALL ${SOURCES} ${MESHOPTIMIZER_SOURCES})
|
||||
target_include_directories(example-${ARG_NAME} PUBLIC ${BGFX_DIR}/examples/common ${MESHOPTIMIZER_INCLUDE_DIR})
|
||||
target_link_libraries(example-${ARG_NAME} PUBLIC bgfx bx bimg bimg_decode dear-imgui ${MESHOPTIMIZER_LIBRARIES})
|
||||
add_library(
|
||||
example-${ARG_NAME} STATIC EXCLUDE_FROM_ALL ${SOURCES} ${DEAR_IMGUI_SOURCES} ${MESHOPTIMIZER_SOURCES}
|
||||
)
|
||||
target_include_directories(
|
||||
example-${ARG_NAME} PUBLIC ${BGFX_DIR}/examples/common ${DEAR_IMGUI_INCLUDE_DIR}
|
||||
${MESHOPTIMIZER_INCLUDE_DIR}
|
||||
)
|
||||
target_link_libraries(
|
||||
example-${ARG_NAME} PUBLIC bgfx bx bimg bimg_decode ${DEAR_IMGUI_LIBRARIES} ${MESHOPTIMIZER_LIBRARIES}
|
||||
)
|
||||
if(BGFX_WITH_GLFW)
|
||||
find_package(glfw3 REQUIRED)
|
||||
target_link_libraries(example-${ARG_NAME} PUBLIC glfw)
|
||||
Reference in New Issue
Block a user