aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/freealut/cmake_builds.patch
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/freealut/cmake_builds.patch')
-rw-r--r--vcpkg/ports/freealut/cmake_builds.patch114
1 files changed, 114 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")