early-access version 2853
This commit is contained in:
86
externals/vcpkg/ports/nana/CMakeLists.txt
vendored
Executable file
86
externals/vcpkg/ports/nana/CMakeLists.txt
vendored
Executable file
@@ -0,0 +1,86 @@
|
||||
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
|
||||
project(nana VERSION 1.7.4 LANGUAGES CXX)
|
||||
|
||||
option(NANA_ENABLE_PNG "Enable PNG support" OFF)
|
||||
option(NANA_ENABLE_JPEG "Enable JPEG support" OFF)
|
||||
option(NANA_INSTALL_HEADERS "Install headers" ON)
|
||||
|
||||
if(APPLE)
|
||||
add_definitions(-DAPPLE)
|
||||
elseif(UNIX)
|
||||
add_definitions(-Dlinux)
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE headers include/*.hpp)
|
||||
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/include PREFIX "include" FILES ${headers})
|
||||
|
||||
file(GLOB sources source/*.hpp source/*.cpp)
|
||||
foreach(subdir detail filesystem gui paint system threads)
|
||||
file(GLOB_RECURSE sources_subdir source/${subdir}/*.hpp source/${subdir}/*.cpp)
|
||||
list(APPEND sources ${sources_subdir})
|
||||
endforeach()
|
||||
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/source PREFIX "source" FILES ${sources})
|
||||
|
||||
add_library(nana ${headers} ${sources})
|
||||
target_include_directories(nana PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:include>)
|
||||
|
||||
target_compile_features(nana PUBLIC cxx_std_17)
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
target_link_libraries(nana PUBLIC c++experimental)
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "GCC")
|
||||
target_link_libraries(nana PUBLIC stdc++fs)
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
find_package(Threads REQUIRED)
|
||||
target_link_libraries(nana PUBLIC Threads::Threads)
|
||||
|
||||
find_package(Freetype REQUIRED)
|
||||
target_link_libraries(nana PUBLIC Freetype::Freetype)
|
||||
|
||||
find_package(X11 REQUIRED)
|
||||
target_include_directories(nana PUBLIC ${X11_INCLUDE_DIR})
|
||||
target_link_libraries(nana PUBLIC ${X11_LIBRARIES} ${X11_Xft_LIB})
|
||||
|
||||
find_package(Fontconfig REQUIRED)
|
||||
target_link_libraries(nana PUBLIC Fontconfig::Fontconfig)
|
||||
endif()
|
||||
|
||||
if(NANA_ENABLE_PNG)
|
||||
find_package(PNG REQUIRED)
|
||||
target_link_libraries(nana PUBLIC PNG::PNG)
|
||||
target_compile_definitions(nana PUBLIC NANA_ENABLE_PNG=1 USE_LIBPNG_FROM_OS=1)
|
||||
endif()
|
||||
|
||||
if(NANA_ENABLE_JPEG)
|
||||
find_package(JPEG REQUIRED)
|
||||
target_include_directories(nana PUBLIC ${JPEG_INCLUDE_DIR})
|
||||
target_link_libraries(nana PUBLIC $<BUILD_INTERFACE:${JPEG_LIBRARIES}>)
|
||||
target_compile_definitions(nana PUBLIC NANA_ENABLE_JPEG=1 USE_LIBJPEG_FROM_OS=1)
|
||||
endif()
|
||||
|
||||
install(TARGETS nana EXPORT nana
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib)
|
||||
|
||||
if(NANA_INSTALL_HEADERS)
|
||||
install(DIRECTORY include/nana DESTINATION include)
|
||||
endif()
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
configure_package_config_file(config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/unofficial-nana-config.cmake
|
||||
INSTALL_DESTINATION share/unofficial-nana)
|
||||
|
||||
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/unofficial-nana-config-version.cmake
|
||||
VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion)
|
||||
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-nana-config.cmake DESTINATION share/unofficial-nana)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-nana-config-version.cmake DESTINATION share/unofficial-nana)
|
||||
install(EXPORT nana FILE unofficial-nana-targets.cmake NAMESPACE unofficial::nana:: DESTINATION share/unofficial-nana)
|
||||
30
externals/vcpkg/ports/nana/config.cmake.in
vendored
Executable file
30
externals/vcpkg/ports/nana/config.cmake.in
vendored
Executable file
@@ -0,0 +1,30 @@
|
||||
@PACKAGE_INIT@
|
||||
include(CMakeFindDependencyMacro)
|
||||
|
||||
if(UNIX)
|
||||
find_dependency(Threads)
|
||||
find_dependency(Freetype)
|
||||
find_dependency(X11)
|
||||
find_dependency(Fontconfig)
|
||||
endif()
|
||||
|
||||
option(NANA_ENABLE_PNG "Enable PNG support" @NANA_ENABLE_PNG@)
|
||||
option(NANA_ENABLE_JPEG "Enable JPEG support" @NANA_ENABLE_JPEG@)
|
||||
|
||||
if(NANA_ENABLE_PNG)
|
||||
find_dependency(PNG)
|
||||
endif()
|
||||
|
||||
if(NANA_ENABLE_JPEG)
|
||||
find_dependency(JPEG)
|
||||
endif()
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/unofficial-nana-targets.cmake")
|
||||
|
||||
if(UNIX)
|
||||
target_link_libraries(unofficial::nana::nana INTERFACE Fontconfig::Fontconfig ${X11_LIBRARIES} ${X11_Xft_LIB})
|
||||
endif()
|
||||
|
||||
if(NANA_ENABLE_JPEG)
|
||||
target_link_libraries(unofficial::nana::nana INTERFACE ${JPEG_LIBRARIES})
|
||||
endif()
|
||||
13
externals/vcpkg/ports/nana/fix-build-error.patch
vendored
Executable file
13
externals/vcpkg/ports/nana/fix-build-error.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/source/system/split_string.cpp b/source/system/split_string.cpp
|
||||
index 8269db6..c40016b 100644
|
||||
--- a/source/system/split_string.cpp
|
||||
+++ b/source/system/split_string.cpp
|
||||
@@ -18,7 +18,7 @@ std::vector<split_string_type> split_string (const split_string_type& text, char
|
||||
sep_pos = text.find(sep, sep_pos);
|
||||
sep_pos = (text.npos == sep_pos ? text.size() : sep_pos);
|
||||
const std::size_t end = sep_pos;
|
||||
- while (sep_pos < text.size() and sep == text[sep_pos]) {
|
||||
+ while (sep_pos < text.size() && sep == text[sep_pos]) {
|
||||
++sep_pos;
|
||||
}
|
||||
|
||||
35
externals/vcpkg/ports/nana/portfile.cmake
vendored
Executable file
35
externals/vcpkg/ports/nana/portfile.cmake
vendored
Executable file
@@ -0,0 +1,35 @@
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
|
||||
if(NOT VCPKG_TARGET_IS_WINDOWS)
|
||||
message(WARNING "You will need to install Xorg dependencies to use nana:\napt install libx11-dev libxft-dev libxcursor-dev\n")
|
||||
endif()
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO cnjinhao/nana
|
||||
REF 554c4fe87fc31b8ee104228e9117d545d34855b5 # v1.7.4
|
||||
SHA512 d9db8ea1bd47fe663b8e2443a1a3e279760dbd11ef6bc78d9dc8f6fd12f9736b8c8315dfc84d21325e02ad6b2dc3a429593ac80e7610097ddc7253668c383178
|
||||
HEAD_REF develop
|
||||
PATCHES
|
||||
fix-build-error.patch
|
||||
)
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.cmake.in DESTINATION ${SOURCE_PATH})
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DNANA_ENABLE_PNG=ON
|
||||
-DNANA_ENABLE_JPEG=ON
|
||||
OPTIONS_DEBUG
|
||||
-DNANA_INSTALL_HEADERS=OFF)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-nana TARGET_PATH share/unofficial-nana)
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
19
externals/vcpkg/ports/nana/vcpkg.json
vendored
Executable file
19
externals/vcpkg/ports/nana/vcpkg.json
vendored
Executable file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"name": "nana",
|
||||
"version-string": "1.7.4",
|
||||
"port-version": 2,
|
||||
"description": "Cross-platform library for GUI programming in modern C++ style.",
|
||||
"homepage": "https://github.com/cnjinhao/nana",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "fontconfig",
|
||||
"platform": "!uwp & !windows & !mingw"
|
||||
},
|
||||
{
|
||||
"name": "freetype",
|
||||
"platform": "!uwp & !windows & !mingw"
|
||||
},
|
||||
"libjpeg-turbo",
|
||||
"libpng"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user