mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
graphics/shaderc: clean up
- Optionally build tests - Connect to "make test" - Enable examples (not installed) - Define complete version - Document patches - Improve style
This commit is contained in:
parent
d6baf67f84
commit
b8380e9254
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=559314
3 changed files with 60 additions and 14 deletions
|
@ -3,7 +3,7 @@
|
||||||
PORTNAME= shaderc
|
PORTNAME= shaderc
|
||||||
DISTVERSIONPREFIX= v
|
DISTVERSIONPREFIX= v
|
||||||
DISTVERSION= 2020.4
|
DISTVERSION= 2020.4
|
||||||
PORTREVISION= 2
|
PORTREVISION= 3
|
||||||
CATEGORIES= graphics devel
|
CATEGORIES= graphics devel
|
||||||
|
|
||||||
MAINTAINER= jbeich@FreeBSD.org
|
MAINTAINER= jbeich@FreeBSD.org
|
||||||
|
@ -11,26 +11,38 @@ COMMENT= GLSL/HLSL to SPIR-V shader compiler
|
||||||
|
|
||||||
LICENSE= APACHE20
|
LICENSE= APACHE20
|
||||||
|
|
||||||
BUILD_DEPENDS= ${LOCALBASE}/lib/libHLSL.a:graphics/glslang \
|
BUILD_DEPENDS= glslang>0:graphics/glslang \
|
||||||
${LOCALBASE}/lib/libSPIRV-Tools-opt.a:graphics/spirv-tools
|
spirv-tools>0:graphics/spirv-tools
|
||||||
|
|
||||||
USES= cmake compiler:c++11-lib pkgconfig localbase:ldflags python:build
|
|
||||||
USE_LDCONFIG= yes
|
|
||||||
|
|
||||||
|
USES= cmake compiler:c++11-lib localbase:ldflags python:3.4+,build
|
||||||
USE_GITHUB= yes
|
USE_GITHUB= yes
|
||||||
|
USE_LDCONFIG= yes
|
||||||
GH_ACCOUNT= google
|
GH_ACCOUNT= google
|
||||||
GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.3:headers/third_party/spirv-headers
|
GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.3:headers/third_party/spirv-headers
|
||||||
|
CMAKE_ARGS= -Dglslang_SOURCE_DIR:PATH="${LOCALBASE}/include/glslang" \
|
||||||
|
-DSPIRV-Headers_SOURCE_DIR:PATH="${WRKSRC}/third_party/spirv-headers"
|
||||||
LDFLAGS+= -Wl,-z,defs # glslang
|
LDFLAGS+= -Wl,-z,defs # glslang
|
||||||
CMAKE_ON+= SHADERC_SKIP_TESTS
|
|
||||||
CMAKE_ARGS+= -DSPIRV-Headers_SOURCE_DIR=${WRKSRC}/third_party/spirv-headers
|
|
||||||
CMAKE_ARGS+= -Dglslang_SOURCE_DIR=${LOCALBASE}/include/glslang
|
|
||||||
|
|
||||||
# https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/shaderc
|
OPTIONS_DEFINE= TEST
|
||||||
|
|
||||||
|
TEST_BUILD_DEPENDS= googletest>0:devel/googletest
|
||||||
|
TEST_TEST_TARGET= test
|
||||||
|
TEST_CMAKE_BOOL_OFF= SHADERC_SKIP_TESTS
|
||||||
|
|
||||||
post-patch:
|
post-patch:
|
||||||
${REINPLACE_CMD} '/examples/d;/third_party/d' ${WRKSRC}/CMakeLists.txt
|
# Disable bundled dependencies
|
||||||
|
${REINPLACE_CMD} '/third_party/d' ${WRKSRC}/CMakeLists.txt
|
||||||
|
# Unbreak tests with system spirv-tools
|
||||||
|
${REINPLACE_CMD} 's,\$$<TARGET_FILE:\(spirv-dis\)>,\1,' \
|
||||||
|
${WRKSRC}/glslc/test/CMakeLists.txt
|
||||||
|
|
||||||
|
pre-configure:
|
||||||
|
# Extract (snapshot) version from the port instead of CHANGES + .git/
|
||||||
${REINPLACE_CMD} '/build-version/d' ${WRKSRC}/glslc/CMakeLists.txt
|
${REINPLACE_CMD} '/build-version/d' ${WRKSRC}/glslc/CMakeLists.txt
|
||||||
${ECHO} "\"${DISTVERSIONFULL}\"" > ${WRKSRC}/glslc/src/build-version.inc
|
${ECHO_CMD} "\"${PORTNAME} ${DISTVERSIONFULL}\n\"" >> ${WRKSRC}/glslc/src/build-version.inc
|
||||||
|
${ECHO_CMD} "\"`${PKG_BIN} query '%n v%v' spirv-tools`\n\"" >> ${WRKSRC}/glslc/src/build-version.inc
|
||||||
|
${ECHO_CMD} "\"`${PKG_BIN} query '%n 10-%v' glslang`\n\"" >> ${WRKSRC}/glslc/src/build-version.inc
|
||||||
|
|
||||||
|
pre-install-TEST-on: do-test
|
||||||
|
|
||||||
.include <bsd.port.mk>
|
.include <bsd.port.mk>
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
ld: error: undefined symbol: spvBinaryDestroy
|
||||||
|
>>> referenced by shaderc.cc
|
||||||
|
>>> shaderc.cc.o:(shaderc_compilation_result_spv_binary::~shaderc_compilation_result_spv_binary()) in archive libshaderc/./libshaderc_combined.a
|
||||||
|
>>> referenced by shaderc.cc
|
||||||
|
>>> shaderc.cc.o:(shaderc_compilation_result_spv_binary::~shaderc_compilation_result_spv_binary()) in archive libshaderc/./libshaderc_combined.a
|
||||||
ld: error: undefined symbol: glslang::InitializeProcess()
|
ld: error: undefined symbol: glslang::InitializeProcess()
|
||||||
>>> referenced by compiler.cc
|
>>> referenced by compiler.cc
|
||||||
>>> compiler.cc.o:(shaderc_util::GlslangInitializer::GlslangInitializer()) in archive libshaderc_util/libshaderc_util.a
|
>>> compiler.cc.o:(shaderc_util::GlslangInitializer::GlslangInitializer()) in archive libshaderc_util/libshaderc_util.a
|
||||||
|
@ -5,6 +10,17 @@ ld: error: undefined symbol: ConstructCompiler(EShLanguage, int)
|
||||||
>>> referenced by ShaderLang.cpp
|
>>> referenced by ShaderLang.cpp
|
||||||
>>> ShaderLang.cpp.o:(ShConstructCompiler) in archive /usr/local/lib/libMachineIndependent.a
|
>>> ShaderLang.cpp.o:(ShConstructCompiler) in archive /usr/local/lib/libMachineIndependent.a
|
||||||
|
|
||||||
|
--- libshaderc/CMakeLists.txt.orig 2020-12-09 21:30:21 UTC
|
||||||
|
+++ libshaderc/CMakeLists.txt
|
||||||
|
@@ -114,7 +114,7 @@ endif(SHADERC_ENABLE_INSTALL)
|
||||||
|
|
||||||
|
shaderc_add_tests(
|
||||||
|
TEST_PREFIX shaderc_combined
|
||||||
|
- LINK_LIBS shaderc_combined ${CMAKE_THREAD_LIBS_INIT}
|
||||||
|
+ LINK_LIBS shaderc_combined ${SHADERC_LIBS}
|
||||||
|
INCLUDE_DIRS include ${shaderc_SOURCE_DIR}/libshaderc_util/include ${glslang_SOURCE_DIR}
|
||||||
|
${spirv-tools_SOURCE_DIR}/include
|
||||||
|
${SPIRV-Headers_SOURCE_DIR}/include
|
||||||
--- libshaderc_util/CMakeLists.txt.orig 2020-12-09 21:30:21 UTC
|
--- libshaderc_util/CMakeLists.txt.orig 2020-12-09 21:30:21 UTC
|
||||||
+++ libshaderc_util/CMakeLists.txt
|
+++ libshaderc_util/CMakeLists.txt
|
||||||
@@ -46,8 +46,8 @@ add_definitions(-DENABLE_HLSL)
|
@@ -46,8 +46,8 @@ add_definitions(-DENABLE_HLSL)
|
||||||
|
|
18
graphics/shaderc/files/patch-system-gmock
Normal file
18
graphics/shaderc/files/patch-system-gmock
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
ld: error: undefined symbol: testing::internal::IsTrue(bool)
|
||||||
|
>>> referenced by compiler_test.cc
|
||||||
|
>>> libshaderc_util/CMakeFiles/shaderc_util_compiler_test.dir/src/compiler_test.cc.o:(testing::internal::SuiteApiResolver<(anonymous namespace)::CompilerTest>::GetSetUpCaseOrSuite(char const*, int))
|
||||||
|
ld: error: undefined symbol: pthread_create
|
||||||
|
>>> referenced by shaderc_test.cc
|
||||||
|
>>> libshaderc/CMakeFiles/shaderc_shared_shaderc_test.dir/src/shaderc_test.cc.o:((anonymous namespace)::Init_MultipleThreadsCalling_Test::TestBody())
|
||||||
|
|
||||||
|
--- cmake/utils.cmake.orig 2020-12-09 21:30:21 UTC
|
||||||
|
+++ cmake/utils.cmake
|
||||||
|
@@ -18,7 +18,7 @@ function (shaderc_use_gmock TARGET)
|
||||||
|
target_include_directories(${TARGET} PRIVATE
|
||||||
|
${gmock_SOURCE_DIR}/include
|
||||||
|
${gtest_SOURCE_DIR}/include)
|
||||||
|
- target_link_libraries(${TARGET} PRIVATE gmock gtest_main)
|
||||||
|
+ target_link_libraries(${TARGET} PRIVATE gmock gtest gtest_main ${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
endfunction(shaderc_use_gmock)
|
||||||
|
|
||||||
|
function(shaderc_default_c_compile_options TARGET)
|
Loading…
Add table
Reference in a new issue