diff options
| author | atkawa7 <atkawa7@yahoo.com> | 2017-06-29 06:29:44 -0700 |
|---|---|---|
| committer | atkawa7 <atkawa7@yahoo.com> | 2017-06-29 06:29:44 -0700 |
| commit | b0478847a473073e44e138f2d303ee2e60d604bf (patch) | |
| tree | de0a0be491482ab5b265c56585f96d37632dcaf4 /ports/angle | |
| parent | aa56370103e712974a8269c427aee044fe81a892 (diff) | |
| parent | 6aae6ca3c0384d23c901e80cfbd46ed32a29321d (diff) | |
| download | vcpkg-b0478847a473073e44e138f2d303ee2e60d604bf.tar.gz vcpkg-b0478847a473073e44e138f2d303ee2e60d604bf.zip | |
Merge https://github.com/Microsoft/vcpkg into libconfig
Diffstat (limited to 'ports/angle')
| -rw-r--r-- | ports/angle/CMakeLists.txt | 148 | ||||
| -rw-r--r-- | ports/angle/CONTROL | 4 | ||||
| -rw-r--r-- | ports/angle/portfile.cmake | 27 |
3 files changed, 179 insertions, 0 deletions
diff --git a/ports/angle/CMakeLists.txt b/ports/angle/CMakeLists.txt new file mode 100644 index 000000000..2d7af54cc --- /dev/null +++ b/ports/angle/CMakeLists.txt @@ -0,0 +1,148 @@ +cmake_minimum_required(VERSION 3.8)
+project(angle)
+
+add_compile_options(/d2guard4 /Wv:18 /WX)
+set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /guard:cf")
+
+add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -DNOMINMAX -DANGLE_STANDALONE_BUILD -DANGLE_ENABLE_DEBUG_ANNOTATIONS)
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/include/id/commit.h" "#define ANGLE_COMMIT_HASH \"invalid-hash\"\n#define ANGLE_COMMIT_HASH_SIZE 12\n#define ANGLE_COMMIT_DATE \"invalid-date\"\n")
+
+include_directories(include src ${CMAKE_CURRENT_BINARY_DIR}/include)
+
+##########
+# anglebase
+add_library(anglebase INTERFACE)
+file(GLOB_RECURSE anglebase_SOURCES "src/common/third_party/base/*.h")
+target_sources(anglebase INTERFACE ${anglebase_SOURCES})
+target_include_directories(anglebase INTERFACE src/common/third_party/base)
+
+##########
+# angle_common
+file(GLOB ANGLE_COMMON_SOURCES "src/common/*.h" "src/common/*.inl" "src/common/*.cpp")
+list(FILTER ANGLE_COMMON_SOURCES EXCLUDE REGEX "_unittest|event_tracer|_linux|_mac")
+add_library(angle_common STATIC ${ANGLE_COMMON_SOURCES})
+target_link_libraries(angle_common PUBLIC anglebase)
+
+##########
+# angle_image_util
+file(GLOB ANGLE_IMAGE_UTIL_SOURCES "src/image_util/*.h" "src/image_util/*.inl" "src/image_util/*.cpp")
+add_library(angle_image_util STATIC ${ANGLE_IMAGE_UTIL_SOURCES})
+target_link_libraries(angle_image_util PRIVATE angle_common)
+
+##########
+# translator
+file(GLOB TRANSLATOR_SOURCES
+ "src/compiler/translator/glslang.l"
+ "src/compiler/translator/glslang.y"
+ "src/compiler/translator/*.h"
+ "src/compiler/translator/*.cpp"
+ "src/third_party/compiler/ArrayBoundsClamper.cpp"
+)
+add_library(translator STATIC ${TRANSLATOR_SOURCES})
+target_compile_definitions(translator PUBLIC
+ -DANGLE_ENABLE_ESSL
+ -DANGLE_ENABLE_GLSL
+ -DANGLE_ENABLE_HLSL
+)
+target_link_libraries(translator PRIVATE angle_common)
+
+##########
+# preprocessor
+file(GLOB PREPROCESSOR_SOURCES
+ "src/compiler/preprocessor/*.h"
+ "src/compiler/preprocessor/*.cpp"
+)
+add_library(preprocessor STATIC ${PREPROCESSOR_SOURCES})
+target_link_libraries(preprocessor PRIVATE angle_common)
+
+##########
+# libANGLE
+file(GLOB LIBANGLE_SOURCES
+ "src/third_party/systeminfo/SystemInfo.cpp"
+ "src/common/third_party/murmurhash/MurmurHash3.cpp"
+ "src/common/event_tracer.cpp"
+
+ "src/libANGLE/*.cpp"
+ "src/libANGLE/*.inl"
+ "src/libANGLE/*.h"
+
+ "src/libANGLE/renderer/*.cpp"
+ "src/libANGLE/renderer/*.inl"
+ "src/libANGLE/renderer/*.h"
+
+ "src/libANGLE/renderer/gl/*.cpp"
+ "src/libANGLE/renderer/gl/*.inl"
+ "src/libANGLE/renderer/gl/*.h"
+
+ "src/libANGLE/renderer/gl/wgl/*.cpp"
+ "src/libANGLE/renderer/gl/wgl/*.inl"
+ "src/libANGLE/renderer/gl/wgl/*.h"
+
+ # "src/libANGLE/renderer/vulkan/*.cpp"
+ # "src/libANGLE/renderer/vulkan/*.inl"
+ # "src/libANGLE/renderer/vulkan/*.h"
+
+ "src/libANGLE/renderer/null/*.cpp"
+ "src/libANGLE/renderer/null/*.inl"
+ "src/libANGLE/renderer/null/*.h"
+)
+file(GLOB_RECURSE LIBANGLE_D3D_SOURCES "src/libANGLE/renderer/d3d/*.h" "src/libANGLE/renderer/d3d/*.cpp" "src/libANGLE/renderer/d3d/*.inl")
+list(FILTER LIBANGLE_SOURCES EXCLUDE REGEX "_unittest")
+list(FILTER LIBANGLE_D3D_SOURCES EXCLUDE REGEX "_unittest|winrt")
+add_library(libANGLE STATIC ${LIBANGLE_SOURCES} ${LIBANGLE_D3D_SOURCES})
+find_library(D3D9_LIB NAMES d3d9)
+find_library(DXGUID_LIB NAMES dxguid)
+target_link_libraries(libANGLE PRIVATE angle_common angle_image_util translator ${D3D9_LIB} ${DXGUID_LIB} preprocessor)
+target_include_directories(libANGLE PRIVATE "src/third_party/khronos")
+target_compile_definitions(libANGLE PUBLIC
+ -DANGLE_ENABLE_D3D9
+ -DANGLE_ENABLE_D3D11
+ -DANGLE_ENABLE_OPENGL
+ # -DANGLE_ENABLE_VULKAN
+ -DANGLE_ENABLE_NULL
+)
+target_compile_definitions(libANGLE PRIVATE -DLIBANGLE_IMPLEMENTATION)
+
+##########
+# libGLESv2
+file(GLOB LIBGLESV2_SOURCES "src/libGLESv2/*.h" "src/libGLESv2/*.cpp" "src/libGLESv2/libGLESv2.def")
+add_library(libGLESv2 ${LIBGLESV2_SOURCES})
+target_link_libraries(libGLESv2 PRIVATE angle_common libANGLE)
+target_compile_definitions(libGLESv2 PRIVATE
+ -DLIBGLESV2_IMPLEMENTATION
+ -DLIBANGLE_IMPLEMENTATION
+ -DGL_GLEXT_PROTOTYPES
+ "-DANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ \"d3dcompiler_47.dll\", \"d3dcompiler_46.dll\", \"d3dcompiler_43.dll\" }"
+ -DGL_APICALL=
+ -DEGLAPI=
+)
+
+##########
+# libEGL
+add_library(libEGL "src/libEGL/libEGL.def" "src/libEGL/libEGL.cpp" "src/libEGL/libEGL.rc" "src/libEGL/resource.h")
+target_link_libraries(libEGL PRIVATE angle_common libANGLE libGLESv2)
+target_compile_definitions(libEGL PRIVATE
+ -DLIBANGLE_IMPLEMENTATION
+ -DGL_GLEXT_PROTOTYPES
+ "-DANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ \"d3dcompiler_47.dll\", \"d3dcompiler_46.dll\", \"d3dcompiler_43.dll\" }"
+ -DGL_APICALL=
+ -DEGLAPI=
+)
+
+
+install(TARGETS libEGL libGLESv2
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(
+ DIRECTORY include/
+ DESTINATION include
+ FILES_MATCHING PATTERN "*.h"
+ PATTERN "GLSLANG" EXCLUDE
+ PATTERN "export.h" EXCLUDE
+ )
+endif()
diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL new file mode 100644 index 000000000..4f5f8880d --- /dev/null +++ b/ports/angle/CONTROL @@ -0,0 +1,4 @@ +Source: angle
+Version: 2017-06-14-8d471f
+Description: A conformant OpenGL ES implementation for Windows, Mac and Linux.
+ The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support.
diff --git a/ports/angle/portfile.cmake b/ports/angle/portfile.cmake new file mode 100644 index 000000000..4668b7dea --- /dev/null +++ b/ports/angle/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ message(STATUS "ANGLE currently only supports being built as a dynamic library")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/angle
+ REF 8d471f907d8d4ec1d46bc9366493bd76c11c1870
+ SHA512 b9235d2a98330bc8533c3fe871129e7235c680420eac16610eae4ca7224c5284313ab6377f30ddfb8a2da39b69f3ef0d16023fe1e7cec3fc2198f4eb4bdccb26
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/angle RENAME copyright)
|
