aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>2019-09-12 16:26:17 -0700
committerPhil Christensen <philc@microsoft.com>2019-09-12 16:26:17 -0700
commit0e23cd50fec3f5df9c84a18c9cc1f2bd4709ef71 (patch)
treefcf2725252a1cb639692f21ccc1de560d5e24fd4
parent563166f21aa01cd9c4dcca771428a69ece7be1bf (diff)
downloadvcpkg-0e23cd50fec3f5df9c84a18c9cc1f2bd4709ef71.tar.gz
vcpkg-0e23cd50fec3f5df9c84a18c9cc1f2bd4709ef71.zip
[llgl] Add new port (#7701)
* [llgl] Add new port
-rw-r--r--ports/llgl/CONTROL10
-rw-r--r--ports/llgl/fix-arm64-build-error.patch13
-rw-r--r--ports/llgl/fix-install-error.patch44
-rw-r--r--ports/llgl/portfile.cmake41
4 files changed, 108 insertions, 0 deletions
diff --git a/ports/llgl/CONTROL b/ports/llgl/CONTROL
new file mode 100644
index 000000000..476ccd8c2
--- /dev/null
+++ b/ports/llgl/CONTROL
@@ -0,0 +1,10 @@
+Source: llgl
+Version: 2019-08-15
+Homepage: https://github.com/LukasBanana/LLGL
+Description: Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal.
+
+Feature: opengl
+Description: Support for opengl
+
+Feature: direct3d11
+Description: Support for direct3d11 \ No newline at end of file
diff --git a/ports/llgl/fix-arm64-build-error.patch b/ports/llgl/fix-arm64-build-error.patch
new file mode 100644
index 000000000..d80061c16
--- /dev/null
+++ b/ports/llgl/fix-arm64-build-error.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f440884..f1a9190 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -559,6 +559,8 @@ if(APPLE)
+ endif()
+ elseif(UNIX)
+ target_link_libraries(LLGL X11 pthread Xxf86vm Xrandr)
++elseif(WIN32)
++ target_link_libraries(LLGL gdi32 shell32)
+ endif()
+
+ set_target_properties(LLGL PROPERTIES LINKER_LANGUAGE CXX DEBUG_POSTFIX "D")
diff --git a/ports/llgl/fix-install-error.patch b/ports/llgl/fix-install-error.patch
new file mode 100644
index 000000000..30b9c3040
--- /dev/null
+++ b/ports/llgl/fix-install-error.patch
@@ -0,0 +1,44 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f440884..d1b0c2f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -614,6 +614,12 @@ if(LLGL_BUILD_RENDERER_OPENGL)
+ target_link_libraries(LLGL_OpenGL LLGL ${OPENGL_LIBRARIES})
+
+ ADD_DEFINE(LLGL_BUILD_RENDERER_OPENGL)
++
++ install(TARGETS LLGL_OpenGL
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ )
+ else()
+ message("Missing OpenGL -> LLGL_OpenGL renderer will be excluded from project")
+ endif()
+@@ -681,6 +687,12 @@ if(WIN32)
+ target_link_libraries(LLGL_Direct3D11 LLGL d3d11 dxgi D3DCompiler)
+
+ ADD_DEFINE(LLGL_BUILD_RENDERER_DIRECT3D11)
++
++ install(TARGETS LLGL_Direct3D11
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ )
+ endif()
+
+ if(LLGL_BUILD_RENDERER_DIRECT3D12)
+@@ -821,4 +833,13 @@ if(LLGL_ENABLE_SPIRV_REFLECT)
+ message("Including Submodule: SPIRV")
+ endif()
+
++# Install targets
++install(TARGETS ${PROJECT_NAME}
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++)
++# Install headers
++install(DIRECTORY ${PROJECT_INCLUDE_DIR} DESTINATION include)
++
+
diff --git a/ports/llgl/portfile.cmake b/ports/llgl/portfile.cmake
new file mode 100644
index 000000000..c41de8b45
--- /dev/null
+++ b/ports/llgl/portfile.cmake
@@ -0,0 +1,41 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "${PORT} currently doesn't supports UWP.")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO LukasBanana/LLGL
+ REF 8f28437960ed60622e94f4f97b24e842b5a0e9e6
+ SHA512 8a6bd4109e977f9def0f04a3d31f7bd4beebbe162c52eaa08a54daf8335871615215ece166e5a9d5b5475b834fd53a26ff9638ff270a2f00c88bab21ed156760
+ HEAD_REF master
+ PATCHES
+ fix-install-error.patch
+ fix-arm64-build-error.patch
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ opengl LLGL_BUILD_RENDERER_OPENGL
+ direct3d11 LLGL_BUILD_RENDERER_DIRECT3D11
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS ${FEATURE_OPTIONS}
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file