aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2016-12-05 04:35:01 -0800
committerGitHub <noreply@github.com>2016-12-05 04:35:01 -0800
commite83e5321817b7b1667c2fcad23d78614185c504a (patch)
treeada5363047ebc69d82be2816df416e2cf01db72a
parenta710f67e5281480ab22d0ef372d376696f5fc8ab (diff)
parent58c6c686a6526a83014476e0ae71875536b2096b (diff)
downloadvcpkg-e83e5321817b7b1667c2fcad23d78614185c504a.tar.gz
vcpkg-e83e5321817b7b1667c2fcad23d78614185c504a.zip
Merge pull request #382 from codicodi/add-nana
[nana] initial commit
-rw-r--r--ports/nana/CONTROL4
-rw-r--r--ports/nana/fix-linking.patch51
-rw-r--r--ports/nana/portfile.cmake36
3 files changed, 91 insertions, 0 deletions
diff --git a/ports/nana/CONTROL b/ports/nana/CONTROL
new file mode 100644
index 000000000..e7692526f
--- /dev/null
+++ b/ports/nana/CONTROL
@@ -0,0 +1,4 @@
+Source: nana
+Version: 1.4.1
+Description: Cross-platform library for GUI programming in modern C++ style.
+Build-Depends: zlib, libpng, libjpeg-turbo
diff --git a/ports/nana/fix-linking.patch b/ports/nana/fix-linking.patch
new file mode 100644
index 000000000..a687e228b
--- /dev/null
+++ b/ports/nana/fix-linking.patch
@@ -0,0 +1,51 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5c9c9c9..ae35185 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -149,26 +149,20 @@ endif ()
+ # Find PNG
+ if(NANA_CMAKE_ENABLE_PNG)
+ add_definitions(-DNANA_ENABLE_PNG)
+- set(NANA_LINKS "${NANA_LINKS} -lpng")
+ if(NANA_CMAKE_LIBPNG_FROM_OS)
+- find_package(PNG)
+- if (PNG_FOUND)
+- include_directories( ${PNG_INCLUDE_DIRS})
+- add_definitions(-DUSE_LIBPNG_FROM_OS)
+- endif(PNG_FOUND)
++ find_package(PNG REQUIRED)
++ include_directories(${PNG_INCLUDE_DIRS})
++ add_definitions(-DUSE_LIBPNG_FROM_OS)
+ endif(NANA_CMAKE_LIBPNG_FROM_OS)
+ endif(NANA_CMAKE_ENABLE_PNG)
+
+ # Find JPEG
+ if(NANA_CMAKE_ENABLE_JPEG)
+ add_definitions(-DNANA_ENABLE_JPEG)
+- set(NANA_LINKS "${NANA_LINKS} -ljpeg")
+ if(NANA_CMAKE_LIBJPEG_FROM_OS)
+- find_package(JPEG)
+- if (JPEG_FOUND)
+- include_directories( ${JPEG_INCLUDE_DIRS})
+- add_definitions(-DUSE_LIBJPEG_FROM_OS)
+- endif(JPEG_FOUND)
++ find_package(JPEG REQUIRED)
++ include_directories(${JPEG_INCLUDE_DIRS})
++ add_definitions(-DUSE_LIBJPEG_FROM_OS)
+ endif(NANA_CMAKE_LIBJPEG_FROM_OS)
+ endif(NANA_CMAKE_ENABLE_JPEG)
+
+@@ -253,7 +247,12 @@ endforeach(subdir ${NANA_SOURCE_SUBDIRS})
+
+ include_directories(${NANA_INCLUDE_DIR})
+ add_library(${PROJECT_NAME} ${sources} )
+-target_link_libraries(${PROJECT_NAME} ${NANA_LINKS})
++if(NANA_CMAKE_ENABLE_JPEG AND NANA_CMAKE_LIBJPEG_FROM_OS)
++ target_link_libraries(${PROJECT_NAME} ${JPEG_LIBRARIES})
++endif()
++if(NANA_CMAKE_ENABLE_PNG AND NANA_CMAKE_LIBPNG_FROM_OS)
++ target_link_libraries(${PROJECT_NAME} ${PNG_LIBRARIES})
++endif()
+
+ # Headers: use INCLUDE_DIRECTORIES
+ # Libraries: use FIND_LIBRARY and link with the result of it (try to avoid LINK_DIRECTORIES)
diff --git a/ports/nana/portfile.cmake b/ports/nana/portfile.cmake
new file mode 100644
index 000000000..66fca68fa
--- /dev/null
+++ b/ports/nana/portfile.cmake
@@ -0,0 +1,36 @@
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/nana)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://downloads.sourceforge.net/project/nanapro/Nana/Nana 1.x/nana 1.4.1.zip"
+ FILENAME "nana 1.4.1.zip"
+ SHA512 38a4fe4c9f932d0e69753c0c1e28d0c8f7cc1ab73c639b87dd5ba102ed25da1ee04c93ec5d6bb79945f7bc118cc131022604c75c1bb6eaced3a071eb137115cd)
+
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-linking.patch")
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON
+ -DNANA_CMAKE_ENABLE_PNG=ON
+ -DNANA_CMAKE_ENABLE_JPEG=ON
+ OPTIONS_DEBUG
+ -DNANA_CMAKE_INSTALL_INCLUDES=OFF)
+
+vcpkg_install_cmake()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/nana.dll
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/nana.dll
+ DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+endif()
+
+vcpkg_copy_pdbs()
+
+file(COPY ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/nana)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/nana/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/nana/copyright)