diff options
Diffstat (limited to 'vcpkg/ports/freealut')
| -rw-r--r-- | vcpkg/ports/freealut/cmake_builds.patch | 114 | ||||
| -rw-r--r-- | vcpkg/ports/freealut/portfile.cmake | 36 | ||||
| -rw-r--r-- | vcpkg/ports/freealut/unix_headers.patch | 32 | ||||
| -rw-r--r-- | vcpkg/ports/freealut/vcpkg.json | 23 |
4 files changed, 205 insertions, 0 deletions
diff --git a/vcpkg/ports/freealut/cmake_builds.patch b/vcpkg/ports/freealut/cmake_builds.patch new file mode 100644 index 0000000..187b326 --- /dev/null +++ b/vcpkg/ports/freealut/cmake_builds.patch @@ -0,0 +1,114 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 963c530..656ce14 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,6 @@ + # cmake project file by Prakash Punnoor + # improved by Ryan Pavlik +-cmake_minimum_required(VERSION 2.6) ++cmake_minimum_required(VERSION 2.8.12) + + project(Alut C) + +@@ -27,7 +27,6 @@ include_directories(${Alut_SOURCE_DIR}/include) + + # What to build? + option(BUILD_EXAMPLES "build example applications" ON) +-option(BUILD_STATIC "build static library too" OFF) + option(BUILD_TESTS "build the test-suite" ON) + + # How to build it? +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b72d1a1..5fc6cdc 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -39,35 +39,7 @@ set(ALUT_HEADERS + ../include/AL/alut.h) + source_group(APIHeader FILES ${ALUT_HEADERS}) + +- +-if(BUILD_STATIC) +- # we can't create a static library with the same name +- # as the shared one, so we copy it over after creation +- add_library(alut_static STATIC ${ALUT_SOURCES} ${ALUT_INTERNAL_HEADERS} ${ALUT_HEADERS}) +- target_link_libraries(alut_static ${OPENAL_LIBRARY} ${ADD_LIBS}) +- if(UNIX) +- target_link_libraries(alut_static m) +- endif() +- if(NOT WIN32) +- # TODO this is an inelegant hack... +- add_custom_command(TARGET +- alut_static +- POST_BUILD +- COMMAND +- ${CMAKE_COMMAND} +- ARGS +- -E +- copy +- ${CMAKE_BINARY_DIR}/src/${CMAKE_STATIC_LIBRARY_PREFIX}alut_static${CMAKE_STATIC_LIBRARY_SUFFIX} +- ${CMAKE_BINARY_DIR}/src/${CMAKE_STATIC_LIBRARY_PREFIX}alut${CMAKE_STATIC_LIBRARY_SUFFIX}) +- install_files(/lib${LIB_SUFFIX} +- FILES +- ${CMAKE_STATIC_LIBRARY_PREFIX}alut${CMAKE_STATIC_LIBRARY_SUFFIX}) +- endif() +-endif() +- +- +-add_library(alut SHARED ${ALUT_SOURCES} ${ALUT_INTERNAL_HEADERS} ${ALUT_HEADERS}) ++add_library(alut ${ALUT_SOURCES} ${ALUT_INTERNAL_HEADERS} ${ALUT_HEADERS}) + set_property(TARGET + alut + PROPERTY +@@ -80,12 +52,40 @@ set_target_properties(alut + SOVERSION + ${MAJOR_VERSION}) + target_link_libraries(alut ${OPENAL_LIBRARY}) ++target_include_directories(alut PUBLIC ${OPENAL_INCLUDE_DIR}) + if(UNIX) + target_link_libraries(alut m) + endif() ++if(NOT BUILD_SHARED_LIBS) ++ target_compile_definitions(alut PUBLIC ALUT_BUILD_STATIC) ++endif() + + install(TARGETS alut ++ EXPORT "FreeALUTTargets" + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} + RUNTIME DESTINATION bin +- PUBLIC_HEADER DESTINATION include/AL) ++ PUBLIC_HEADER DESTINATION include/AL ++ ) ++ ++include(CMakePackageConfigHelpers) ++ ++set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/FreeALUTConfigVersion.cmake") ++set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/FreeALUTConfig.cmake") ++set(namespace "FreeALUT::") ++ ++write_basic_package_version_file("${version_config}" ++ COMPATIBILITY SameMajorVersion ++ VERSION ${PACKAGE_VERSION}) ++ ++configure_package_config_file("Config.cmake.in" ++ "${project_config}" ++ INSTALL_DESTINATION ++ lib${LIB_SUFFIX}/cmake/freealut) ++ ++install(FILES "${project_config}" "${version_config}" ++ DESTINATION lib${LIB_SUFFIX}/cmake/freealut) ++ ++install(EXPORT "FreeALUTTargets" ++ NAMESPACE "${namespace}" ++ DESTINATION lib${LIB_SUFFIX}/cmake/freealut) +diff --git a/src/Config.cmake.in b/src/Config.cmake.in +new file mode 100644 +index 0000000..2a20f59 +--- /dev/null ++++ b/src/Config.cmake.in +@@ -0,0 +1,5 @@ ++ ++@PACKAGE_INIT@ ++ ++include("${CMAKE_CURRENT_LIST_DIR}/FreeALUTTargets.cmake") ++check_required_components("FreeALUT") diff --git a/vcpkg/ports/freealut/portfile.cmake b/vcpkg/ports/freealut/portfile.cmake new file mode 100644 index 0000000..4298477 --- /dev/null +++ b/vcpkg/ports/freealut/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO vancegroup/freealut
+ REF fc814e316c2bfa6e05b723b8cc9cb276da141aae
+ SHA512 046990cc13822ca6eea0b8e412aa95a994b881429e0b15cefee379f08bd9636d4a4598292a8d46b30c3cd06814bfaeae3298e8ef4087a46eede344f3880e9fed
+ HEAD_REF master
+ PATCHES
+ cmake_builds.patch
+ unix_headers.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ DISABLE_PARALLEL_CONFIGURE
+ OPTIONS
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_TESTS=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}")
+vcpkg_fixup_pkgconfig()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share"
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ )
+
+file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/freealut-config")
+file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/freealut-config")
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS)
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
+
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/freealut/unix_headers.patch b/vcpkg/ports/freealut/unix_headers.patch new file mode 100644 index 0000000..aabf69e --- /dev/null +++ b/vcpkg/ports/freealut/unix_headers.patch @@ -0,0 +1,32 @@ +diff --git a/include/AL/alut.h b/include/AL/alut.h +index 4b05a3c..1084604 100644 +--- a/include/AL/alut.h ++++ b/include/AL/alut.h +@@ -1,24 +1,18 @@ + #if !defined(AL_ALUT_H) + #define AL_ALUT_H + +-#if defined(_MSC_VER) + #include <alc.h> + #include <al.h> +-#elif defined(__APPLE__) +-#include <OpenAL/alc.h> +-#include <OpenAL/al.h> +-#else +-#include <AL/al.h> +-#include <AL/alc.h> +-#endif + + #if defined(__cplusplus) + extern "C" { + #endif + + #if defined(_WIN32) && !defined(_XBOX) +- #if defined (ALUT_BUILD_LIBRARY) ++ #if defined(ALUT_BUILD_LIBRARY) + #define ALUT_API __declspec(dllexport) ++ #elif defined(ALUT_BUILD_STATIC) ++ #define ALUT_API extern + #else + #define ALUT_API __declspec(dllimport) + #endif diff --git a/vcpkg/ports/freealut/vcpkg.json b/vcpkg/ports/freealut/vcpkg.json new file mode 100644 index 0000000..f3a16be --- /dev/null +++ b/vcpkg/ports/freealut/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "freealut", + "version": "1.1.0", + "port-version": 4, + "description": [ + "FreeALUT is a free implementation of OpenAL's ALUT standard.", + "ALUT is a set of portable functions which remove the annoying details of getting an audio application started. It is the OpenAL counterpart of what GLUT is for OpenGL. " + ], + "homepage": "https://github.com/vancegroup/freealut", + "license": "LGPL-2.0-only", + "supports": "!uwp & !xbox", + "dependencies": [ + "openal-soft", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |