diff options
| author | Jean-Francois Mauguit <jfmauguit@mac.com> | 2024-09-24 09:03:25 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-24 09:03:25 -0400 |
| commit | bab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch) | |
| tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /vcpkg-ports/mp3lame/portfile.cmake | |
| parent | 4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff) | |
| parent | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff) | |
| download | winamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz | |
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'vcpkg-ports/mp3lame/portfile.cmake')
| -rw-r--r-- | vcpkg-ports/mp3lame/portfile.cmake | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/vcpkg-ports/mp3lame/portfile.cmake b/vcpkg-ports/mp3lame/portfile.cmake new file mode 100644 index 00000000..a7ad3f76 --- /dev/null +++ b/vcpkg-ports/mp3lame/portfile.cmake @@ -0,0 +1,122 @@ +set(VERSION 3.100) + +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO lame/lame + REF ${VERSION} + FILENAME "lame-${VERSION}.tar.gz" + SHA512 0844b9eadb4aacf8000444621451277de365041cc1d97b7f7a589da0b7a23899310afd4e4d81114b9912aa97832621d20588034715573d417b2923948c08634b + PATCHES + 00001-msvc-upgrade-solution-up-to-vc11.patch + remove_lame_init_old_from_symbol_list.patch # deprecated https://github.com/zlargon/lame/blob/master/include/lame.h#L169 + add-macos-universal-config.patch +) + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(platform "ARM64") + set(machine "ARM64") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(platform "ARM") + set(machine "ARM") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(platform "x64") + set(machine "x64") + else() + set(platform "Win32") + set(machine "x86") + endif() + + file(READ "${SOURCE_PATH}/vc_solution/vc11_lame.sln" sln_con) + string(REPLACE "|Win32" "|${platform}" sln_con "${sln_con}") + string(REPLACE "\"vc11_" "\"${machine}_vc11_" sln_con "${sln_con}") + file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_vc11_lame.sln" "${sln_con}") + + + file(GLOB vcxprojs RELATIVE "${SOURCE_PATH}/vc_solution" "${SOURCE_PATH}/vc_solution/vc11_*.vcxproj") + foreach(vcxproj ${vcxprojs}) + file(READ "${SOURCE_PATH}/vc_solution/${vcxproj}" vcxproj_con) + + if(NOT VCPKG_CRT_LINKAGE STREQUAL dynamic) + string(REPLACE "DLL</RuntimeLibrary>" "</RuntimeLibrary>" vcxproj_con "${vcxproj_con}") + endif() + + string(REPLACE "/machine:x86" "/machine:${machine}" vcxproj_con "${vcxproj_con}") + string(REPLACE "<Platform>Win32</Platform>" "<Platform>${platform}</Platform>" vcxproj_con "${vcxproj_con}") + string(REPLACE "|Win32" "|${platform}" vcxproj_con "${vcxproj_con}") + string(REPLACE "Include=\"vc11_" "Include=\"${machine}_vc11_" vcxproj_con "${vcxproj_con}") + + if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + string(REPLACE "/APPCONTAINER" "" vcxproj_con "${vcxproj_con}") + endif() + + file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_${vcxproj}" "${vcxproj_con}") + endforeach() + + vcpkg_install_msbuild( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "vc_solution/${machine}_vc11_lame.sln" + TARGET "lame" + PLATFORM "${platform}" + ) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libmp3lame.lib") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame.lib") + endif() + set(MP3LAME_LIB "libmp3lame-static.lib") + else() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libmp3lame-static.lib") + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libmpghip-static.lib") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame-static.lib") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libmpghip-static.lib") + endif() + set(MP3LAME_LIB "libmp3lame.lib") + endif() + +else() + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(OPTIONS --enable-static=yes --enable-shared=no) + set(MP3LAME_LIB "libmp3lame${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + else() + set(OPTIONS --enable-shared=yes --enable-static=no) + if(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX) + set(MP3LAME_LIB "libmp3lame${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}") + else() + set(MP3LAME_LIB "libmp3lame${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") + endif() + endif() + + if(NOT VCPKG_TARGET_IS_MINGW) + string(APPEND OPTIONS --with-pic=yes) + endif() + + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + DETERMINE_BUILD_TRIPLET + OPTIONS ${OPTIONS} + ) + + vcpkg_install_make() + file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + ) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}/doc" "${CURRENT_PACKAGES_DIR}/share/${PORT}/man1") + +file(COPY "${SOURCE_PATH}/include/lame.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/lame") +configure_file("${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/mp3lame-config.cmake" @ONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) |
