From 6e3b500a827b3a85e47c3c37047660f3cb369a8f Mon Sep 17 00:00:00 2001 From: codicodi Date: Sun, 4 Dec 2016 15:03:47 +0100 Subject: [nana] initial commit --- ports/nana/CONTROL | 4 ++++ ports/nana/fix-linking.patch | 51 ++++++++++++++++++++++++++++++++++++++++++++ ports/nana/portfile.cmake | 36 +++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 ports/nana/CONTROL create mode 100644 ports/nana/fix-linking.patch create mode 100644 ports/nana/portfile.cmake 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..08ab58151 --- /dev/null +++ b/ports/nana/fix-linking.patch @@ -0,0 +1,51 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5c9c9c9..8376431 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} ${PNG_LIBRARIES}) ++endif() ++if(NANA_CMAKE_ENABLE_PNG AND NANA_CMAKE_LIBPNG_FROM_OS) ++ target_link_libraries(${PROJECT_NAME} ${JPEG_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) -- cgit v1.2.3 From 58c6c686a6526a83014476e0ae71875536b2096b Mon Sep 17 00:00:00 2001 From: codicodi Date: Mon, 5 Dec 2016 13:32:11 +0100 Subject: [nana] fix harmless but still ugly mix-up --- ports/nana/fix-linking.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/nana/fix-linking.patch b/ports/nana/fix-linking.patch index 08ab58151..a687e228b 100644 --- a/ports/nana/fix-linking.patch +++ b/ports/nana/fix-linking.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5c9c9c9..8376431 100644 +index 5c9c9c9..ae35185 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -149,26 +149,20 @@ endif () @@ -41,10 +41,10 @@ index 5c9c9c9..8376431 100644 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} ${PNG_LIBRARIES}) ++ target_link_libraries(${PROJECT_NAME} ${JPEG_LIBRARIES}) +endif() +if(NANA_CMAKE_ENABLE_PNG AND NANA_CMAKE_LIBPNG_FROM_OS) -+ target_link_libraries(${PROJECT_NAME} ${JPEG_LIBRARIES}) ++ target_link_libraries(${PROJECT_NAME} ${PNG_LIBRARIES}) +endif() # Headers: use INCLUDE_DIRECTORIES -- cgit v1.2.3