]> granicus.if.org Git - libexpat/commitdiff
CMake: Create libexpatw.{dll,so} and expatw.pc with -DEXPAT_CHAR_TYPE=(ushort|wchar_t)
authorSebastian Pipping <sebastian@pipping.org>
Wed, 9 Oct 2019 21:14:21 +0000 (23:14 +0200)
committerSebastian Pipping <sebastian@pipping.org>
Sat, 12 Oct 2019 21:22:24 +0000 (23:22 +0200)
expat/CMakeLists.txt
expat/coverage.sh
expat/expat.pc.in
expat/qa.sh

index a05eff2b0c5f93c77726155d32eb7c579b67dbaa..4873e41bb05f17f27da91079705d5b244eff1525 100644 (file)
@@ -261,9 +261,13 @@ endif(EXPAT_SHARED_LIBS)
 
 # Avoid colliding with Expat.dll of Perl's XML::Parser::Expat
 if(WIN32 AND NOT MINGW)
-    set(_EXPAT_TARGET libexpat)
+    set(_EXPAT_TARGET libexpat)  # CMAKE_*_POSTFIX applies, see above
 else()
-    set(_EXPAT_TARGET expat)
+    if(_EXPAT_UNICODE)
+        set(_EXPAT_TARGET expatw)
+    else()
+        set(_EXPAT_TARGET expat)
+    endif()
 endif()
 
 add_library(${_EXPAT_TARGET} ${_SHARED} ${expat_SRCS})
@@ -297,8 +301,8 @@ if(NOT MSVC)
     set(exec_prefix "\${prefix}")
     set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
     set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
-    configure_file(expat.pc.in ${CMAKE_CURRENT_BINARY_DIR}/expat.pc @ONLY)
-    expat_install(FILES ${CMAKE_CURRENT_BINARY_DIR}/expat.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+    configure_file(expat.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${_EXPAT_TARGET}.pc @ONLY)
+    expat_install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_EXPAT_TARGET}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
 endif()
 
 #
index 6ab44d8106826e101f6e3d8e895696641f4eb92f..7990a7fae69d259cf1ee79496ca9a79d3d4f8885 100755 (executable)
@@ -99,7 +99,7 @@ _copy_missing_mingw_libaries() {
         done
     fi
 
-    for dll in libexpat.dll; do
+    for dll in libexpat{,w}.dll; do
         (
             set -x
             ln -s "${abs_build_dir}"/${dll} "${target}"/${dll}
index 5207e3e1b06b1e12dc23488f6e72a534a1fef252..d4b6243302726a9e07ddb51101ad68f145245ea2 100644 (file)
@@ -3,9 +3,9 @@ exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
 
-Name: expat
+Name: @_EXPAT_TARGET@
 Version: @PACKAGE_VERSION@
 Description: expat XML parser
 URL: http://www.libexpat.org
-Libs: -L${libdir} -lexpat
+Libs: -L${libdir} -l@_EXPAT_TARGET@
 Cflags: -I${includedir}
index 9525d51d3755e7d2ba92e4e10e80de1198e7a8be..ca4fe07e3b0cbccb5bf4df60f89aa629b106ed23 100755 (executable)
@@ -126,7 +126,7 @@ run_tests() {
                     /usr/i686-w64-mingw32/lib/libwinpthread-1.dll \
                     /usr/lib/gcc/i686-w64-mingw32/*/libgcc_s_sjlj-1.dll \
                     /usr/lib/gcc/i686-w64-mingw32/*/libstdc++-6.dll \
-                    "$PWD"/libexpat.dll \
+                    "$PWD"/libexpat{,w}.dll \
                     ${i}/
         done
     fi