aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOscar Morante <spacepluk@gmail.com>2018-11-08 20:53:06 +0200
committerRobert Schumacher <roschuma@microsoft.com>2018-11-08 10:53:06 -0800
commit1d7fa4c74a1cfdc962d5a58408b8f431e4f6ba52 (patch)
tree2c9db9677ed45ac3dba54b38d9db9740813724f8
parent7bb03fd2fc53ec0851e98aabf98047e8caf79a8b (diff)
downloadvcpkg-1d7fa4c74a1cfdc962d5a58408b8f431e4f6ba52.tar.gz
vcpkg-1d7fa4c74a1cfdc962d5a58408b8f431e4f6ba52.zip
add nanovg port (#4667)
-rw-r--r--ports/nanovg/CMakeLists.txt31
-rw-r--r--ports/nanovg/CONTROL3
-rw-r--r--ports/nanovg/nanovgConfig.cmake1
-rw-r--r--ports/nanovg/portfile.cmake41
4 files changed, 76 insertions, 0 deletions
diff --git a/ports/nanovg/CMakeLists.txt b/ports/nanovg/CMakeLists.txt
new file mode 100644
index 000000000..87a7d3339
--- /dev/null
+++ b/ports/nanovg/CMakeLists.txt
@@ -0,0 +1,31 @@
+cmake_minimum_required(VERSION 3.11)
+project(nanovg C)
+
+set(NANOVG_SOURCES src/nanovg.c)
+set(NANOVG_HEADERS src/nanovg.h src/nanovg_gl.h src/nanovg_gl_utils.h)
+add_library(nanovg STATIC ${NANOVG_SOURCES} ${NANOVG_HEADERS})
+set_target_properties(nanovg PROPERTIES PUBLIC_HEADER "${NANOVG_HEADERS}")
+target_include_directories(nanovg PRIVATE 3rdparty/nanovg/src)
+
+if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+ target_compile_definitions(nanovg PRIVATE DEBUG)
+else()
+ target_compile_definitions(nanovg PRIVATE NDEBUG)
+endif()
+
+install(TARGETS nanovg
+ EXPORT nanovgTargets
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ PUBLIC_HEADER DESTINATION include)
+
+install(EXPORT nanovgTargets
+ FILE nanovgTargets.cmake
+ NAMESPACE nanovg::
+ DESTINATION share/nanovg)
+
+include(CMakePackageConfigHelpers)
+install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/nanovgConfig.cmake
+ DESTINATION share/nanovg)
diff --git a/ports/nanovg/CONTROL b/ports/nanovg/CONTROL
new file mode 100644
index 000000000..c074c1824
--- /dev/null
+++ b/ports/nanovg/CONTROL
@@ -0,0 +1,3 @@
+Source: nanovg
+Version: master
+Description: NanoVG is small antialiased vector graphics rendering library for OpenGL.
diff --git a/ports/nanovg/nanovgConfig.cmake b/ports/nanovg/nanovgConfig.cmake
new file mode 100644
index 000000000..e849dff11
--- /dev/null
+++ b/ports/nanovg/nanovgConfig.cmake
@@ -0,0 +1 @@
+include(${CMAKE_CURRENT_LIST_DIR}/nanovgTargets.cmake)
diff --git a/ports/nanovg/portfile.cmake b/ports/nanovg/portfile.cmake
new file mode 100644
index 000000000..39e36720e
--- /dev/null
+++ b/ports/nanovg/portfile.cmake
@@ -0,0 +1,41 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+
+include(vcpkg_common_functions)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO memononen/nanovg
+ REF f4069e6a1ad5da430fb0a9c57476d5ddc2ff89b2
+ SHA512 5f2313be939478d40e52c74e3935cbae91277be5c0e466a6d303e8d80e7bf0781288cb319b2e8cec5c7d6fc991be16bec6e0f5228153895ff7fe3abdffe5320e
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/nanovgConfig.cmake DESTINATION ${SOURCE_PATH})
+
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
+ # OPTIONS_RELEASE -DOPTIMIZE=1
+ # OPTIONS_DEBUG -DDEBUGGABLE=1
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Handle copyright
+ file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/nanovg RENAME copyright)