aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-01-19 18:55:36 -0800
committerRobert Schumacher <roschuma@microsoft.com>2017-01-19 18:55:36 -0800
commitd6e2ea075cd2afa363f6973c74ef599e8794e3d1 (patch)
treeb65ddac27a96914c8c87067d40de99319b3362e9
parent030ed271179ac57479d4bfec2e64b9457486d4c5 (diff)
parent1c9ea008be82d00a1f7d7f3762e122d09bd3f41e (diff)
downloadvcpkg-d6e2ea075cd2afa363f6973c74ef599e8794e3d1.tar.gz
vcpkg-d6e2ea075cd2afa363f6973c74ef599e8794e3d1.zip
Merge pull request #551 from smasherprog/master
FLTK Port
-rw-r--r--ports/fltk/CONTROL4
-rw-r--r--ports/fltk/findlibsfix.patch51
-rw-r--r--ports/fltk/portfile.cmake91
3 files changed, 146 insertions, 0 deletions
diff --git a/ports/fltk/CONTROL b/ports/fltk/CONTROL
new file mode 100644
index 000000000..4f8519550
--- /dev/null
+++ b/ports/fltk/CONTROL
@@ -0,0 +1,4 @@
+Source: fltk
+Version: 1.3.4-1
+Description: FLTK (pronounced fulltick) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation.
+Build-Depends: zlib, libpng, libjpeg-turbo \ No newline at end of file
diff --git a/ports/fltk/findlibsfix.patch b/ports/fltk/findlibsfix.patch
new file mode 100644
index 000000000..6c2a7158a
--- /dev/null
+++ b/ports/fltk/findlibsfix.patch
@@ -0,0 +1,51 @@
+diff --git a/CMake/resources.cmake b/CMake/resources.cmake
+index 37c0c08..b1f52d1 100644
+--- a/CMake/resources.cmake
++++ b/CMake/resources.cmake
+@@ -26,10 +26,10 @@ find_file(HAVE_DLFCN_H dlfcn.h)
+ find_file(HAVE_FREETYPE_H freetype.h PATH_SUFFIXES freetype2 freetype2/freetype)
+ find_file(HAVE_GL_GL_H GL/gl.h)
+ find_file(HAVE_GL_GLU_H GL/glu.h)
+-find_file(HAVE_LIBPNG_PNG_H libpng/png.h)
++#find_file(HAVE_LIBPNG_PNG_H libpng/png.h)
+ find_file(HAVE_LOCALE_H locale.h)
+ find_file(HAVE_OPENGL_GLU_H OpenGL/glu.h)
+-find_file(HAVE_PNG_H png.h)
++#find_file(HAVE_PNG_H png.h)
+ find_file(HAVE_PTHREAD_H pthread.h)
+ find_file(HAVE_STDIO_H stdio.h)
+ find_file(HAVE_STRINGS_H strings.h)
+@@ -38,6 +38,17 @@ find_file(HAVE_SYS_STDTYPES_H sys/stdtypes.h)
+ find_file(HAVE_X11_XREGION_H X11/Xregion.h)
+ find_path(HAVE_XDBE_H Xdbe.h PATH_SUFFIXES X11/extensions extensions)
+
++find_package(PNG REQUIRED)
++if(PNG_FOUND)
++ set(LIB_png ${PNG_LIBRARIES})
++ set(HAVE_PNG_H ${PNG_FOUND})
++
++endif()
++find_package(ZLIB REQUIRED)
++if(ZLIB_FOUND)
++ set(LIB_zlib ${ZLIB_LIBRARIES})
++endif()
++
+ if (MSVC)
+ message(STATUS "Note: The following three headers should all be found!")
+ message(STATUS "HAVE_GL_GL_H = '${HAVE_GL_GL_H}'")
+@@ -92,12 +103,12 @@ find_library(LIB_freetype freetype)
+ find_library(LIB_GL GL)
+ find_library(LIB_MesaGL MesaGL)
+ find_library(LIB_jpeg jpeg)
+-find_library(LIB_png png)
+-find_library(LIB_zlib z)
++#find_library(LIB_png png)
++#find_library(LIB_zlib z)
+
+ mark_as_advanced(LIB_CAIRO LIB_dl LIB_fontconfig LIB_freetype)
+ mark_as_advanced(LIB_GL LIB_MesaGL)
+-mark_as_advanced(LIB_jpeg LIB_png LIB_zlib)
++mark_as_advanced(LIB_jpeg)
+
+ #######################################################################
+ # functions
diff --git a/ports/fltk/portfile.cmake b/ports/fltk/portfile.cmake
new file mode 100644
index 000000000..848096dce
--- /dev/null
+++ b/ports/fltk/portfile.cmake
@@ -0,0 +1,91 @@
+# Common Ambient Variables:
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# TARGET_TRIPLET is the current triplet (x86-windows, etc)
+# PORT is the current port name (zlib, etc)
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+#
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/fltk-1.3.4-1)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://fltk.org/pub/fltk/1.3.4/fltk-1.3.4-1-source.tar.gz"
+ FILENAME "fltk.tar.gz"
+ SHA512 0be1c8e6bb7a8c7ef484941a73868d5e40b90e97a8e5dc747bac2be53a350621975406ecfd4a9bcee8eeb7afd886e75bf7a6d6478fd6c56d16e54059f22f0891
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/fltk-1.3.4-1
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/findlibsfix.patch"
+)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(BUILD_SHARED ON)
+else()
+ set(BUILD_SHARED OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DOPTION_BUILD_EXAMPLES=OFF
+ -DOPTION_BUILD_SHARED_LIBS=${BUILD_SHARED}
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/CMAKE
+ ${CURRENT_PACKAGES_DIR}/debug/CMAKE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/fluid.exe)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/fltk-config)
+
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/fluid.exe)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/fltk-config)
+vcpkg_copy_pdbs()
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/fltk_formsd.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/fltk_gld.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/fltk_imagesd.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/fltkd.lib)
+
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_forms_SHAREDd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_formsd.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_gl_SHAREDd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_gld.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_images_SHAREDd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_imagesd.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_SHAREDd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fltkd.lib)
+
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/fltk_forms.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/fltk_gl.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/fltk_images.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/fltk.lib)
+
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/fltk_forms_SHARED.lib ${CURRENT_PACKAGES_DIR}/lib/fltk_forms.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/fltk_gl_SHARED.lib ${CURRENT_PACKAGES_DIR}/lib/fltk_gl.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/fltk_images_SHARED.lib ${CURRENT_PACKAGES_DIR}/lib/fltk_images.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/fltk_SHARED.lib ${CURRENT_PACKAGES_DIR}/lib/fltk.lib)
+
+else()
+ file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/bin
+ ${CURRENT_PACKAGES_DIR}/bin
+ )
+
+
+endif()
+
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_formsd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_forms.lib)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_gld.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_gl.lib)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_imagesd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fltk_images.lib)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fltkd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fltk.lib)
+
+
+
+file(INSTALL
+ ${SOURCE_PATH}/COPYING
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/fltk
+ RENAME copyright
+)