[jira] [Commented] (XERCESC-2075) Small corrections for Cygwin and MacOS X build instructions

2017-06-03 Thread Scott Cantor (JIRA)

[ 
https://issues.apache.org/jira/browse/XERCESC-2075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16036108#comment-16036108
 ] 

Scott Cantor commented on XERCESC-2075:
---

No, I did my review so I have a record of everything I need to move up to 
trunk, it's open for other fixes.

I don't intend to touch 3.1 here on out once 3.2 gets completed, FWIW, so if 
somebody wants to support that, they'll have to own that.

> Small corrections for Cygwin and MacOS X build instructions
> ---
>
> Key: XERCESC-2075
> URL: https://issues.apache.org/jira/browse/XERCESC-2075
> Project: Xerces-C++
>  Issue Type: Bug
>  Components: Documentation
>Affects Versions: 3.1.4
>Reporter: Roger Leigh
>Priority: Minor
> Attachments: 
> 0001-doc-build-Some-features-don-t-work-with-Cygwin.patch, 
> 0002-doc-build-Recommend-DYLD_FALLBACK_LIBRARY_PATH-rathe.patch
>
>
> Small corrections and improvements for the build instructions.  See attached 
> patches.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



Re: Integrating CMake support for xerces

2017-06-03 Thread Cantor, Scott
On 6/3/17, 6:02 PM, "Roger Leigh"  wrote:

> I guess there's now always the option of deleting some or all of the 
> stuff under projects/Win32 if you wanted to avoid updating the version 
> in them all!

Oh, I intended to remove all that. My project's going to be moving up to VC2017 
anyway.

-- Scott





[jira] [Commented] (XERCESC-2078) iconv message loader won't build when using current automake

2017-06-03 Thread Roger Leigh (JIRA)

[ 
https://issues.apache.org/jira/browse/XERCESC-2078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16036107#comment-16036107
 ] 

Roger Leigh commented on XERCESC-2078:
--

Would there be any objection to committing this one liner to the trunk and/or 
3.1?

