changeset 5746:a7a61d0a104f

tinyxml: Use updated build rule from mxe.cc * src/tinyxml.mk: Update build rule with version from mxe.cc. * src/tinyxml-1-cmakelists.patch: Add patch from mxe.cc. * dist-files.mk: Add new file to build system.
author Markus Mützel <markus.muetzel@gmx.de>
date Thu, 22 Apr 2021 18:45:58 +0200
parents 31169ba1d68d
children 52da5d311d13
files dist-files.mk src/tinyxml-1-cmakelists.patch src/tinyxml.mk
diffstat 3 files changed, 40 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/dist-files.mk	Thu Apr 22 12:00:29 2021 +0200
+++ b/dist-files.mk	Thu Apr 22 18:45:58 2021 +0200
@@ -710,6 +710,7 @@
   texinfo.mk \
   theora.mk \
   tiff.mk \
+  tinyxml-1-cmakelists.patch \
   tinyxml-test.cpp \
   tinyxml.mk \
   transfig-1-fixes.patch \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/tinyxml-1-cmakelists.patch	Thu Apr 22 18:45:58 2021 +0200
@@ -0,0 +1,22 @@
+diff -burN tinyxml.orig/CMakeLists.txt tinyxml/CMakeLists.txt
+--- tinyxml.orig/CMakeLists.txt	1970-01-01 01:00:00.000000000 +0100
++++ tinyxml/CMakeLists.txt	2015-06-21 19:03:09.878168410 +0200
+@@ -0,0 +1,18 @@
++cmake_minimum_required(VERSION 2.8)
++
++file(GLOB SRCS "${CMAKE_SOURCE_DIR}/tiny*.cpp" )
++
++include_directories(${CMAKE_SOURCE_DIR})
++add_definitions(-DTIXML_USE_STL)
++
++add_library(tinyxml ${SRCS})
++
++install(TARGETS tinyxml
++  RUNTIME DESTINATION bin
++  LIBRARY DESTINATION lib
++  ARCHIVE DESTINATION lib)
++
++file(GLOB HEADERS "${CMAKE_SOURCE_DIR}/*.h")
++install(FILES ${HEADERS}
++  DESTINATION include)
++
--- a/src/tinyxml.mk	Thu Apr 22 12:00:29 2021 +0200
+++ b/src/tinyxml.mk	Thu Apr 22 18:45:58 2021 +0200
@@ -17,13 +17,23 @@
 endef
 
 define $(PKG)_BUILD
-    cd '$(1)' && $(MXE_CXX) -c -O3 -Wall -Wno-unknown-pragmas -Wno-format -D TIXML_USE_STL '$(1)'/*.cpp
-    cd '$(1)' && $(MXE_AR) cr libtinyxml.a *.o
-    $(MXE_RANLIB) '$(1)/libtinyxml.a'
-    $(INSTALL) -d               '$(HOST_LIBDIR)'
-    $(INSTALL) -m644 '$(1)'/*.a '$(HOST_LIBDIR)'
-    $(INSTALL) -d               '$(HOST_INCDIR)'
-    $(INSTALL) -m644 '$(1)'/*.h '$(HOST_INCDIR)'
+    mkdir '$(1)/.build'
+    cd '$(1)/.build' && cmake '$(1)' \
+      -DCMAKE_INSTALL_PREFIX=$(HOST_PREFIX) \
+      $($(PKG)_CMAKE_FLAGS) \
+      $(CMAKE_CCACHE_FLAGS) \
+      $(CMAKE_BUILD_SHARED_OR_STATIC) \
+      -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'
+
+    $(MAKE) -C '$(1)/.build' install
+
+#    cd '$(1)' && $(MXE_CXX) -c -O3 -Wall -Wno-unknown-pragmas -Wno-format -D TIXML_USE_STL '$(1)'/*.cpp
+#    cd '$(1)' && $(MXE_AR) cr libtinyxml.a *.o
+#    $(MXE_RANLIB) '$(1)/libtinyxml.a'
+#    $(INSTALL) -d               '$(HOST_LIBDIR)'
+#    $(INSTALL) -m644 '$(1)'/*.a '$(HOST_LIBDIR)'
+#    $(INSTALL) -d               '$(HOST_INCDIR)'
+#    $(INSTALL) -m644 '$(1)'/*.h '$(HOST_INCDIR)'
 
     #'$(MXE_CXX)' \
     #    -W -Wall -D TIXML_USE_STL -Werror -ansi -pedantic \