commit
5d75efcfaf
@ -0,0 +1 @@
|
||||
libmysofa-*.tar.gz
|
@ -0,0 +1,87 @@
|
||||
diff -up libmysofa-1.1/CMakeLists.txt.static libmysofa-1.1/CMakeLists.txt
|
||||
--- libmysofa-1.1/CMakeLists.txt.static 2020-06-13 17:02:13.000000000 +0200
|
||||
+++ libmysofa-1.1/CMakeLists.txt 2020-07-08 10:13:45.639569055 +0200
|
||||
@@ -7,6 +7,7 @@ include(GNUInstallDirs)
|
||||
|
||||
option(BUILD_TESTS "Build test programs" ON)
|
||||
option(BUILD_SHARED_LIBS "Build shared library" ON)
|
||||
+option(BUILD_STATIC_LIBS "Build static library" OFF)
|
||||
option(CODE_COVERAGE "Enable coverage reporting" ON)
|
||||
|
||||
set(CPACK_PACKAGE_DESCRIPTION "SOFA file reader for better HRTFs")
|
||||
diff -up libmysofa-1.1/src/CMakeLists.txt.static libmysofa-1.1/src/CMakeLists.txt
|
||||
--- libmysofa-1.1/src/CMakeLists.txt.static 2020-06-13 17:02:13.000000000 +0200
|
||||
+++ libmysofa-1.1/src/CMakeLists.txt 2020-07-08 10:18:22.885044829 +0200
|
||||
@@ -75,6 +75,7 @@ set(libsrc
|
||||
hrtf/easy.c
|
||||
hrtf/cache.c
|
||||
resampler/speex_resampler.c)
|
||||
+if(BUILD_STATIC_LIBS)
|
||||
add_library(mysofa-static STATIC ${libsrc})
|
||||
target_link_libraries(mysofa-static LINK_PRIVATE ${MATH} ${ZLIB_LIBRARIES})
|
||||
set_target_properties(
|
||||
@@ -83,15 +84,16 @@ set_target_properties(
|
||||
ON)
|
||||
install(TARGETS mysofa-static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
-if(UNIX
|
||||
- AND CODE_COVERAGE
|
||||
- AND CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
- target_compile_options(mysofa-static PUBLIC -g -O0 -Wall -fprofile-arcs
|
||||
- -ftest-coverage)
|
||||
- if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
|
||||
- target_link_options(mysofa-static PUBLIC --coverage)
|
||||
- else()
|
||||
- target_link_libraries(mysofa-static LINK_PUBLIC gcov --coverage)
|
||||
+ if(UNIX
|
||||
+ AND CODE_COVERAGE
|
||||
+ AND CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
+ target_compile_options(mysofa-static PUBLIC -g -O0 -Wall -fprofile-arcs
|
||||
+ -ftest-coverage)
|
||||
+ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
|
||||
+ target_link_options(mysofa-static PUBLIC --coverage)
|
||||
+ else()
|
||||
+ target_link_libraries(mysofa-static LINK_PUBLIC gcov --coverage)
|
||||
+ endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -137,7 +139,11 @@ install(FILES hrtf/mysofa.h DESTINATION
|
||||
|
||||
if(BUILD_TESTS)
|
||||
add_executable(mysofa2json tests/sofa2json.c tests/json.c)
|
||||
- target_link_libraries(mysofa2json mysofa-static)
|
||||
+ if(BUILD_STATIC_LIBS)
|
||||
+ target_link_libraries(mysofa2json mysofa-static)
|
||||
+ else()
|
||||
+ target_link_libraries(mysofa2json mysofa-shared)
|
||||
+ endif()
|
||||
|
||||
add_executable(
|
||||
external
|
||||
@@ -159,7 +159,11 @@ if(BUILD_TESTS)
|
||||
tests/cache.c
|
||||
tests/json.c
|
||||
tests/user_defined_variable.c)
|
||||
- target_link_libraries(external mysofa-static ${CUNIT_LIBRARIES})
|
||||
+ if(BUILD_STATIC_LIBS)
|
||||
+ target_link_libraries(external mysofa-static ${CUNIT_LIBRARIES})
|
||||
+ else()
|
||||
+ target_link_libraries(external mysofa-shared ${CUNIT_LIBRARIES} m)
|
||||
+ endif()
|
||||
add_test(
|
||||
NAME external
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
@@ -173,7 +177,11 @@ if(BUILD_TESTS)
|
||||
COMMAND internal)
|
||||
|
||||
add_executable(multithread tests/multithread.c)
|
||||
- target_link_libraries(multithread mysofa-static pthread)
|
||||
+ if(BUILD_STATIC_LIBS)
|
||||
+ target_link_libraries(multithread mysofa-static pthread)
|
||||
+ else()
|
||||
+ target_link_libraries(multithread mysofa-shared pthread m)
|
||||
+ endif()
|
||||
add_test(
|
||||
NAME multithread
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
@ -0,0 +1,106 @@
|
||||
# Some tests are failing:
|
||||
# https://github.com/hoene/libmysofa/issues/129
|
||||
%ifarch s390x
|
||||
%global _without_tests 1
|
||||
%endif
|
||||
%if 0%{?el7:1}
|
||||
%ifarch ppc64le
|
||||
%global _without_tests 1
|
||||
%endif
|
||||
%endif
|
||||
|
||||
Name: libmysofa
|
||||
Version: 1.1
|
||||
Release: 1%{?dist}
|
||||
Summary: C functions for reading HRTFs
|
||||
|
||||
License: BSD
|
||||
URL: https://github.com/hoene/libmysofa
|
||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
# See https://github.com/hoene/libmysofa/pull/127
|
||||
Patch0: libmysofa-no_static.patch
|
||||
|
||||
BuildRequires: cmake3
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: pkgconfig(cunit)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
# for tests
|
||||
%{?!_without_tests:BuildRequires: nodejs}
|
||||
|
||||
|
||||
%description
|
||||
This is a simple set of C functions to read AES SOFA files, if they
|
||||
contain HRTFs stored according to the AES69-2015 standard.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
%package -n mysofa
|
||||
Summary: Tools for %{name}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description -n mysofa
|
||||
Tools for %{name}.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
|
||||
%build
|
||||
mkdir -p build
|
||||
cd build
|
||||
%cmake3 \
|
||||
-DBUILD_STATIC_LIBS=OFF \
|
||||
-DCODE_COVERAGE=OFF \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
..
|
||||
|
||||
%make_build
|
||||
|
||||
|
||||
%install
|
||||
cd build
|
||||
%make_install
|
||||
|
||||
|
||||
%{?!_without_tests:
|
||||
%check
|
||||
cd build
|
||||
make test || (cat Testing/Temporary/LastTest.log && exit 1)
|
||||
}
|
||||
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_libdir}/libmysofa.so.1*
|
||||
|
||||
%files -n mysofa
|
||||
%{_bindir}/mysofa2json
|
||||
%dir %{_datadir}/libmysofa
|
||||
%{_datadir}/libmysofa/default.sofa
|
||||
%{_datadir}/libmysofa/MIT_KEMAR_normal_pinna.sofa
|
||||
|
||||
%files devel
|
||||
%doc CODE_OF_CONDUCT.md
|
||||
%{_includedir}/mysofa.h
|
||||
%{_libdir}/libmysofa.so
|
||||
%{_libdir}/pkgconfig/libmysofa.pc
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Jun 29 2020 Nicolas Chauvet <kwizart@gmail.com> - 1.1-1
|
||||
- Update to 1.1
|
||||
|
||||
* Mon Apr 13 2020 Nicolas Chauvet <kwizart@gmail.com> - 1.0-1
|
||||
- Initial spec file
|
Loading…
Reference in new issue