Skip to content

Commit fc38738

Browse files
committed
Remove libnyquist submodule, use local vcpkg port instead
1 parent 4e7901f commit fc38738

12 files changed

+129
-30
lines changed

.gitmodules

-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
[submodule "external/libnyquist"]
2-
path = external/libnyquist
3-
url = https://github.com/ddiakopoulos/libnyquist.git
41
[submodule "vcpkg"]
52
path = vcpkg
63
url = https://github.com/microsoft/vcpkg.git

CMakeLists.txt

+1-25
Original file line numberDiff line numberDiff line change
@@ -57,31 +57,7 @@ find_package(Angelscript CONFIG REQUIRED)
5757
find_package(OpenAL CONFIG REQUIRED)
5858
find_package(EASTL CONFIG REQUIRED)
5959
find_package(nlohmann_json_schema_validator REQUIRED)
60-
61-
option(LIBNYQUIST_BUILD_EXAMPLE "" OFF)
62-
63-
if (MSVC)
64-
option(LIBNYQUIST_ENABLE_AVX "" OFF)
65-
endif()
66-
67-
add_subdirectory(external/libnyquist
68-
libnyquist-binary-dir
69-
EXCLUDE_FROM_ALL)
70-
71-
72-
function(set_dependency_common_properties TARGET_NAME)
73-
target_compile_features(${TARGET_NAME} PRIVATE cxx_std_20)
74-
75-
# Enable multithreaded building to speed up building these a bit.
76-
target_compile_options(${TARGET_NAME} PRIVATE $<$<CXX_COMPILER_ID:MSVC>:/MP>)
77-
78-
# Silence warnings coming from this library.
79-
target_compile_options(${TARGET_NAME} PRIVATE $<$<CXX_COMPILER_ID:Clang,AppleClang,GNU>:-w>)
80-
81-
set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "Dependencies")
82-
endfunction()
83-
84-
set_dependency_common_properties(libnyquist)
60+
find_package(libnyquist REQUIRED)
8561

8662
# Generate DebugInfo.h with appropriate information.
8763

external/libnyquist

-1
This file was deleted.

vcpkg-configuration.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"baseline": "2022-09-19",
77
"packages": [
88
"eastl",
9-
"json-schema-validator"
9+
"json-schema-validator",
10+
"libnyquist"
1011
]
1112
}
1213
]

vcpkg.json

+5
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@
3939
"name": "eastl",
4040
"version>=": "3.19.00",
4141
"default-features": false
42+
},
43+
{
44+
"name": "libnyquist",
45+
"version>=": "0.1.0",
46+
"default-features": false
4247
}
4348
]
4449
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
diff --git a/CMakeLists.txt b/CMakeLists.txt
2+
index a62a74b..290d95b 100644
3+
--- a/CMakeLists.txt
4+
+++ b/CMakeLists.txt
5+
@@ -167,7 +167,7 @@ endif()
6+
7+
# libnyquist static library
8+
9+
-project(libnyquist)
10+
+project(libnyquist VERSION 0.1.0)
11+
12+
file(GLOB nyquist_include "${LIBNYQUIST_ROOT}/include/libnyquist/*")
13+
file(GLOB nyquist_src "${LIBNYQUIST_ROOT}/src/*")
14+
@@ -227,12 +227,45 @@ set_target_properties(libnyquist
15+
#target_link_libraries(libnyquist PRIVATE libwavpack)
16+
17+
install(TARGETS libnyquist
18+
+ EXPORT ${PROJECT_NAME}Targets
19+
LIBRARY DESTINATION lib
20+
ARCHIVE DESTINATION lib
21+
RUNTIME DESTINATION bin)
22+
23+
install(TARGETS libnyquist DESTINATION lib)
24+
25+
+install(DIRECTORY include/libnyquist
26+
+ DESTINATION include)
27+
+
28+
+set(INSTALL_CMAKE_DIR "lib/cmake/${PROJECT_NAME}")
29+
+set(INSTALL_CMAKEDIR_ROOT share/cmake)
30+
+
31+
+# Install Targets
32+
+install(EXPORT ${PROJECT_NAME}Targets
33+
+ FILE ${PROJECT_NAME}Targets.cmake
34+
+ DESTINATION "${INSTALL_CMAKE_DIR}")
35+
+
36+
+include(CMakePackageConfigHelpers)
37+
+write_basic_package_version_file(
38+
+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
39+
+ VERSION ${PROJECT_VERSION}
40+
+ COMPATIBILITY SameMajorVersion
41+
+ )
42+
+
43+
+configure_package_config_file(
44+
+ ${PROJECT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in
45+
+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
46+
+ INSTALL_DESTINATION ${INSTALL_CMAKEDIR_ROOT}/${PROJECT_NAME}
47+
+ )
48+
+
49+
+install(
50+
+ FILES
51+
+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
52+
+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
53+
+ DESTINATION
54+
+ ${INSTALL_CMAKE_DIR}
55+
+ )
56+
+
57+
# folders
58+
source_group(src FILES ${nyquist_src})
59+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
@PACKAGE_INIT@
2+
3+
include("${CMAKE_CURRENT_LIST_DIR}/libnyquistTargets.cmake")
4+
check_required_components(
5+
"libnyquist"
6+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
vcpkg_from_github(
2+
OUT_SOURCE_PATH SOURCE_PATH
3+
REPO ddiakopoulos/libnyquist
4+
REF e95e517748bf9724a08473e78d8c1497bba2e4bd
5+
SHA512 e5e6c7ff7b5406a1b351cd4bb487914b25efe68f1d1082edbe44dd20a1fc7907b9c06def5be835e79e5b477fda42fea18b1a6e4439fcb042198011d484c47a40
6+
HEAD_REF main
7+
PATCHES
8+
install-config.patch
9+
)
10+
11+
file(COPY
12+
${CMAKE_CURRENT_LIST_DIR}/libnyquistConfig.cmake.in
13+
DESTINATION ${SOURCE_PATH}
14+
)
15+
16+
vcpkg_configure_cmake(
17+
SOURCE_PATH ${SOURCE_PATH}
18+
PREFER_NINJA
19+
OPTIONS
20+
-DLIBNYQUIST_ENABLE_AVX=OFF
21+
-DLIBNYQUIST_BUILD_EXAMPLE=OFF
22+
)
23+
24+
vcpkg_install_cmake()
25+
26+
set(PKG_NAME "libnyquist")
27+
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PKG_NAME} TARGET_PATH share/${PKG_NAME})
28+
29+
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
30+
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
31+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
The package json-schema-validator provides CMake integration:
2+
3+
find_package(libnyquist REQUIRED)
4+
target_link_libraries(main PRIVATE libnyquist)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"name": "libnyquist",
3+
"version-string": "0.1.0",
4+
"port-version": 0,
5+
"description": "Cross platform C++11 library for decoding audio (mp3, wav, ogg, opus, flac, etc)",
6+
"homepage": "https://github.com/ddiakopoulos/libnyquist",
7+
"dependencies": []
8+
}

vcpkg_config/registry/versions/baseline.json

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
"json-schema-validator": {
88
"baseline": "2.2.0",
99
"port-version": 0
10+
},
11+
"libnyquist": {
12+
"baseline": "0.1.0",
13+
"port-version": 0
1014
}
1115
}
1216
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"versions": [
3+
{
4+
"version-string": "0.1.0",
5+
"port-version": 0,
6+
"path": "$/ports/libnyquist/0.1.0_0"
7+
}
8+
]
9+
}

0 commit comments

Comments
 (0)