Merge pull request #382 from codicodi/add-nana

[nana] initial commit
This commit is contained in:
Robert Schumacher 2016-12-05 04:35:01 -08:00 committed by GitHub
commit e83e532181
3 changed files with 91 additions and 0 deletions

4
ports/nana/CONTROL Normal file
View File

@ -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

View File

@ -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)

36
ports/nana/portfile.cmake Normal file
View File

@ -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)