1
1
include (FetchContent )
2
2
3
+ # https://github.com/pongasoft/vst-sam-spl-64/blob/master/libsndfile.cmake
4
+ # https://github.com/popojan/goban/blob/master/CMakeLists.txt#L38
5
+ # https://github.com/ddiakopoulos/libnyquist/blob/master/CMakeLists.txt
6
+
7
+ if (LIBSNDFILE_ROOT_DIR )
8
+ # instructs FetchContent to not download or update but use the location instead
9
+ set (FETCHCONTENT_SOURCE_DIR_LIBSNDFILE ${LIBSNDFILE_ROOT_DIR} )
10
+ else ()
11
+ set (FETCHCONTENT_SOURCE_DIR_LIBSNDFILE "" )
12
+ endif ()
3
13
4
14
set (LIBSNDFILE_GIT_REPO "https://github.com/erikd/libsndfile" CACHE STRING "libsndfile git repository url" FORCE )
5
- set (LIBSNDFILE_GIT_TAG 1.0.31 CACHE STRING "libsndfile git tag" FORCE )
15
+ set (LIBSNDFILE_GIT_TAG c11deaa04ec84161996824061f6d705970972e2e CACHE STRING "libsndfile git tag" FORCE )
6
16
7
17
FetchContent_Declare (libsndfile
8
18
GIT_REPOSITORY ${LIBSNDFILE_GIT_REPO}
9
19
GIT_TAG ${LIBSNDFILE_GIT_TAG}
10
- CMAKE_ARGS "-G" Unix Makefiles ""
20
+ GIT_CONFIG advice.detachedHead=false
21
+ # GIT_SHALLOW true
22
+ CONFIGURE_COMMAND ""
11
23
BUILD_COMMAND ""
12
24
INSTALL_COMMAND ""
13
25
TEST_COMMAND ""
14
26
)
15
27
16
-
17
- set (BUILD_SHARED_LIBS ON )
18
- FetchContent_MakeAvailable (libsndfile )
19
-
28
+ FetchContent_GetProperties (libsndfile )
29
+ if (NOT libsndfile_POPULATED )
30
+ if (FETCHCONTENT_SOURCE_DIR_LIBSNDFILE )
31
+ message (STATUS "Using libsndfile from local ${FETCHCONTENT_SOURCE_DIR_LIBSNDFILE} " )
32
+ else ()
33
+ message (STATUS "Fetching libsndfile ${LIBSNDFILE_GIT_REPO} /tree/${LIBSNDFILE_GIT_TAG} " )
34
+ endif ()
35
+ FetchContent_Populate (libsndfile )
36
+ endif ()
20
37
21
38
set (LIBSNDFILE_ROOT_DIR ${libsndfile_SOURCE_DIR} )
22
39
set (LIBSNDFILE_INCLUDE_DIR "${libsndfile_BINARY_DIR} /src" )
23
40
24
- #file(COPY "${libsndfile_SOURCE_DIR}/src/sndfile.hh" DESTINATION ${LIBSNDFILE_INCLUDE_DIR})
41
+ function (libsndfile_build )
42
+ option (BUILD_PROGRAMS "Build programs" OFF )
43
+ option (BUILD_EXAMPLES "Build examples" OFF )
44
+ option (BUILD_TESTING "Build examples" OFF )
45
+ option (ENABLE_CPACK "Enable CPack support" OFF )
46
+ option (ENABLE_PACKAGE_CONFIG "Generate and install package config file" OFF )
47
+ option (BUILD_REGTEST "Build regtest" OFF )
48
+ # finally we include libsndfile itself
49
+ add_subdirectory (${libsndfile_SOURCE_DIR} ${libsndfile_BINARY_DIR} EXCLUDE_FROM_ALL )
50
+ # copying .hh for c++ support
51
+ file (COPY "${libsndfile_SOURCE_DIR} /src/sndfile.hh" DESTINATION ${LIBSNDFILE_INCLUDE_DIR} )
52
+ endfunction ()
53
+
54
+ libsndfile_build ()
25
55
26
56
include_directories (${LIBSNDFILE_INCLUDE_DIR} )
0 commit comments