aboutsummaryrefslogtreecommitdiff
path: root/ports/libxml2
diff options
context:
space:
mode:
authorMartin Müller <muemart@users.noreply.github.com>2016-11-21 22:39:34 +0100
committerMartin Müller <muemart@users.noreply.github.com>2016-11-21 22:39:34 +0100
commit971e1dfd0dd67d886615a82e085a94fd1c39f84a (patch)
treedfc0c5f51c230c0b336072800eaf46c4b49b5b7a /ports/libxml2
parenta7af1a727ea2631f7ba7373f6f0c8336881a3dde (diff)
downloadvcpkg-971e1dfd0dd67d886615a82e085a94fd1c39f84a.tar.gz
vcpkg-971e1dfd0dd67d886615a82e085a94fd1c39f84a.zip
Fix libxml2 port when building with static linkage
Diffstat (limited to 'ports/libxml2')
-rw-r--r--ports/libxml2/portfile.cmake21
1 files changed, 19 insertions, 2 deletions
diff --git a/ports/libxml2/portfile.cmake b/ports/libxml2/portfile.cmake
index f7e17e21b..8bddd6c54 100644
--- a/ports/libxml2/portfile.cmake
+++ b/ports/libxml2/portfile.cmake
@@ -41,7 +41,11 @@ set(CONFIGURE_COMMAND_TEMPLATE cscript configure.js
message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
-set(CRUNTIME /MD)
+if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
+ set(CRUNTIME /MD)
+else()
+ set(CRUNTIME /MT)
+endif()
set(DEBUGMODE no)
set(LIB_DIR ${CURRENT_INSTALLED_DIR}/lib)
set(INCLUDE_DIR ${CURRENT_INSTALLED_DIR}/include)
@@ -82,7 +86,11 @@ message(STATUS "Installing ${TARGET_TRIPLET}-rel done")
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
-set(CRUNTIME /MDd)
+if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
+ set(CRUNTIME /MDd)
+else()
+ set(CRUNTIME /MTd)
+endif()
set(DEBUGMODE yes)
set(LIB_DIR ${CURRENT_INSTALLED_DIR}/debug/lib)
set(INSTALL_DIR ${CURRENT_PACKAGES_DIR}/debug)
@@ -117,6 +125,15 @@ message(STATUS "Installing ${TARGET_TRIPLET}-dbg done")
# Cleanup
#
+# You have to define LIBXML_STATIC or not, depending on how you link
+file(READ ${CURRENT_PACKAGES_DIR}/include/libxml2/libxml/xmlexports.h XMLEXPORTS_H)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ string(REPLACE "!defined(LIBXML_STATIC)" "0" XMLEXPORTS_H "${XMLEXPORTS_H}")
+else()
+ string(REPLACE "!defined(LIBXML_STATIC)" "1" XMLEXPORTS_H "${XMLEXPORTS_H}")
+endif()
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/libxml2/libxml/xmlexports.h "${XMLEXPORTS_H}")
+
# Remove tools and debug include directories
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools)