I took a bit of time to create a Visual Studio project to use the log4cxx
dll that I had created using CMake, and I was able to compile and link
cleanly.  My only test was to create a project which came up and logged a
single statement, so it's not extensively tested(the logging did work
properly).  I can do more testing if it's necessary.

Given my quick test, it seems like using CMake for Windows is a valid
solution for building log4cxx, especially since the only dependencies for
log4cxx also use CMake.  Thoughts?

-Robert Middleton

On Sun, Jul 17, 2016 at 2:36 PM, Robert Middleton <osfan6...@gmail.com>
wrote:

> I did try to add the APR folder for 'encoding' to the apr-build.xml,
> however it was not able to build it because apr_escape.c requires a
> (generated) header file that the log4cxx build process does not account for.
>
> Ultimately, it doesn't seem like a good idea to essentially duplicate the
> APR build process in order for log4cxx to be built.  The ant build script
> must be kept up to date with whatever APR is doing, and there's already a
> build procedure for APR.
>
> I have built log4cxx on Windows before, but that was a while ago(it was
> also not through Maven, which is what I tried this time).
>
> I spent a bit of time making up a CMakeLists.txt for log4cxx.  It's based
> off of the CMake for APR.  It doesn't do everything that the APR one does,
> but it does compile and link cleanly(I have not yet created a project to
> use the dll):
> https://gist.github.com/rm5248/4c8ad8ca01bd3b5761a7ff942113e638
>
> APR uses CMake for Windows and autotools for Unix-like systems, so adding
> in a CMake build for Windows would be consistent with what APR does.
>
> -Robert Middleton
>
> On Sun, Jul 17, 2016 at 4:57 AM, Thorsten Schöning <tschoen...@am-soft.de>
> wrote:
>
>> Guten Tag Robert Middleton,
>> am Samstag, 16. Juli 2016 um 21:47 schrieben Sie:
>>
>> > The functions that are missing are apr_generate_random_bytes and apr_
>> escape_hex.
>>
>> apr-build.xml:
>>
>> >                <!-- Suppressing misc/win32/rand.c since it needs to
>> include rpc.h -->
>> >                <fileset        dir="${src.dir}"
>> >                                        includes="**/${arch}/*.c"
>> >                                        excludes="**/apr_app.c
>> misc/win32/rand.c"
>> >                />
>>
>> This was introduced in the following ticket:
>>
>> https://issues.apache.org/jira/browse/LOGCXX-74
>>
>> I wonder how this could have ever worked in other environments, if it
>> doesn't for you. And I'm pretty sure that it did for me in the past
>> and some others were reporting it working on the list as well. Maybe
>> some changes in the versions of Visual Studio used? I last tried with
>> some version from 2013 or so.
>>
>> As for apr_escape_hex, it looks to me that nothing of the folder
>> "encoding" is compiled currently as well. Maybe just adding a fileset
>> like for "tables" and "strings" with the needed files makes it work.
>>
>> Mit freundlichen Grüßen,
>>
>> Thorsten Schöning
>>
>> --
>> Thorsten Schöning       E-Mail: thorsten.schoen...@am-soft.de
>> AM-SoFT IT-Systeme      http://www.AM-SoFT.de/
>>
>> Telefon...........05151-  9468- 55
>> Fax...............05151-  9468- 88
>> Mobil..............0178-8 9468- 04
>>
>> AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
>> AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow
>>
>>
>

Reply via email to