> iconv message loader won't build when using current automake
> 
>
> Key: XERCESC-2078
> URL: https://issues.apache.org/jira/browse/XERCESC-2078
> Project: Xerces-C++
>  Issue Type: Bug
>  Components: Build
>Affects Versions: 3.1.4
>Reporter: Roger Leigh
>  Labels: autotools, build, iconv, patch
> Attachments: 
> 0001-build-Correct-use-of-mkdir_p-with-current-automake.patch
>
>
> The existing {{Makefile.in}} in {{src/xerces/util/MsgLoader/MsgCatalog` uses 
> `$(mkdir_p)}}.  However, with current (and not so current) automake versions 
> this is set to {{$(MKDIR_P)}}, but this variable is unset, leading to a 
> failed build:
> {{gmake[4]: ../../../../../src/.libs: Command not found}}
> (from 
> [build|https://ci.openmicroscopy.org/view/Experimental/job/XERCESC-AUTOTOOLS-BSD/build_type=Release,config=4,generator=Unix%20Makefiles,label=perch,shared=OFF/14/console])
> The attached patch substitutes the missing variable.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] [Commented] (XERCESC-2075) Small corrections for Cygwin and MacOS X build instructions

2017-06-03 Thread Roger Leigh (JIRA)

[ 
https://issues.apache.org/jira/browse/XERCESC-2075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16036106#comment-16036106
 ] 

Roger Leigh commented on XERCESC-2075:
--

Would there be any objection to committing these small fixes on the trunk 
and/or 3.1?

> Small corrections for Cygwin and MacOS X build instructions
> ---
>
> Key: XERCESC-2075
> URL: https://issues.apache.org/jira/browse/XERCESC-2075
> Project: Xerces-C++
>  Issue Type: Bug
>  Components: Documentation
>Affects Versions: 3.1.4
>Reporter: Roger Leigh
>Priority: Minor
> Attachments: 
> 0001-doc-build-Some-features-don-t-work-with-Cygwin.patch, 
> 0002-doc-build-Recommend-DYLD_FALLBACK_LIBRARY_PATH-rathe.patch
>
>
> Small corrections and improvements for the build instructions.  See attached 
> patches.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



Re: Integrating CMake support for xerces

2017-06-03 Thread Roger Leigh

On 31/05/17 14:23, Cantor, Scott wrote:

Roger, if you want to check the patch into trunk that's fine. I'm holding off 
bumping the versions to 3.2 since it will break your current patch and it would 
be best if I figure out how to get the version bumped in the new Windows builds 
anyway.


I have now committed the CMake patch as revision 1797546.

I guess there's now always the option of deleting some or all of the 
stuff under projects/Win32 if you wanted to avoid updating the version 
in them all!



Regards,
Roger

-
To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org
For additional commands, e-mail: c-dev-h...@xerces.apache.org



[jira] [Resolved] (XERCESC-2077) Add CMake build system

2017-06-03 Thread Roger Leigh (JIRA)

 [ 
https://issues.apache.org/jira/browse/XERCESC-2077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Roger Leigh resolved XERCESC-2077.
--
   Resolution: Fixed
Fix Version/s: 3.2.0

The two patches were committed to the trunk in revision 1797546.

> Add CMake build system
> --
>
> Key: XERCESC-2077
> URL: https://issues.apache.org/jira/browse/XERCESC-2077
> Project: Xerces-C++
>  Issue Type: New Feature
>  Components: Build
>Affects Versions: 3.1.4
> Environment: All
>Reporter: Roger Leigh
>  Labels: build, cmake, patch
> Fix For: 3.2.0
>
> Attachments: 0001-cmake-Add-CMake-build-system.patch, 
> 0001-cmake-Add-CMake-build-system-trunk.patch, 
> 0002-cmake-Align-versioning-with-Autotools-and-Visual-Stu.patch, 
> screenshot-xerces-ci-tests-trunk.png
>
>
> h4. Introduction
> The attached patch implements a CMake build for Xerces-C++.
> I have spent significant effort performing a "comprehensive" conversion of 
> the existing GNU autotools and MSVC project file logic to a unified CMake 
> build which supports all platforms with a single set of build files, as well 
> as testing it exhaustively (see below). The existing GNU autotools build and 
> MSVC project builds will continue to function and are unaffected by this 
> addition.
> h5. References
> - http://mail-archives.apache.org/mod_mbox/xerces-c-dev/201302.mbox/browser
> - http://mail-archives.apache.org/mod_mbox/xerces-c-dev/201506.mbox/browser
> - https://github.com/rleigh-codelibre/xerces-c/tree/cmake-3.1
> h4. Background
> CMake is a meta-build system which generates the build files for a specified 
> build system, such as make, Visual Studio msbuild, nmake, ninja or a number 
> of other build tools and IDEs.  This allows Xerces-C++ to be built on any 
> supported platform with the native tools for that platform.
> The reason why I originally needed this was due to the large maintenance 
> burden of patching the provided Visual Studio project files, both for fixing 
> bugs in those files and in being able to support versions of Visual Studio 
> which aren't yet supported by the provided project files or for unsupported 
> configurations e.g. Clang/C2, other platforms etc.  The lack of an install 
> target also meant that to integrate this with a larger build required 
> manually copying bits out of the build tree.  The cost of debugging and 
> patching the existing project files for use in our CI builds was getting too 
> great--maintaining and using this CMake build out of tree will be cheaper and 
> more robust.  However, given that other people have also requested such 
> support in the past, I thought it might benefit others to have this merged 
> upstream so that it would be available to the benefit of all.
> I have done a direct conversion of every autoconf option and feature test.  
> Where there wasn't a direct CMake equivalent, I've written each feature test 
> to exactly match the autoconf behaviour.  The automake Makefile.am logic is 
> directly represented in the corresponding CMakeLists.txt files.  Broadly:
> ||Autotools||CMake||
> |{{configure.ac}}, {{Makefile.am}}|{{CMakeLists.txt}}|
> |{{*/Makefile.am}}|{{*/CMakeLists.txt}}|
> |{{m4/*}}|{{cmake/*}}|
> |{{src/xercesc/util/Xerces_autoconf_config.hpp.in}}|{{src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in}}|
> |_autoheader_|config.h.cmake.in|
> |{{tools/createdocs.sh}}|{{CMakeLists.txt}} (custom target)|
> |{{scripts/sanityTest.pl}}|{{cmake/XercesTest.cmake}} (direct support)|
> |{{scripts/sanityTest_ExpectedResult.log}}|{{test/expected/\*}}, 
> {{samples/expected/\*}} (individual log files)|
> And there's a section added to the documentation giving an overview of how to 
> use it, in the same style as the autotools section.
> h5. Enhancements over the existing build systems
> - Universal build for any platform and build system supported by CMake
> - Full support for feature and library detection on Windows, including
>   discovery of ICU libraries; it's no longer static, using (long broken)
>   ICU configurations in the project files
> - An install target now exists on Windows, so the various pieces don't
>   need manually copying out of the build tree
> - Parallel build speed improvements when using ninja to replace make
>   or msbuild; the speedup with the latter is significant
> - Export of CMake configuration in addition to pkg-config, to make
>   Xerces-C++ integrate with downstream projects using Xerces-C++ and
>   cmake; this includes all dependency information of the libraries
>   Xerces was linked with, i.e. transitive dependencies.
> - Installs the HTML documentation
> - Targets are provided for regenerating the documentation (docs and
>   apidocs)
> - Documentation can be edited and rebuilt from within Visual Studio
> - Unit tests can be run on all supported platforms
>