fix formatting for all cmake files

This commit is contained in:
Sandy Carter
2023-01-07 09:41:26 -05:00
parent c9e4e20b02
commit c85f396456
26 changed files with 1579 additions and 1677 deletions

View File

@@ -115,7 +115,7 @@ with section("format"):
max_lines_hwrap = 2
# What style line endings to use in the output.
line_ending = 'windows'
line_ending = 'unix'
# Format command names consistently as 'lower' or 'upper' case
command_case = 'canonical'

View File

@@ -8,23 +8,17 @@
# 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-encoder )
if(TARGET astc-encoder)
return()
endif()
file(
GLOB
ASTC_ENCODER_SOURCES
${BIMG_DIR}/3rdparty/astc-encoder/source/*.cpp
file(GLOB ASTC_ENCODER_SOURCES ${BIMG_DIR}/3rdparty/astc-encoder/source/*.cpp
${BIMG_DIR}/3rdparty/astc-encoder/include/*.h
)
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-encoder>
$<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/astc-encoder/include> )
set_target_properties( astc-encoder
PROPERTIES
FOLDER "bgfx/3rdparty" )
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-encoder>
$<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/astc-encoder/include>
)
set_target_properties(astc-encoder PROPERTIES FOLDER "bgfx/3rdparty")

View File

@@ -8,17 +8,16 @@
# 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 )
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 )
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-" )
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-")

View File

@@ -8,15 +8,12 @@
# 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 edtaa3 )
if(TARGET edtaa3)
return()
endif()
file( GLOB EDTAA3_SOURCES ${BIMG_DIR}/3rdparty/edtaa3/*.cpp ${BIMG_DIR}/3rdparty/edtaa3/*.h )
file(GLOB EDTAA3_SOURCES ${BIMG_DIR}/3rdparty/edtaa3/*.cpp ${BIMG_DIR}/3rdparty/edtaa3/*.h)
add_library( edtaa3 STATIC ${EDTAA3_SOURCES} )
target_include_directories( edtaa3 PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty> )
set_target_properties( edtaa3
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
add_library(edtaa3 STATIC ${EDTAA3_SOURCES})
target_include_directories(edtaa3 PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty>)
set_target_properties(edtaa3 PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -8,15 +8,12 @@
# 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 etc1 )
if(TARGET etc1)
return()
endif()
file( GLOB ETC1_SOURCES ${BIMG_DIR}/3rdparty/etc1/*.cpp ${BIMG_DIR}/3rdparty/etc1/*.h )
file(GLOB ETC1_SOURCES ${BIMG_DIR}/3rdparty/etc1/*.cpp ${BIMG_DIR}/3rdparty/etc1/*.h)
add_library( etc1 STATIC ${ETC1_SOURCES} )
target_include_directories( etc1 PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty> )
set_target_properties( etc1
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
add_library(etc1 STATIC ${ETC1_SOURCES})
target_include_directories(etc1 PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty>)
set_target_properties(etc1 PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -8,16 +8,13 @@
# 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 etc2 )
if(TARGET etc2)
return()
endif()
file( GLOB ETC2_SOURCES ${BIMG_DIR}/3rdparty/etc2/*.cpp ${BIMG_DIR}/3rdparty/etc2/*.h )
file(GLOB ETC2_SOURCES ${BIMG_DIR}/3rdparty/etc2/*.cpp ${BIMG_DIR}/3rdparty/etc2/*.h)
add_library( etc2 STATIC ${ETC2_SOURCES} )
target_include_directories( etc2 PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty> )
target_link_libraries( etc2 PUBLIC bx )
set_target_properties( etc2
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
add_library(etc2 STATIC ${ETC2_SOURCES})
target_include_directories(etc2 PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty>)
target_link_libraries(etc2 PUBLIC bx)
set_target_properties(etc2 PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -8,28 +8,19 @@
# 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 fcpp )
if(TARGET fcpp)
return()
endif()
file( GLOB FCPP_SOURCES ${BGFX_DIR}/3rdparty/fcpp/*.c ${BGFX_DIR}/3rdparty/fcpp/*.h )
file(GLOB FCPP_SOURCES ${BGFX_DIR}/3rdparty/fcpp/*.c ${BGFX_DIR}/3rdparty/fcpp/*.h)
add_library( fcpp STATIC ${FCPP_SOURCES} )
target_include_directories( fcpp PUBLIC ${BGFX_DIR}/3rdparty/fcpp )
target_compile_definitions( fcpp
PRIVATE
NINCLUDE=64
NWORK=65536
NBUFF=65536
OLD_PREPROCESSOR=0
)
add_library(fcpp STATIC ${FCPP_SOURCES})
target_include_directories(fcpp PUBLIC ${BGFX_DIR}/3rdparty/fcpp)
target_compile_definitions(fcpp PRIVATE NINCLUDE=64 NWORK=65536 NBUFF=65536 OLD_PREPROCESSOR=0)
if( MSVC )
set_target_properties( fcpp PROPERTIES COMPILE_FLAGS "/W0" )
if(MSVC)
set_target_properties(fcpp PROPERTIES COMPILE_FLAGS "/W0")
endif()
set_target_properties( fcpp
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
set_source_files_properties( ${BGFX_DIR}/3rdparty/fcpp/usecpp.c PROPERTIES HEADER_FILE_ONLY ON )
set_target_properties(fcpp PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")
set_source_files_properties(${BGFX_DIR}/3rdparty/fcpp/usecpp.c PROPERTIES HEADER_FILE_ONLY ON)

View File

@@ -8,83 +8,73 @@
# 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 glsl-optimizer )
if(TARGET glsl-optimizer)
return()
endif()
set( GLSL-OPTIMIZER_INCLUDES
${BGFX_DIR}/3rdparty/glsl-optimizer/include
${BGFX_DIR}/3rdparty/glsl-optimizer/src/mesa
${BGFX_DIR}/3rdparty/glsl-optimizer/src/mapi
${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl
set(GLSL-OPTIMIZER_INCLUDES
${BGFX_DIR}/3rdparty/glsl-optimizer/include ${BGFX_DIR}/3rdparty/glsl-optimizer/src/mesa
${BGFX_DIR}/3rdparty/glsl-optimizer/src/mapi ${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl
${BGFX_DIR}/3rdparty/glsl-optimizer/src
)
# glsl-optimizer makes UBSan segfault for whatever reason
# We already know that it's full of UB anyway... so just don't build it with UBSan
string(REPLACE "-fsanitize=undefined" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" )
string(REPLACE "-fsanitize=undefined" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
string(REPLACE "-fsanitize=undefined" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
string(REPLACE "-fsanitize=undefined" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
# glcpp
file( GLOB GLCPP_SOURCES ${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl/glcpp/*.c ${BGFX_DIR}/3rdparty/glsl-optimizer/src/util/*.c )
file(GLOB GLCPP_SOURCES ${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl/glcpp/*.c
${BGFX_DIR}/3rdparty/glsl-optimizer/src/util/*.c
)
# Library must be static because hash_table_ctor referenced in function glcpp_parser_create
add_library( glcpp STATIC ${GLCPP_SOURCES} )
target_include_directories( glcpp PUBLIC ${GLSL-OPTIMIZER_INCLUDES} )
add_library(glcpp STATIC ${GLCPP_SOURCES})
target_include_directories(glcpp PUBLIC ${GLSL-OPTIMIZER_INCLUDES})
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
target_compile_options( glcpp PRIVATE "-fno-strict-aliasing")
target_compile_options(glcpp PRIVATE "-fno-strict-aliasing")
endif()
if( MSVC )
set_target_properties( glcpp PROPERTIES COMPILE_FLAGS "/W0" )
if(MSVC)
set_target_properties(glcpp PROPERTIES COMPILE_FLAGS "/W0")
endif()
set_target_properties( glcpp PROPERTIES FOLDER "bgfx/3rdparty" )
set_target_properties(glcpp PROPERTIES FOLDER "bgfx/3rdparty")
# mesa
file( GLOB MESA_SOURCES ${BGFX_DIR}/3rdparty/glsl-optimizer/src/mesa/program/*.c ${BGFX_DIR}/3rdparty/glsl-optimizer/src/mesa/main/*.c )
file(GLOB MESA_SOURCES ${BGFX_DIR}/3rdparty/glsl-optimizer/src/mesa/program/*.c
${BGFX_DIR}/3rdparty/glsl-optimizer/src/mesa/main/*.c
)
# Library must be static because mesa/program/prog_hash_table.c uses _mesa_error_no_memory which is in glsl/standalone_scaffolding.cpp of glsl-optimizer
add_library( mesa STATIC ${MESA_SOURCES} )
target_include_directories( mesa PUBLIC ${GLSL-OPTIMIZER_INCLUDES} )
add_library(mesa STATIC ${MESA_SOURCES})
target_include_directories(mesa PUBLIC ${GLSL-OPTIMIZER_INCLUDES})
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
target_compile_options( mesa PRIVATE "-fno-strict-aliasing")
target_compile_options(mesa PRIVATE "-fno-strict-aliasing")
endif()
if( MSVC )
set_target_properties( mesa PROPERTIES COMPILE_FLAGS "/W0" )
if(MSVC)
set_target_properties(mesa PROPERTIES COMPILE_FLAGS "/W0")
endif()
set_target_properties( mesa PROPERTIES FOLDER "bgfx/3rdparty" )
set_target_properties(mesa PROPERTIES FOLDER "bgfx/3rdparty")
# glsl-optimizer
file( GLOB GLSL-OPTIMIZER_SOURCES ${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl/*.cpp ${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl/*.c )
file( GLOB GLSL-OPTIMIZER_SOURCES_REMOVE ${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl/main.cpp ${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl/builtin_stubs.cpp )
list( REMOVE_ITEM GLSL-OPTIMIZER_SOURCES ${GLSL-OPTIMIZER_SOURCES_REMOVE} )
add_library( glsl-optimizer STATIC ${GLSL-OPTIMIZER_SOURCES} )
target_link_libraries( glsl-optimizer glcpp mesa )
file(GLOB GLSL-OPTIMIZER_SOURCES ${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl/*.cpp
${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl/*.c
)
file(GLOB GLSL-OPTIMIZER_SOURCES_REMOVE ${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl/main.cpp
${BGFX_DIR}/3rdparty/glsl-optimizer/src/glsl/builtin_stubs.cpp
)
list(REMOVE_ITEM GLSL-OPTIMIZER_SOURCES ${GLSL-OPTIMIZER_SOURCES_REMOVE})
add_library(glsl-optimizer STATIC ${GLSL-OPTIMIZER_SOURCES})
target_link_libraries(glsl-optimizer glcpp mesa)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
target_compile_options( glsl-optimizer
PRIVATE
-fno-strict-aliasing
-Wno-implicit-fallthrough
-Wno-parentheses
-Wno-sign-compare
-Wno-unused-function
-Wno-unused-parameter
target_compile_options(
glsl-optimizer PRIVATE -fno-strict-aliasing -Wno-implicit-fallthrough -Wno-parentheses -Wno-sign-compare
-Wno-unused-function -Wno-unused-parameter
)
endif()
if( MSVC )
set_target_properties( glsl-optimizer PROPERTIES COMPILE_FLAGS "/W0" )
target_compile_definitions( glsl-optimizer
PRIVATE
__STDC__
__STDC_VERSION__=199901L
strdup=_strdup
alloca=_alloca
isascii=__isascii
if(MSVC)
set_target_properties(glsl-optimizer PROPERTIES COMPILE_FLAGS "/W0")
target_compile_definitions(
glsl-optimizer PRIVATE __STDC__ __STDC_VERSION__=199901L strdup=_strdup alloca=_alloca isascii=__isascii
)
elseif(APPLE)
target_compile_options( glsl-optimizer
PRIVATE
-Wno-deprecated-register
)
target_compile_options(glsl-optimizer PRIVATE -Wno-deprecated-register)
endif()
set_target_properties( glsl-optimizer
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
set_target_properties(glsl-optimizer PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -8,11 +8,13 @@
# 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 glslang )
if(TARGET glslang)
return()
endif()
file( GLOB GLSLANG_SOURCES
file(
GLOB
GLSLANG_SOURCES
${BGFX_DIR}/3rdparty/glslang/glslang/GenericCodeGen/*.cpp
${BGFX_DIR}/3rdparty/glslang/glslang/MachineIndependent/*.cpp
${BGFX_DIR}/3rdparty/glslang/glslang/MachineIndependent/preprocessor/*.cpp
@@ -22,32 +24,26 @@ file( GLOB GLSLANG_SOURCES
${BGFX_DIR}/3rdparty/glslang/OGLCompilersDLL/*.cpp
)
if( WIN32 )
list( APPEND GLSLANG_SOURCES ${BGFX_DIR}/3rdparty/glslang/glslang/OSDependent/Windows/ossource.cpp )
if(WIN32)
list(APPEND GLSLANG_SOURCES ${BGFX_DIR}/3rdparty/glslang/glslang/OSDependent/Windows/ossource.cpp)
else()
list( APPEND GLSLANG_SOURCES ${BGFX_DIR}/3rdparty/glslang/glslang/OSDependent/Unix/ossource.cpp )
list(APPEND GLSLANG_SOURCES ${BGFX_DIR}/3rdparty/glslang/glslang/OSDependent/Unix/ossource.cpp)
endif()
add_library( glslang STATIC EXCLUDE_FROM_ALL ${GLSLANG_SOURCES} )
target_include_directories( glslang PUBLIC
${BGFX_DIR}/3rdparty/spirv-tools/include
${BGFX_DIR}/3rdparty/spirv-tools/source
${BGFX_DIR}/3rdparty/glslang
${BGFX_DIR}/3rdparty/glslang/glslang/Include
${BGFX_DIR}/3rdparty/glslang/glslang/Public
PRIVATE
${BGFX_DIR}/3rdparty
add_library(glslang STATIC EXCLUDE_FROM_ALL ${GLSLANG_SOURCES})
target_include_directories(
glslang
PUBLIC ${BGFX_DIR}/3rdparty/spirv-tools/include ${BGFX_DIR}/3rdparty/spirv-tools/source ${BGFX_DIR}/3rdparty/glslang
${BGFX_DIR}/3rdparty/glslang/glslang/Include ${BGFX_DIR}/3rdparty/glslang/glslang/Public
PRIVATE ${BGFX_DIR}/3rdparty
)
set_target_properties( glslang
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
set_target_properties(glslang PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")
if( MSVC )
target_compile_options( glslang PRIVATE
"/wd4005"
if(MSVC)
target_compile_options(
glslang
PRIVATE "/wd4005"
"/wd4065"
"/wd4100"
"/wd4127"
@@ -63,8 +59,9 @@ if( MSVC )
"/wd4838"
)
else()
target_compile_options( glslang PRIVATE
"-Wno-ignored-qualifiers"
target_compile_options(
glslang
PRIVATE "-Wno-ignored-qualifiers"
"-Wno-implicit-fallthrough"
"-Wno-missing-field-initializers"
"-Wno-reorder"
@@ -81,21 +78,14 @@ else()
)
endif()
if( APPLE )
target_compile_options( glslang PRIVATE
"-Wno-c++11-extensions"
"-Wno-unused-const-variable"
"-Wno-deprecated-register"
if(APPLE)
target_compile_options(
glslang PRIVATE "-Wno-c++11-extensions" "-Wno-unused-const-variable" "-Wno-deprecated-register"
)
endif()
if( UNIX AND NOT APPLE )
target_compile_options( glslang PRIVATE
"-Wno-unused-but-set-variable"
)
if(UNIX AND NOT APPLE)
target_compile_options(glslang PRIVATE "-Wno-unused-but-set-variable")
endif()
target_compile_definitions( glslang PRIVATE
ENABLE_OPT=1
ENABLE_HLSL=1
)
target_compile_definitions(glslang PRIVATE ENABLE_OPT=1 ENABLE_HLSL=1)

View File

@@ -8,15 +8,12 @@
# 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 iqa )
if(TARGET iqa)
return()
endif()
file( GLOB IQA_SOURCES ${BIMG_DIR}/3rdparty/iqa/source/*.c ${BIMG_DIR}/3rdparty/iqa/include/*.h )
file(GLOB IQA_SOURCES ${BIMG_DIR}/3rdparty/iqa/source/*.c ${BIMG_DIR}/3rdparty/iqa/include/*.h)
add_library( iqa STATIC ${IQA_SOURCES} )
target_include_directories( iqa PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/iqa/include> )
set_target_properties( iqa
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
add_library(iqa STATIC ${IQA_SOURCES})
target_include_directories(iqa PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/iqa/include>)
set_target_properties(iqa PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -8,15 +8,14 @@
# 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 squish )
if(TARGET squish)
return()
endif()
file( GLOB SQUISH_SOURCES ${BIMG_DIR}/3rdparty/libsquish/*.cpp ${BIMG_DIR}/3rdparty/libsquish/*.h ${BIMG_DIR}/3rdparty/libsquish/*.inl )
file(GLOB SQUISH_SOURCES ${BIMG_DIR}/3rdparty/libsquish/*.cpp ${BIMG_DIR}/3rdparty/libsquish/*.h
${BIMG_DIR}/3rdparty/libsquish/*.inl
)
add_library( squish STATIC ${SQUISH_SOURCES} )
target_include_directories( squish PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty> )
set_target_properties( squish
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
add_library(squish STATIC ${SQUISH_SOURCES})
target_include_directories(squish PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty>)
set_target_properties(squish PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -8,15 +8,12 @@
# 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 meshoptimizer )
if(TARGET meshoptimizer)
return()
endif()
file( GLOB MESHOPTIMIZER_SOURCES ${BGFX_DIR}/3rdparty/meshoptimizer/src/*.cpp ${BGFX_DIR}/3rdparty/meshoptimizer/src/*.h )
file(GLOB MESHOPTIMIZER_SOURCES ${BGFX_DIR}/3rdparty/meshoptimizer/src/*.cpp ${BGFX_DIR}/3rdparty/meshoptimizer/src/*.h)
add_library( meshoptimizer STATIC ${MESHOPTIMIZER_SOURCES} )
target_include_directories( meshoptimizer PUBLIC ${BGFX_DIR}/3rdparty )
set_target_properties( meshoptimizer
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
add_library(meshoptimizer STATIC ${MESHOPTIMIZER_SOURCES})
target_include_directories(meshoptimizer PUBLIC ${BGFX_DIR}/3rdparty)
set_target_properties(meshoptimizer PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -8,7 +8,7 @@
# 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 nvtt )
if(TARGET nvtt)
return()
endif()
@@ -27,13 +27,9 @@ file(
${BIMG_DIR}/3rdparty/nvtt/*.h
)
add_library( nvtt STATIC ${NVTT_SOURCES} )
target_include_directories( nvtt
PUBLIC
$<BUILD_INTERFACE:${BIMG_DIR}/3rdparty>
$<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/nvtt> )
target_link_libraries( nvtt PUBLIC bx )
set_target_properties( nvtt
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
add_library(nvtt STATIC ${NVTT_SOURCES})
target_include_directories(
nvtt PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty> $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/nvtt>
)
target_link_libraries(nvtt PUBLIC bx)
set_target_properties(nvtt PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -8,15 +8,12 @@
# 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 pvrtc )
if(TARGET pvrtc)
return()
endif()
file( GLOB PVRTC_SOURCES ${BIMG_DIR}/3rdparty/pvrtc/*.cpp ${BIMG_DIR}/3rdparty/pvrtc/*.h )
file(GLOB PVRTC_SOURCES ${BIMG_DIR}/3rdparty/pvrtc/*.cpp ${BIMG_DIR}/3rdparty/pvrtc/*.h)
add_library( pvrtc STATIC ${PVRTC_SOURCES} )
target_include_directories( pvrtc PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty> )
set_target_properties( pvrtc
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
add_library(pvrtc STATIC ${PVRTC_SOURCES})
target_include_directories(pvrtc PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty>)
set_target_properties(pvrtc PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -8,34 +8,18 @@
# 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 spirv-cross )
if(TARGET spirv-cross)
return()
endif()
file(
GLOB
SPIRV_CROSS_SOURCES
${BGFX_DIR}/3rdparty/spirv-cross/*.cpp
${BGFX_DIR}/3rdparty/spirv-cross/*.h
)
file(GLOB SPIRV_CROSS_SOURCES ${BGFX_DIR}/3rdparty/spirv-cross/*.cpp ${BGFX_DIR}/3rdparty/spirv-cross/*.h)
add_library( spirv-cross STATIC ${SPIRV_CROSS_SOURCES} )
target_compile_definitions( spirv-cross PRIVATE SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS )
target_include_directories( spirv-cross PUBLIC
${BGFX_DIR}/3rdparty/spirv-cross
${BGFX_DIR}/3rdparty/spirv-cross/include
)
add_library(spirv-cross STATIC ${SPIRV_CROSS_SOURCES})
target_compile_definitions(spirv-cross PRIVATE SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS)
target_include_directories(spirv-cross PUBLIC ${BGFX_DIR}/3rdparty/spirv-cross ${BGFX_DIR}/3rdparty/spirv-cross/include)
if( MSVC )
target_compile_options( spirv-cross PRIVATE
"/wd4018"
"/wd4245"
"/wd4706"
"/wd4715"
)
if(MSVC)
target_compile_options(spirv-cross PRIVATE "/wd4018" "/wd4245" "/wd4706" "/wd4715")
endif()
set_target_properties( spirv-cross
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
set_target_properties(spirv-cross PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -8,7 +8,7 @@
# 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 spirv-tools )
if(TARGET spirv-tools)
return()
endif()
@@ -27,35 +27,22 @@ file(
${BGFX_DIR}/3rdparty/spirv-tools/source/val/*.h
)
add_library( spirv-tools STATIC ${SPIRV_TOOLS_SOURCES} )
target_include_directories( spirv-tools PUBLIC
${BGFX_DIR}/3rdparty/spirv-headers/include
${BGFX_DIR}/3rdparty/spirv-tools
${BGFX_DIR}/3rdparty/spirv-tools/include
${BGFX_DIR}/3rdparty/spirv-tools/include/generated
add_library(spirv-tools STATIC ${SPIRV_TOOLS_SOURCES})
target_include_directories(
spirv-tools
PUBLIC ${BGFX_DIR}/3rdparty/spirv-headers/include ${BGFX_DIR}/3rdparty/spirv-tools
${BGFX_DIR}/3rdparty/spirv-tools/include ${BGFX_DIR}/3rdparty/spirv-tools/include/generated
${BGFX_DIR}/3rdparty/spirv-tools/source
)
if( MSVC )
target_compile_options( spirv-tools PRIVATE
"/wd4127"
"/wd4389"
"/wd4702"
"/wd4706"
)
if(MSVC)
target_compile_options(spirv-tools PRIVATE "/wd4127" "/wd4389" "/wd4702" "/wd4706")
else()
target_compile_options( spirv-tools PRIVATE
"-Wno-switch"
)
target_compile_options(spirv-tools PRIVATE "-Wno-switch")
if(MINGW OR ${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
target_compile_options( spirv-tools PRIVATE
"-Wno-misleading-indentation"
)
target_compile_options(spirv-tools PRIVATE "-Wno-misleading-indentation")
endif()
endif()
set_target_properties( spirv-tools
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
set_target_properties(spirv-tools PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -1,12 +1,11 @@
if( TARGET tinyexr )
if(TARGET tinyexr)
return()
endif()
file( GLOB_RECURSE TINYEXR_SOURCES ${BIMG_DIR}/3rdparty/tinyexr/*.c ${BIMG_DIR}/3rdparty/tinyexr/*.h )
file(GLOB_RECURSE TINYEXR_SOURCES ${BIMG_DIR}/3rdparty/tinyexr/*.c ${BIMG_DIR}/3rdparty/tinyexr/*.h)
add_library( tinyexr STATIC ${TINYEXR_SOURCES} )
target_include_directories( tinyexr PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty> $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/tinyexr/deps/miniz> )
set_target_properties( tinyexr
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
add_library(tinyexr STATIC ${TINYEXR_SOURCES})
target_include_directories(
tinyexr PUBLIC $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty> $<BUILD_INTERFACE:${BIMG_DIR}/3rdparty/tinyexr/deps/miniz>
)
set_target_properties(tinyexr PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -8,27 +8,20 @@
# 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 webgpu )
if(TARGET webgpu)
return()
endif()
file(
GLOB
WEBGPU_SOURCES
${BGFX_DIR}/3rdparty/webgpu/include/webgpu/*.h
file(GLOB WEBGPU_SOURCES ${BGFX_DIR}/3rdparty/webgpu/include/webgpu/*.h
# ${BGFX_DIR}/3rdparty/webgpu/webgpu_cpp.cpp # requires dawn to be installed
)
# Library without sources is interface
#add_library( webgpu STATIC ${WEBGPU_SOURCES} )
add_library(webgpu INTERFACE)
target_include_directories( webgpu
# PUBLIC
INTERFACE
$<BUILD_INTERFACE:${BGFX_DIR}/3rdparty/webgpu/include>
target_include_directories(
webgpu # PUBLIC
INTERFACE $<BUILD_INTERFACE:${BGFX_DIR}/3rdparty/webgpu/include>
)
set_target_properties( webgpu
PROPERTIES
FOLDER "bgfx/3rdparty"
PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-" )
set_target_properties(webgpu PROPERTIES FOLDER "bgfx/3rdparty" PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}bgfx-")

View File

@@ -17,155 +17,161 @@
# [DISASM]
# [WERROR]
# )
function( shaderc_parse ARG_OUT )
cmake_parse_arguments( ARG "DEPENDS;ANDROID;ASM_JS;IOS;LINUX;NACL;OSX;WINDOWS;PREPROCESS;RAW;FRAGMENT;VERTEX;COMPUTE;VERBOSE;DEBUG;DISASM;WERROR" "FILE;OUTPUT;VARYINGDEF;BIN2C;PROFILE;O" "INCLUDES;DEFINES" ${ARGN} )
set( CLI "" )
function(shaderc_parse ARG_OUT)
cmake_parse_arguments(
ARG
"DEPENDS;ANDROID;ASM_JS;IOS;LINUX;NACL;OSX;WINDOWS;PREPROCESS;RAW;FRAGMENT;VERTEX;COMPUTE;VERBOSE;DEBUG;DISASM;WERROR"
"FILE;OUTPUT;VARYINGDEF;BIN2C;PROFILE;O"
"INCLUDES;DEFINES"
${ARGN}
)
set(CLI "")
# -f
if( ARG_FILE )
list( APPEND CLI "-f" "${ARG_FILE}" )
if(ARG_FILE)
list(APPEND CLI "-f" "${ARG_FILE}")
endif()
# -i
if( ARG_INCLUDES )
foreach( INCLUDE ${ARG_INCLUDES} )
list( APPEND CLI "-i" )
list( APPEND CLI "${INCLUDE}" )
if(ARG_INCLUDES)
foreach(INCLUDE ${ARG_INCLUDES})
list(APPEND CLI "-i")
list(APPEND CLI "${INCLUDE}")
endforeach()
endif()
# -o
if( ARG_OUTPUT )
list( APPEND CLI "-o" "${ARG_OUTPUT}" )
if(ARG_OUTPUT)
list(APPEND CLI "-o" "${ARG_OUTPUT}")
endif()
# --bin2c
if( ARG_BIN2C )
list( APPEND CLI "--bin2c" "${ARG_BIN2C}" )
if(ARG_BIN2C)
list(APPEND CLI "--bin2c" "${ARG_BIN2C}")
endif()
# --depends
if( ARG_DEPENDS )
list( APPEND CLI "--depends" )
if(ARG_DEPENDS)
list(APPEND CLI "--depends")
endif()
# --platform
set( PLATFORM "" )
set( PLATFORMS "ANDROID;ASM_JS;IOS;LINUX;NACL;OSX;WINDOWS" )
foreach( P ${PLATFORMS} )
if( ARG_${P} )
if( PLATFORM )
message( SEND_ERROR "Call to shaderc_parse() cannot have both flags ${PLATFORM} and ${P}." )
set(PLATFORM "")
set(PLATFORMS "ANDROID;ASM_JS;IOS;LINUX;NACL;OSX;WINDOWS")
foreach(P ${PLATFORMS})
if(ARG_${P})
if(PLATFORM)
message(SEND_ERROR "Call to shaderc_parse() cannot have both flags ${PLATFORM} and ${P}.")
return()
endif()
set( PLATFORM "${P}" )
set(PLATFORM "${P}")
endif()
endforeach()
if( "${PLATFORM}" STREQUAL "" )
message( SEND_ERROR "Call to shaderc_parse() must have a platform flag: ${PLATFORMS}" )
if("${PLATFORM}" STREQUAL "")
message(SEND_ERROR "Call to shaderc_parse() must have a platform flag: ${PLATFORMS}")
return()
elseif( "${PLATFORM}" STREQUAL "ANDROID" )
list( APPEND CLI "--platform" "android" )
elseif( "${PLATFORM}" STREQUAL "ASM_JS" )
list( APPEND CLI "--platform" "asm.js" )
elseif( "${PLATFORM}" STREQUAL "IOS" )
list( APPEND CLI "--platform" "ios" )
elseif( "${PLATFORM}" STREQUAL "LINUX" )
list( APPEND CLI "--platform" "linux" )
elseif( "${PLATFORM}" STREQUAL "NACL" )
list( APPEND CLI "--platform" "nacl" )
elseif( "${PLATFORM}" STREQUAL "OSX" )
list( APPEND CLI "--platform" "osx" )
elseif( "${PLATFORM}" STREQUAL "WINDOWS" )
list( APPEND CLI "--platform" "windows" )
elseif("${PLATFORM}" STREQUAL "ANDROID")
list(APPEND CLI "--platform" "android")
elseif("${PLATFORM}" STREQUAL "ASM_JS")
list(APPEND CLI "--platform" "asm.js")
elseif("${PLATFORM}" STREQUAL "IOS")
list(APPEND CLI "--platform" "ios")
elseif("${PLATFORM}" STREQUAL "LINUX")
list(APPEND CLI "--platform" "linux")
elseif("${PLATFORM}" STREQUAL "NACL")
list(APPEND CLI "--platform" "nacl")
elseif("${PLATFORM}" STREQUAL "OSX")
list(APPEND CLI "--platform" "osx")
elseif("${PLATFORM}" STREQUAL "WINDOWS")
list(APPEND CLI "--platform" "windows")
endif()
# --preprocess
if( ARG_PREPROCESS )
list( APPEND CLI "--preprocess" )
if(ARG_PREPROCESS)
list(APPEND CLI "--preprocess")
endif()
# --define
if( ARG_DEFINES )
list( APPEND CLI "--defines" )
set( DEFINES "" )
foreach( DEFINE ${ARG_DEFINES} )
if( NOT "${DEFINES}" STREQUAL "" )
set( DEFINES "${DEFINES}\\\\;${DEFINE}" )
if(ARG_DEFINES)
list(APPEND CLI "--defines")
set(DEFINES "")
foreach(DEFINE ${ARG_DEFINES})
if(NOT "${DEFINES}" STREQUAL "")
set(DEFINES "${DEFINES}\\\\;${DEFINE}")
else()
set( DEFINES "${DEFINE}" )
set(DEFINES "${DEFINE}")
endif()
endforeach()
list( APPEND CLI "${DEFINES}" )
list(APPEND CLI "${DEFINES}")
endif()
# --raw
if( ARG_RAW )
list( APPEND CLI "--raw" )
if(ARG_RAW)
list(APPEND CLI "--raw")
endif()
# --type
set( TYPE "" )
set( TYPES "FRAGMENT;VERTEX;COMPUTE" )
foreach( T ${TYPES} )
if( ARG_${T} )
if( TYPE )
message( SEND_ERROR "Call to shaderc_parse() cannot have both flags ${TYPE} and ${T}." )
set(TYPE "")
set(TYPES "FRAGMENT;VERTEX;COMPUTE")
foreach(T ${TYPES})
if(ARG_${T})
if(TYPE)
message(SEND_ERROR "Call to shaderc_parse() cannot have both flags ${TYPE} and ${T}.")
return()
endif()
set( TYPE "${T}" )
set(TYPE "${T}")
endif()
endforeach()
if( "${TYPE}" STREQUAL "" )
message( SEND_ERROR "Call to shaderc_parse() must have a type flag: ${TYPES}" )
if("${TYPE}" STREQUAL "")
message(SEND_ERROR "Call to shaderc_parse() must have a type flag: ${TYPES}")
return()
elseif( "${TYPE}" STREQUAL "FRAGMENT" )
list( APPEND CLI "--type" "fragment" )
elseif( "${TYPE}" STREQUAL "VERTEX" )
list( APPEND CLI "--type" "vertex" )
elseif( "${TYPE}" STREQUAL "COMPUTE" )
list( APPEND CLI "--type" "compute" )
elseif("${TYPE}" STREQUAL "FRAGMENT")
list(APPEND CLI "--type" "fragment")
elseif("${TYPE}" STREQUAL "VERTEX")
list(APPEND CLI "--type" "vertex")
elseif("${TYPE}" STREQUAL "COMPUTE")
list(APPEND CLI "--type" "compute")
endif()
# --varyingdef
if( ARG_VARYINGDEF )
list( APPEND CLI "--varyingdef" "${ARG_VARYINGDEF}" )
if(ARG_VARYINGDEF)
list(APPEND CLI "--varyingdef" "${ARG_VARYINGDEF}")
endif()
# --verbose
if( ARG_VERBOSE )
list( APPEND CLI "--verbose" )
if(ARG_VERBOSE)
list(APPEND CLI "--verbose")
endif()
# --debug
if( ARG_DEBUG )
list( APPEND CLI "--debug" )
if(ARG_DEBUG)
list(APPEND CLI "--debug")
endif()
# --disasm
if( ARG_DISASM )
list( APPEND CLI "--disasm" )
if(ARG_DISASM)
list(APPEND CLI "--disasm")
endif()
# --profile
if( ARG_PROFILE )
list( APPEND CLI "--profile" "${ARG_PROFILE}" )
if(ARG_PROFILE)
list(APPEND CLI "--profile" "${ARG_PROFILE}")
endif()
# -O
if( ARG_O )
list( APPEND CLI "-O" "${ARG_O}" )
if(ARG_O)
list(APPEND CLI "-O" "${ARG_O}")
endif()
# --Werror
if( ARG_WERROR )
list( APPEND CLI "--Werror" )
if(ARG_WERROR)
list(APPEND CLI "--Werror")
endif()
set( ${ARG_OUT} ${CLI} PARENT_SCOPE )
set(${ARG_OUT} ${CLI} PARENT_SCOPE)
endfunction()
function (_get_profile_ext PROFILE PROFILE_EXT)
function(_get_profile_ext PROFILE PROFILE_EXT)
string(REPLACE 300_es essl PROFILE ${PROFILE})
string(REPLACE 120 glsl PROFILE ${PROFILE})
string(REPLACE spirv spv PROFILE ${PROFILE})
@@ -174,11 +180,8 @@ function (_get_profile_ext PROFILE PROFILE_EXT)
string(REPLACE s_4_0 dx10 PROFILE ${PROFILE})
string(REPLACE s_5_0 dx11 PROFILE ${PROFILE})
set(${PROFILE_EXT}
${PROFILE}
PARENT_SCOPE
)
endfunction ()
set(${PROFILE_EXT} ${PROFILE} PARENT_SCOPE)
endfunction()
# compile_shader_to_header(
# TYPE VERTEX|FRAGMENT|COMPUTE
@@ -187,44 +190,42 @@ endfunction ()
# OUTPUT_DIR directory
#)
#
function (compile_shader_to_header)
function(compile_shader_to_header)
set(options "")
set(oneValueArgs TYPE VARYING_DEF OUTPUT_DIR)
set(multiValueArgs SHADERS)
cmake_parse_arguments(
ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" "${ARGN}"
)
cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" "${ARGN}")
set(PROFILES 120 300_es spirv) # pssl
if (UNIX AND NOT APPLE)
if(UNIX AND NOT APPLE)
set(PLATFORM LINUX)
elseif (EMSCRIPTEN)
elseif(EMSCRIPTEN)
set(PLATFORM ASM_JS)
elseif (APPLE)
elseif(APPLE)
set(PLATFORM OSX)
list(APPEND PROFILES metal)
elseif (
elseif(
WIN32
OR MINGW
OR MSYS
OR CYGWIN
)
set(PLATFORM WINDOWS)
if (ARGS_TYPE STREQUAL "VERTEX" OR ARGS_TYPE STREQUAL "FRAGMENT")
if(ARGS_TYPE STREQUAL "VERTEX" OR ARGS_TYPE STREQUAL "FRAGMENT")
list(APPEND PROFILES s_3_0)
list(APPEND PROFILES s_4_0)
list(APPEND PROFILES s_5_0)
elseif (ARGS_TYPE STREQUAL "COMPUTE")
elseif(ARGS_TYPE STREQUAL "COMPUTE")
list(APPEND PROFILES s_4_0)
list(APPEND PROFILES s_5_0)
else ()
else()
message(error "shaderc: Unsupported type")
endif ()
else ()
endif()
else()
message(error "shaderc: Unsupported platform")
endif ()
endif()
foreach (SHADER_FILE ${ARGS_SHADERS})
foreach(SHADER_FILE ${ARGS_SHADERS})
source_group("Shaders" FILES "${SHADER}")
get_filename_component(SHADER_FILE_BASENAME ${SHADER_FILE} NAME)
get_filename_component(SHADER_FILE_NAME_WE ${SHADER_FILE} NAME_WE)
@@ -233,19 +234,16 @@ function (compile_shader_to_header)
# Build output targets and their commands
set(OUTPUTS "")
set(COMMANDS "")
foreach (PROFILE ${PROFILES})
foreach(PROFILE ${PROFILES})
_get_profile_ext(${PROFILE} PROFILE_EXT)
set(OUTPUT
${ARGS_OUTPUT_DIR}/${SHADER_FILE_BASENAME}.${PROFILE_EXT}.bin.h
)
set(OUTPUT ${ARGS_OUTPUT_DIR}/${SHADER_FILE_BASENAME}.${PROFILE_EXT}.bin.h)
set(PLATFORM_I ${PLATFORM})
if (PROFILE STREQUAL "spirv")
if(PROFILE STREQUAL "spirv")
set(PLATFORM_I LINUX)
endif ()
endif()
shaderc_parse(
CLI #
${ARGS_TYPE} ${PLATFORM_I} WERROR
"$<$<CONFIG:debug>:DEBUG>$<$<CONFIG:relwithdebinfo>:DEBUG>"
${ARGS_TYPE} ${PLATFORM_I} WERROR "$<$<CONFIG:debug>:DEBUG>$<$<CONFIG:relwithdebinfo>:DEBUG>"
FILE ${SHADER_FILE_ABSOLUTE}
OUTPUT ${OUTPUT}
PROFILE ${PROFILE}
@@ -256,7 +254,7 @@ function (compile_shader_to_header)
)
list(APPEND OUTPUTS ${OUTPUT})
list(APPEND COMMANDS COMMAND bgfx::shaderc ${CLI})
endforeach ()
endforeach()
add_custom_command(
OUTPUT ${OUTPUTS}
@@ -264,5 +262,5 @@ function (compile_shader_to_header)
MAIN_DEPENDENCY ${SHADER_FILE_ABSOLUTE}
DEPENDS ${ARGS_VARYING_DEF}
)
endforeach ()
endfunction ()
endforeach()
endfunction()