]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/mpg123/portfile.cmake
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / mpg123 / portfile.cmake
CommitLineData
1e59de90
TL
1set(MPG123_VERSION 1.26.5)
2set(MPG123_HASH 0c2b3174c834e4bd459a3324b825d9bf9341a3486c0af815773b00cb007578cb718522ac4e983c7ad7e3bb5df9fdd342a03cb51345c41f68971145196ac04b7a)
3
4#architecture detection
5if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
6 set(MPG123_ARCH Win32)
7 set(MPG123_CONFIGURATION _x86)
8elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
9 set(MPG123_ARCH x64)
10 set(MPG123_CONFIGURATION _x86)
11elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
12 set(MPG123_ARCH ARM)
13 set(MPG123_CONFIGURATION _Generic)
14elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
15 set(MPG123_ARCH ARM64)
16 set(MPG123_CONFIGURATION _Generic)
17else()
18 message(FATAL_ERROR "unsupported architecture")
19endif()
20
21#linking
22if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
23 set(MPG123_CONFIGURATION_SUFFIX _Dll)
24endif()
25
26vcpkg_from_sourceforge(
27 OUT_SOURCE_PATH SOURCE_PATH
28 REPO mpg123/mpg123
29 REF ${MPG123_VERSION}
30 FILENAME "mpg123-${MPG123_VERSION}.tar.bz2"
31 SHA512 ${MPG123_HASH}
32 PATCHES
33 0001-fix-x86-build.patch
34)
35
36include(${CURRENT_INSTALLED_DIR}/share/yasm-tool-helper/yasm-tool-helper.cmake)
37yasm_tool_helper(APPEND_TO_PATH)
38
39macro(read_api_version)
40 file(READ "${SOURCE_PATH}/configure.ac" configure_ac)
41 string(REGEX MATCH "API_VERSION=([0-9]+)" result ${configure_ac})
42 set(API_VERSION ${CMAKE_MATCH_1})
43endmacro()
44
45if(VCPKG_TARGET_IS_UWP)
46 vcpkg_install_msbuild(
47 SOURCE_PATH ${SOURCE_PATH}
48 PROJECT_SUBPATH ports/MSVC++/2015/uwp/libmpg123/libmpg123.vcxproj
49 OPTIONS /p:UseEnv=True
50 PLATFORM ${MPG123_ARCH}
51 RELEASE_CONFIGURATION Release_uwp
52 DEBUG_CONFIGURATION Debug_uwp
53 )
54
55 file(INSTALL
56 ${SOURCE_PATH}/ports/MSVC++/mpg123.h
57 ${SOURCE_PATH}/src/libmpg123/fmt123.h
58 DESTINATION ${CURRENT_PACKAGES_DIR}/include
59 )
60
61 read_api_version()
62 configure_file(
63 ${SOURCE_PATH}/src/libmpg123/mpg123.h.in
64 ${CURRENT_PACKAGES_DIR}/include/mpg123.h.in @ONLY
65 )
66
67elseif(VCPKG_TARGET_IS_WINDOWS)
68 vcpkg_install_msbuild(
69 SOURCE_PATH ${SOURCE_PATH}
70 PROJECT_SUBPATH ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj
71 OPTIONS /p:UseEnv=True
72 RELEASE_CONFIGURATION Release${MPG123_CONFIGURATION}${MPG123_CONFIGURATION_SUFFIX}
73 DEBUG_CONFIGURATION Debug${MPG123_CONFIGURATION}${MPG123_CONFIGURATION_SUFFIX}
74 )
75
76 file(INSTALL
77 ${SOURCE_PATH}/ports/MSVC++/mpg123.h
78 ${SOURCE_PATH}/src/libmpg123/fmt123.h
79 DESTINATION ${CURRENT_PACKAGES_DIR}/include
80 )
81
82 read_api_version()
83 configure_file(
84 ${SOURCE_PATH}/src/libmpg123/mpg123.h.in
85 ${CURRENT_PACKAGES_DIR}/include/mpg123.h.in @ONLY
86 )
87
88elseif(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_LINUX)
89 set(MPG123_OPTIONS
90 --disable-dependency-tracking
91 )
92
93 # Find cross-compiler prefix
94 if(VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
95 include("${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}")
96 endif()
97 if(CMAKE_C_COMPILER)
98 vcpkg_execute_required_process(
99 COMMAND ${CMAKE_C_COMPILER} -dumpmachine
100 WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}
101 LOGNAME dumpmachine-${TARGET_TRIPLET}
102 )
103 file(READ ${CURRENT_BUILDTREES_DIR}/dumpmachine-${TARGET_TRIPLET}-out.log MPG123_HOST)
104 string(REPLACE "\n" "" MPG123_HOST "${MPG123_HOST}")
105 message(STATUS "Cross-compiling with ${CMAKE_C_COMPILER}")
106 message(STATUS "Detected autoconf triplet --host=${MPG123_HOST}")
107 set(MPG123_OPTIONS
108 --host=${MPG123_HOST}
109 ${MPG123_OPTIONS}
110 )
111 endif()
112
113 vcpkg_configure_make(
114 SOURCE_PATH ${SOURCE_PATH}
115 OPTIONS ${MPG123_OPTIONS}
116 )
117 vcpkg_install_make()
118 vcpkg_fixup_pkgconfig()
119
120 file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
121endif()
122
123file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
124
125message(STATUS "Installing done")