[unicorn-lib]Fix build error. (#6534)

* [unicorn-lib]Fix build error.

* [unicorn-lib]Changed library linkage to static.

* [unicorn-lib]Use find_package instead of find_library to find zlib.

* [unicorn-lib]Fix the name of the PCRE2 library under debug/release and modify ZLIB link name.

* [unicorn-lib]Use select_library_configurations to select which pcre2 library should be linked.
This commit is contained in:
JackBoosY 2019-05-24 12:54:24 +08:00 committed by Phil Christensen
parent d0f97f7dae
commit 9d623319c6
3 changed files with 20 additions and 2 deletions

View File

@ -6,6 +6,10 @@ option(UNICORN_LIB_SKIP_HEADERS "If the headers installation is skipped or not."
find_path(RS_CORE_LIB_INCLUDE_DIR rs-core/common.hpp)
#find_library(RW_UTILITIES_LIBRARY NAMES rw_utilities)
find_package(ZLIB REQUIRED)
find_library(PCRE2_LIBRARY_DEBUG NAMES pcre2-8d HINTS ${INSTALLED_LIB_PATH})
find_library(PCRE2_LIBRARY_RELEASE NAMES pcre2-8 HINTS ${INSTALLED_LIB_PATH})
select_library_configurations(PCRE2)
file(GLOB_RECURSE UNICORN_LIB_SOURCES ${PROJECT_SOURCE_DIR}/unicorn/*.cpp)
foreach(ITR ${UNICORN_LIB_SOURCES})
@ -24,7 +28,14 @@ target_compile_definitions(
PRIVATE -DUNICODE -D_UNICODE _CRT_SECURE_NO_WARNINGS
)
target_link_libraries(unicorn-lib PUBLIC ${PCRE2_LIBRARY})
target_link_libraries(unicorn-lib PUBLIC ZLIB::ZLIB)
if(NOT UNICORN_LIB_SKIP_HEADERS)
install(DIRECTORY ${PROJECT_SOURCE_DIR}/unicorn DESTINATION include FILES_MATCHING PATTERN "*.hpp")
endif()
install(TARGETS unicorn-lib DESTINATION lib)
install(TARGETS unicorn-lib
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)

View File

@ -1,4 +1,4 @@
Source: unicorn-lib
Version: 2019-05-07
Version: 2019-05-07-1
Description: Unicode library for C++ by Ross Smith
Build-Depends: rs-core-lib, pcre2, zlib, libiconv

View File

@ -1,5 +1,10 @@
include(vcpkg_common_functions)
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
message("unicorn-lib is a static library, now build with static.")
set(VCPKG_LIBRARY_LINKAGE static)
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO CaptainCrowbar/unicorn-lib
@ -20,5 +25,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/unicorn-lib RENAME copyright)