Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tlx] Add new port (Need fixes) #11943

Merged
merged 5 commits into from
Aug 7, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions ports/tlx/CONTROL
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Source: tlx
Version: 0.5.20191212
Homepage: https://github.com/tlx/tlx
Description: tlx is a collection of C++ helpers and extensions universally needed, but not found in the STL
38 changes: 38 additions & 0 deletions ports/tlx/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
# TODO: Fix .dlls not producing .lib files
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why can it not support dynamic build?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@NancyLi1013 When dll is built there is no symbol resolution .lib file generated. Vcpkg prints a warning about it. I decided to make it first static, then someone will make it also able to build shared library in separate pr


vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO tlx/tlx
REF 903b9b35df8731496a90d8d74f8bedbad2517d9b
SHA512 17087973f2f4751538c589e9f80d2b5ea872d2e7d90659769ae3350d441bda0b64aec9a4150d01a7cf5323ce327ebd104cdca7b4a3bc4eebdf574e71e013ba6e
HEAD_REF master
)

string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DVERBOSE=1
-DTLX_BUILD_TESTS=off
-DTLX_USE_GCOV=off
-DTLX_TRY_COMPILE_HEADERS=off
-DTLX_MORE_TESTS=off
-DTLX_BUILD_STATIC_LIBS=${BUILD_STATIC}
-DTLX_BUILD_SHARED_LIBS=${BUILD_SHARED}
)

vcpkg_install_cmake()
vcpkg_copy_pdbs()
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake/")
else()
vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/tlx")
endif()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)