early-access version 2853
This commit is contained in:
95
externals/vcpkg/ports/libopenmpt/CMakeLists.txt
vendored
Executable file
95
externals/vcpkg/ports/libopenmpt/CMakeLists.txt
vendored
Executable file
@@ -0,0 +1,95 @@
|
||||
cmake_minimum_required(VERSION 3.9)
|
||||
project(libopenmpt)
|
||||
|
||||
if(MSVC)
|
||||
add_compile_options(
|
||||
/W3 /wd4005 /wd4267 /wd4244 /wd4996 /wd4100 /wd4018
|
||||
-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE
|
||||
-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS
|
||||
)
|
||||
endif()
|
||||
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(mpg123 CONFIG REQUIRED)
|
||||
find_package(Vorbis REQUIRED)
|
||||
|
||||
file(GLOB HEADERS libopenmpt/*.h libopenmpt/*.hpp)
|
||||
list(FILTER HEADERS EXCLUDE REGEX "_impl\\.hpp$|_internal\\.h$")
|
||||
|
||||
include_directories(
|
||||
.
|
||||
build/svn_version
|
||||
libopenmpt
|
||||
common
|
||||
soundbase
|
||||
sounddsp
|
||||
soundlib
|
||||
openmpt123
|
||||
)
|
||||
|
||||
file(GLOB_RECURSE SOURCES
|
||||
common/*.cpp
|
||||
soundbase/*.cpp
|
||||
sounddsp/*.cpp
|
||||
# Because this is a GLOB_RECURSE, soundlib/plugins/*.cpp will be included
|
||||
soundlib/*.cpp
|
||||
libopenmpt/libopenmpt_c.cpp
|
||||
libopenmpt/libopenmpt_cxx.cpp
|
||||
libopenmpt/libopenmpt_ext_impl.cpp
|
||||
libopenmpt/libopenmpt_impl.cpp
|
||||
)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
add_library(libopenmpt ${SOURCES})
|
||||
|
||||
target_compile_definitions(libopenmpt PRIVATE
|
||||
-DMPT_WITH_MPG123 -DMPT_WITH_OGG
|
||||
-DMPT_WITH_VORBIS -DMPT_WITH_VORBISFILE
|
||||
-DMPT_WITH_ZLIB -DMPT_BUILD_VCPKG
|
||||
-DLIBOPENMPT_BUILD
|
||||
)
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(
|
||||
libopenmpt
|
||||
PRIVATE -DLIBOPENMPT_BUILD_DLL
|
||||
)
|
||||
endif()
|
||||
|
||||
target_include_directories(
|
||||
libopenmpt
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:include>
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
libopenmpt
|
||||
PRIVATE
|
||||
MPG123::libmpg123
|
||||
Vorbis::vorbisfile
|
||||
Vorbis::vorbis
|
||||
ZLIB::ZLIB
|
||||
)
|
||||
|
||||
set(LIBOPENMPT_REQUIRES_PRIVATE "zlib vorbis vorbisfile libmpg123")
|
||||
set(LIBOPENMPT_LIBS_PRIVATE "")
|
||||
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
set(exec_prefix [[${prefix}]])
|
||||
set(includedir [[${prefix}/include]])
|
||||
set(libdir [[${prefix}/lib]])
|
||||
configure_file(libopenmpt/libopenmpt.pc.in libopenmpt.pc)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenmpt.pc DESTINATION lib/pkgconfig)
|
||||
|
||||
install(TARGETS libopenmpt EXPORT libopenmpt-targets)
|
||||
install(EXPORT libopenmpt-targets DESTINATION share/libopenmpt NAMESPACE libopenmpt::)
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/libopenmpt-config.cmake [[
|
||||
include(CMakeFindDependencyMacro)
|
||||
find_dependency(ZLIB)
|
||||
find_dependency(mpg123 CONFIG)
|
||||
find_dependency(Vorbis)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/libopenmpt-targets.cmake)
|
||||
]])
|
||||
install(FILES ${HEADERS} DESTINATION include/libopenmpt)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenmpt-config.cmake DESTINATION share/libopenmpt)
|
||||
31
externals/vcpkg/ports/libopenmpt/portfile.cmake
vendored
Executable file
31
externals/vcpkg/ports/libopenmpt/portfile.cmake
vendored
Executable file
@@ -0,0 +1,31 @@
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO OpenMPT/openmpt
|
||||
REF 7da598b28acdb8ee8ea0ed93bcb57d680424f5cc # libopenmpt-0.5.12
|
||||
SHA512 0f5441518dbbbbae194c724c47238a3cad876d8eb81e6a89fed3801724a6ae023d6d8806f792dc2f44082f3849cd4e1130081db3668f9974170171227f70e879
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
file(READ ${CMAKE_CURRENT_LIST_DIR}/vcpkg.json vcpkg_json)
|
||||
string(JSON version GET "${vcpkg_json}" "version")
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
OPTIONS
|
||||
-DVERSION=${version}
|
||||
)
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_cmake_config_fixup()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/libopenmpt/libopenmpt_config.h "defined(LIBOPENMPT_USE_DLL)" "0")
|
||||
else()
|
||||
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/libopenmpt/libopenmpt_config.h "defined(LIBOPENMPT_USE_DLL)" "1")
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
|
||||
20
externals/vcpkg/ports/libopenmpt/vcpkg.json
vendored
Executable file
20
externals/vcpkg/ports/libopenmpt/vcpkg.json
vendored
Executable file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "libopenmpt",
|
||||
"version": "0.5.12",
|
||||
"description": "a library to render tracker music",
|
||||
"homepage": "https://openmpt.org/",
|
||||
"dependencies": [
|
||||
"libogg",
|
||||
"libvorbis",
|
||||
"mpg123",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
},
|
||||
"zlib"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user