You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@etch.apache.org by Se...@ese.de on 2013/04/25 15:23:49 UTC

Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



RE: AW: AW: Building the C++ binding

Posted by Martin Veith <Ma...@bmw-carit.de>.
Hi Sebastian,

I merged the modified FindCMake script.
Thank you for your contribution.

Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Tuesday, May 14, 2013 2:05 PM
To: user@etch.apache.org
Subject: AW: AW: AW: Building the C++ binding


Hi maintainers,

attached to this mail is my version of FindCapu.cmake.

Can you update the trunk with that, or was the case "LOCAL_CAPU_SOURCE_DIR manually specified" intended for some other use case?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Dienstag, 7. Mai 2013 10:31
An: user@etch.apache.org
Betreff: AW: AW: AW: Building the C++ binding

Hi,

I got rid of the error message by replacing this line in FindCapu.cmake

            INSTALL_COMMAND "install"
by this one:

            INSTALL_DIR "${CAPU_PROJECT_DIR}/deliverable"

Now, I also don't need this change anymore:

In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Montag, 6. Mai 2013 18:38
An: user@etch.apache.org
Betreff: AW: AW: AW: Building the C++ binding

Hi Aaron,

I had thought that this was already done in binding-cpp\runtime\build.xml by Martin.

Disabling it in FindCapu.cmake worked. Thanks.



The next error I get:



     [exec] 2>  ========== Build: 2 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
     [exec] 2>
     [exec] 2>  Performing install step for 'Capu'
     [exec] 2>  Der Befehl "install" ist entweder falsch geschrieben oder
     [exec] 2>  konnte nicht gefunden werden.
     [exec] 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 9009.
     [exec] 2>
     [exec] 2>Build FAILED.



Must the cmake files be changed for windows, or should there be an install command available on Windows, too?



Sebastian





________________________________
Von: Aaron.Frueh@partner.bmw.de [Aaron.Frueh@partner.bmw.de]
Gesendet: Montag, 6. Mai 2013 18:09
An: user@etch.apache.org
Betreff: Re: AW: AW: Building the C++ binding
Hey Sebastian,

As i said, adding -DCONFIG_BUILD_UNITTESTS:BOOL=false, disables the capu tests.

Do the following:
Goto binding-cpp/runtime/FindCapu.cmake
And Modify the CMAKE_ARGS for the Capu Project
/*....*/
CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE:PATH=${CMAKE_TOOLCHAIN_FILE}
                       -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
                       -DBUILD_DynamicTestLibraryProject:BOOL=1
                       -DBUILD_GoogleMock:BOOL=0
                       -DCONFIG_BUILD_UNITTESTS:BOOL=0
....
}
/*...*/

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 18:00
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: AW: Building the C++ binding


Hi Aaron, Hi Martin,

removing "add_subdirectory (src/test)" from binding-cpp\runtime\CMakeLists.txt didn't help.

I guess that's because the error happens in Capu-tests, not in etch tests:

..\..\modules\capu\test\ConfigTest.cpp(17): fatal error C1083: Cannot open include file: 'gtest/gtest.h': No such file or directory



But I couldn't find the part in the Capu cmake files where the tests can be disabled.



Sebastian



________________________________
Von: Aaron.Frueh@partner.bmw.de<ma...@partner.bmw.de> [Aaron.Frueh@partner.bmw.de<ma...@partner.bmw.de>]
Gesendet: Montag, 6. Mai 2013 17:06
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Re: AW: Building the C++ binding
Hi Sebastian,

The include files are located under (e.g.) gmock/1.6.0/include (/gmock/....)
But as i remember the CMakefiles include them like "${GMOCK}/include" which should be correct.

There is no need for any Copy Step.

You still can disable the Test build with commenting following line (or similar) out:
add_subdirectory (src/test)

Additional you may need to deactivate the capu test build with defining on your cmake command
-DCONFIG_BUILD_UNITTESTS:BOOL=false

BR, Aaron

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 16:41
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: Building the C++ binding


Actually, the error message still seem to come from test code. So it seems that the disabling of the tests by default didn't work.



Some more details:



I've unpacked gmock in

...ETCH_EXTERNAL_DEPENDS\gmock\1.6.0

and gtest in

...ETCH_EXTERNAL_DEPENDS\gtest\1.6.0



And from these lines in ...\etch\binding-cpp\runtime\CMakeLists.txt

    # GTest
    SET(GTEST ${ETCH_EXTERNAL_DEPENDS}/gtest/1.6.0)

    # GMock
    SET(GMOCK ${ETCH_EXTERNAL_DEPENDS}/gmock/1.6.0)

I guess that's ok.

But I get error messages I like these:

Cannot open include file: 'gtest/gtest.h': No such file or directory

Cannot open include file: 'gmock/gmock.h': No such file or directory



because some sources expect the include files to be in a directory named "gtest" / "gmock".

Is there some part of the build system which should copy the files to that location, and is not working correctly?



Sebastian



________________________________
Von:Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Montag, 6. Mai 2013 16:10
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: AW: Building the C++ binding

Hi Martin,

I try to build the C++ binding with this command:

    ant debug-binding -Dbinding=cpp -DLOCAL_CAPU_SOURCE_DIR=...ETCH_EXTERNAL_DEPENDS\capu\0.9.0



In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



But I still get error messages about missing gmock headers.

I guess it's not sufficient to disable the test, because the gmock headers are included in normal sources, too?

Can I download gmock manually, too? And how do I configure the build that it's found?



Thanks in advance,

Sebastian





________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 14:00
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding
Hi Sebastian,

in CAPU version 0.8.1 was no way to disable the build of the unit tests. In the today released version this option is provided, so I will configure the FindCapu.cmake in my fix that the CAPU tests are disabled by default, so no GoogleMock download is needed.

The Etch C++ Binding uses the GoogleTest library contained in ETCH_EXTERNAL_DEPENDS, so you can still build and run the test for Etch.

BR,
Martin

From:Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Friday, April 26, 2013 11:47 AM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


Hi Martin,

you're right, I've got no direct connection to the internet and the ZIP file is empty.



How do I disable the unit tests? Will I need your patch or will your patch allow me to define a local source dir for GoogleMock?



Thanks,

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 11:09
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding
Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From:Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von:Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



AW: AW: AW: Building the C++ binding

Posted by Se...@ese.de.
Hi maintainers,

attached to this mail is my version of FindCapu.cmake.

Can you update the trunk with that, or was the case "LOCAL_CAPU_SOURCE_DIR manually specified" intended for some other use case?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Dienstag, 7. Mai 2013 10:31
An: user@etch.apache.org
Betreff: AW: AW: AW: Building the C++ binding


Hi,

I got rid of the error message by replacing this line in FindCapu.cmake

            INSTALL_COMMAND "install"
by this one:

            INSTALL_DIR "${CAPU_PROJECT_DIR}/deliverable"

Now, I also don't need this change anymore:

In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Montag, 6. Mai 2013 18:38
An: user@etch.apache.org
Betreff: AW: AW: AW: Building the C++ binding


Hi Aaron,

I had thought that this was already done in binding-cpp\runtime\build.xml by Martin.

Disabling it in FindCapu.cmake worked. Thanks.



The next error I get:



     [exec] 2>  ========== Build: 2 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
     [exec] 2>
     [exec] 2>  Performing install step for 'Capu'
     [exec] 2>  Der Befehl "install" ist entweder falsch geschrieben oder
     [exec] 2>  konnte nicht gefunden werden.
     [exec] 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 9009.
     [exec] 2>
     [exec] 2>Build FAILED.



Must the cmake files be changed for windows, or should there be an install command available on Windows, too?



Sebastian





________________________________
Von: Aaron.Frueh@partner.bmw.de [Aaron.Frueh@partner.bmw.de]
Gesendet: Montag, 6. Mai 2013 18:09
An: user@etch.apache.org
Betreff: Re: AW: AW: Building the C++ binding

Hey Sebastian,

As i said, adding -DCONFIG_BUILD_UNITTESTS:BOOL=false, disables the capu tests.

Do the following:
Goto binding-cpp/runtime/FindCapu.cmake
And Modify the CMAKE_ARGS for the Capu Project
/*….*/
CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE:PATH=${CMAKE_TOOLCHAIN_FILE}
                       -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
                       -DBUILD_DynamicTestLibraryProject:BOOL=1
                       -DBUILD_GoogleMock:BOOL=0
                       -DCONFIG_BUILD_UNITTESTS:BOOL=0
….
}
/*…*/

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 18:00
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: AW: Building the C++ binding


Hi Aaron, Hi Martin,

removing "add_subdirectory (src/test)" from binding-cpp\runtime\CMakeLists.txt didn't help.

I guess that's because the error happens in Capu-tests, not in etch tests:

..\..\modules\capu\test\ConfigTest.cpp(17): fatal error C1083: Cannot open include file: 'gtest/gtest.h': No such file or directory



But I couldn't find the part in the Capu cmake files where the tests can be disabled.



Sebastian



________________________________
Von: Aaron.Frueh@partner.bmw.de<ma...@partner.bmw.de> [Aaron.Frueh@partner.bmw.de<ma...@partner.bmw.de>]
Gesendet: Montag, 6. Mai 2013 17:06
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Re: AW: Building the C++ binding

Hi Sebastian,

The include files are located under (e.g.) gmock/1.6.0/include (/gmock/….)
But as i remember the CMakefiles include them like "${GMOCK}/include" which should be correct.

There is no need for any Copy Step.

You still can disable the Test build with commenting following line (or similar) out:
add_subdirectory (src/test)

Additional you may need to deactivate the capu test build with defining on your cmake command
-DCONFIG_BUILD_UNITTESTS:BOOL=false

BR, Aaron

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 16:41
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: Building the C++ binding


Actually, the error message still seem to come from test code. So it seems that the disabling of the tests by default didn't work.



Some more details:



I've unpacked gmock in

...ETCH_EXTERNAL_DEPENDS\gmock\1.6.0

and gtest in

...ETCH_EXTERNAL_DEPENDS\gtest\1.6.0



And from these lines in ...\etch\binding-cpp\runtime\CMakeLists.txt

    # GTest
    SET(GTEST ${ETCH_EXTERNAL_DEPENDS}/gtest/1.6.0)

    # GMock
    SET(GMOCK ${ETCH_EXTERNAL_DEPENDS}/gmock/1.6.0)

I guess that's ok.

But I get error messages I like these:

Cannot open include file: 'gtest/gtest.h': No such file or directory

Cannot open include file: 'gmock/gmock.h': No such file or directory



because some sources expect the include files to be in a directory named "gtest" / "gmock".

Is there some part of the build system which should copy the files to that location, and is not working correctly?



Sebastian



________________________________
Von:Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Montag, 6. Mai 2013 16:10
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: AW: Building the C++ binding


Hi Martin,

I try to build the C++ binding with this command:

    ant debug-binding -Dbinding=cpp -DLOCAL_CAPU_SOURCE_DIR=...ETCH_EXTERNAL_DEPENDS\capu\0.9.0



In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



But I still get error messages about missing gmock headers.

I guess it's not sufficient to disable the test, because the gmock headers are included in normal sources, too?

Can I download gmock manually, too? And how do I configure the build that it's found?



Thanks in advance,

Sebastian





________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 14:00
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding

Hi Sebastian,

in CAPU version 0.8.1 was no way to disable the build of the unit tests. In the today released version this option is provided, so I will configure the FindCapu.cmake in my fix that the CAPU tests are disabled by default, so no GoogleMock download is needed.

The Etch C++ Binding uses the GoogleTest library contained in ETCH_EXTERNAL_DEPENDS, so you can still build and run the test for Etch.

BR,
Martin

From:Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Friday, April 26, 2013 11:47 AM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


Hi Martin,

you're right, I've got no direct connection to the internet and the ZIP file is empty.



How do I disable the unit tests? Will I need your patch or will your patch allow me to define a local source dir for GoogleMock?



Thanks,

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 11:09
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding
Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From:Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von:Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



AW: AW: AW: Building the C++ binding

Posted by Se...@ese.de.
Hi,

I got rid of the error message by replacing this line in FindCapu.cmake

            INSTALL_COMMAND "install"
by this one:

            INSTALL_DIR "${CAPU_PROJECT_DIR}/deliverable"

Now, I also don't need this change anymore:

In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Montag, 6. Mai 2013 18:38
An: user@etch.apache.org
Betreff: AW: AW: AW: Building the C++ binding


Hi Aaron,

I had thought that this was already done in binding-cpp\runtime\build.xml by Martin.

Disabling it in FindCapu.cmake worked. Thanks.



The next error I get:



     [exec] 2>  ========== Build: 2 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
     [exec] 2>
     [exec] 2>  Performing install step for 'Capu'
     [exec] 2>  Der Befehl "install" ist entweder falsch geschrieben oder
     [exec] 2>  konnte nicht gefunden werden.
     [exec] 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 9009.
     [exec] 2>
     [exec] 2>Build FAILED.



Must the cmake files be changed for windows, or should there be an install command available on Windows, too?



Sebastian





________________________________
Von: Aaron.Frueh@partner.bmw.de [Aaron.Frueh@partner.bmw.de]
Gesendet: Montag, 6. Mai 2013 18:09
An: user@etch.apache.org
Betreff: Re: AW: AW: Building the C++ binding

Hey Sebastian,

As i said, adding -DCONFIG_BUILD_UNITTESTS:BOOL=false, disables the capu tests.

Do the following:
Goto binding-cpp/runtime/FindCapu.cmake
And Modify the CMAKE_ARGS for the Capu Project
/*….*/
CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE:PATH=${CMAKE_TOOLCHAIN_FILE}
                       -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
                       -DBUILD_DynamicTestLibraryProject:BOOL=1
                       -DBUILD_GoogleMock:BOOL=0
                       -DCONFIG_BUILD_UNITTESTS:BOOL=0
….
}
/*…*/

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 18:00
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: AW: Building the C++ binding


Hi Aaron, Hi Martin,

removing "add_subdirectory (src/test)" from binding-cpp\runtime\CMakeLists.txt didn't help.

I guess that's because the error happens in Capu-tests, not in etch tests:

..\..\modules\capu\test\ConfigTest.cpp(17): fatal error C1083: Cannot open include file: 'gtest/gtest.h': No such file or directory



But I couldn't find the part in the Capu cmake files where the tests can be disabled.



Sebastian



________________________________
Von: Aaron.Frueh@partner.bmw.de<ma...@partner.bmw.de> [Aaron.Frueh@partner.bmw.de<ma...@partner.bmw.de>]
Gesendet: Montag, 6. Mai 2013 17:06
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Re: AW: Building the C++ binding

Hi Sebastian,

The include files are located under (e.g.) gmock/1.6.0/include (/gmock/….)
But as i remember the CMakefiles include them like "${GMOCK}/include" which should be correct.

There is no need for any Copy Step.

You still can disable the Test build with commenting following line (or similar) out:
add_subdirectory (src/test)

Additional you may need to deactivate the capu test build with defining on your cmake command
-DCONFIG_BUILD_UNITTESTS:BOOL=false

BR, Aaron

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 16:41
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: Building the C++ binding


Actually, the error message still seem to come from test code. So it seems that the disabling of the tests by default didn't work.



Some more details:



I've unpacked gmock in

...ETCH_EXTERNAL_DEPENDS\gmock\1.6.0

and gtest in

...ETCH_EXTERNAL_DEPENDS\gtest\1.6.0



And from these lines in ...\etch\binding-cpp\runtime\CMakeLists.txt

    # GTest
    SET(GTEST ${ETCH_EXTERNAL_DEPENDS}/gtest/1.6.0)

    # GMock
    SET(GMOCK ${ETCH_EXTERNAL_DEPENDS}/gmock/1.6.0)

I guess that's ok.

But I get error messages I like these:

Cannot open include file: 'gtest/gtest.h': No such file or directory

Cannot open include file: 'gmock/gmock.h': No such file or directory



because some sources expect the include files to be in a directory named "gtest" / "gmock".

Is there some part of the build system which should copy the files to that location, and is not working correctly?



Sebastian



________________________________
Von:Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Montag, 6. Mai 2013 16:10
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: AW: Building the C++ binding


Hi Martin,

I try to build the C++ binding with this command:

    ant debug-binding -Dbinding=cpp -DLOCAL_CAPU_SOURCE_DIR=...ETCH_EXTERNAL_DEPENDS\capu\0.9.0



In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



But I still get error messages about missing gmock headers.

I guess it's not sufficient to disable the test, because the gmock headers are included in normal sources, too?

Can I download gmock manually, too? And how do I configure the build that it's found?



Thanks in advance,

Sebastian





________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 14:00
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding

Hi Sebastian,

in CAPU version 0.8.1 was no way to disable the build of the unit tests. In the today released version this option is provided, so I will configure the FindCapu.cmake in my fix that the CAPU tests are disabled by default, so no GoogleMock download is needed.

The Etch C++ Binding uses the GoogleTest library contained in ETCH_EXTERNAL_DEPENDS, so you can still build and run the test for Etch.

BR,
Martin

From:Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Friday, April 26, 2013 11:47 AM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


Hi Martin,

you're right, I've got no direct connection to the internet and the ZIP file is empty.



How do I disable the unit tests? Will I need your patch or will your patch allow me to define a local source dir for GoogleMock?



Thanks,

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 11:09
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding
Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From:Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von:Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



AW: AW: AW: Building the C++ binding

Posted by Se...@ese.de.
Hi Aaron,

I had thought that this was already done in binding-cpp\runtime\build.xml by Martin.

Disabling it in FindCapu.cmake worked. Thanks.



The next error I get:



     [exec] 2>  ========== Build: 2 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
     [exec] 2>
     [exec] 2>  Performing install step for 'Capu'
     [exec] 2>  Der Befehl "install" ist entweder falsch geschrieben oder
     [exec] 2>  konnte nicht gefunden werden.
     [exec] 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 9009.
     [exec] 2>
     [exec] 2>Build FAILED.



Must the cmake files be changed for windows, or should there be an install command available on Windows, too?



Sebastian





________________________________
Von: Aaron.Frueh@partner.bmw.de [Aaron.Frueh@partner.bmw.de]
Gesendet: Montag, 6. Mai 2013 18:09
An: user@etch.apache.org
Betreff: Re: AW: AW: Building the C++ binding

Hey Sebastian,

As i said, adding -DCONFIG_BUILD_UNITTESTS:BOOL=false, disables the capu tests.

Do the following:
Goto binding-cpp/runtime/FindCapu.cmake
And Modify the CMAKE_ARGS for the Capu Project
/*….*/
CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE:PATH=${CMAKE_TOOLCHAIN_FILE}
                       -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
                       -DBUILD_DynamicTestLibraryProject:BOOL=1
                       -DBUILD_GoogleMock:BOOL=0
                       -DCONFIG_BUILD_UNITTESTS:BOOL=0
….
}
/*…*/

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 18:00
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: AW: Building the C++ binding


Hi Aaron, Hi Martin,

removing "add_subdirectory (src/test)" from binding-cpp\runtime\CMakeLists.txt didn't help.

I guess that's because the error happens in Capu-tests, not in etch tests:

..\..\modules\capu\test\ConfigTest.cpp(17): fatal error C1083: Cannot open include file: 'gtest/gtest.h': No such file or directory



But I couldn't find the part in the Capu cmake files where the tests can be disabled.



Sebastian



________________________________
Von: Aaron.Frueh@partner.bmw.de<ma...@partner.bmw.de> [Aaron.Frueh@partner.bmw.de<ma...@partner.bmw.de>]
Gesendet: Montag, 6. Mai 2013 17:06
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Re: AW: Building the C++ binding

Hi Sebastian,

The include files are located under (e.g.) gmock/1.6.0/include (/gmock/….)
But as i remember the CMakefiles include them like "${GMOCK}/include" which should be correct.

There is no need for any Copy Step.

You still can disable the Test build with commenting following line (or similar) out:
add_subdirectory (src/test)

Additional you may need to deactivate the capu test build with defining on your cmake command
-DCONFIG_BUILD_UNITTESTS:BOOL=false

BR, Aaron

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 16:41
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: Building the C++ binding


Actually, the error message still seem to come from test code. So it seems that the disabling of the tests by default didn't work.



Some more details:



I've unpacked gmock in

...ETCH_EXTERNAL_DEPENDS\gmock\1.6.0

and gtest in

...ETCH_EXTERNAL_DEPENDS\gtest\1.6.0



And from these lines in ...\etch\binding-cpp\runtime\CMakeLists.txt

    # GTest
    SET(GTEST ${ETCH_EXTERNAL_DEPENDS}/gtest/1.6.0)

    # GMock
    SET(GMOCK ${ETCH_EXTERNAL_DEPENDS}/gmock/1.6.0)

I guess that's ok.

But I get error messages I like these:

Cannot open include file: 'gtest/gtest.h': No such file or directory

Cannot open include file: 'gmock/gmock.h': No such file or directory



because some sources expect the include files to be in a directory named "gtest" / "gmock".

Is there some part of the build system which should copy the files to that location, and is not working correctly?



Sebastian



________________________________
Von:Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Montag, 6. Mai 2013 16:10
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: AW: Building the C++ binding


Hi Martin,

I try to build the C++ binding with this command:

    ant debug-binding -Dbinding=cpp -DLOCAL_CAPU_SOURCE_DIR=...ETCH_EXTERNAL_DEPENDS\capu\0.9.0



In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



But I still get error messages about missing gmock headers.

I guess it's not sufficient to disable the test, because the gmock headers are included in normal sources, too?

Can I download gmock manually, too? And how do I configure the build that it's found?



Thanks in advance,

Sebastian





________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 14:00
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding

Hi Sebastian,

in CAPU version 0.8.1 was no way to disable the build of the unit tests. In the today released version this option is provided, so I will configure the FindCapu.cmake in my fix that the CAPU tests are disabled by default, so no GoogleMock download is needed.

The Etch C++ Binding uses the GoogleTest library contained in ETCH_EXTERNAL_DEPENDS, so you can still build and run the test for Etch.

BR,
Martin

From:Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Friday, April 26, 2013 11:47 AM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


Hi Martin,

you're right, I've got no direct connection to the internet and the ZIP file is empty.



How do I disable the unit tests? Will I need your patch or will your patch allow me to define a local source dir for GoogleMock?



Thanks,

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 11:09
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding
Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From:Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von:Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



Re: AW: AW: Building the C++ binding

Posted by Aa...@partner.bmw.de.
Hey Sebastian,

As i said, adding -DCONFIG_BUILD_UNITTESTS:BOOL=false, disables the capu tests.

Do the following:
Goto binding-cpp/runtime/FindCapu.cmake
And Modify the CMAKE_ARGS for the Capu Project
/*….*/
CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE:PATH=${CMAKE_TOOLCHAIN_FILE}
                       -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
                       -DBUILD_DynamicTestLibraryProject:BOOL=1
                       -DBUILD_GoogleMock:BOOL=0
                       -DCONFIG_BUILD_UNITTESTS:BOOL=0
….
}
/*…*/

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 18:00
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: AW: Building the C++ binding


Hi Aaron, Hi Martin,

removing "add_subdirectory (src/test)" from binding-cpp\runtime\CMakeLists.txt didn't help.

I guess that's because the error happens in Capu-tests, not in etch tests:

..\..\modules\capu\test\ConfigTest.cpp(17): fatal error C1083: Cannot open include file: 'gtest/gtest.h': No such file or directory



But I couldn't find the part in the Capu cmake files where the tests can be disabled.



Sebastian



________________________________
Von: Aaron.Frueh@partner.bmw.de<ma...@partner.bmw.de> [Aaron.Frueh@partner.bmw.de<ma...@partner.bmw.de>]
Gesendet: Montag, 6. Mai 2013 17:06
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Re: AW: Building the C++ binding

Hi Sebastian,

The include files are located under (e.g.) gmock/1.6.0/include (/gmock/….)
But as i remember the CMakefiles include them like "${GMOCK}/include" which should be correct.

There is no need for any Copy Step.

You still can disable the Test build with commenting following line (or similar) out:
add_subdirectory (src/test)

Additional you may need to deactivate the capu test build with defining on your cmake command
-DCONFIG_BUILD_UNITTESTS:BOOL=false

BR, Aaron

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 16:41
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: Building the C++ binding


Actually, the error message still seem to come from test code. So it seems that the disabling of the tests by default didn't work.



Some more details:



I've unpacked gmock in

...ETCH_EXTERNAL_DEPENDS\gmock\1.6.0

and gtest in

...ETCH_EXTERNAL_DEPENDS\gtest\1.6.0



And from these lines in ...\etch\binding-cpp\runtime\CMakeLists.txt

    # GTest
    SET(GTEST ${ETCH_EXTERNAL_DEPENDS}/gtest/1.6.0)

    # GMock
    SET(GMOCK ${ETCH_EXTERNAL_DEPENDS}/gmock/1.6.0)

I guess that's ok.

But I get error messages I like these:

Cannot open include file: 'gtest/gtest.h': No such file or directory

Cannot open include file: 'gmock/gmock.h': No such file or directory



because some sources expect the include files to be in a directory named "gtest" / "gmock".

Is there some part of the build system which should copy the files to that location, and is not working correctly?



Sebastian



________________________________
Von:Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Montag, 6. Mai 2013 16:10
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: AW: Building the C++ binding


Hi Martin,

I try to build the C++ binding with this command:

    ant debug-binding -Dbinding=cpp -DLOCAL_CAPU_SOURCE_DIR=...ETCH_EXTERNAL_DEPENDS\capu\0.9.0



In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



But I still get error messages about missing gmock headers.

I guess it's not sufficient to disable the test, because the gmock headers are included in normal sources, too?

Can I download gmock manually, too? And how do I configure the build that it's found?



Thanks in advance,

Sebastian





________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 14:00
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding

Hi Sebastian,

in CAPU version 0.8.1 was no way to disable the build of the unit tests. In the today released version this option is provided, so I will configure the FindCapu.cmake in my fix that the CAPU tests are disabled by default, so no GoogleMock download is needed.

The Etch C++ Binding uses the GoogleTest library contained in ETCH_EXTERNAL_DEPENDS, so you can still build and run the test for Etch.

BR,
Martin

From:Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Friday, April 26, 2013 11:47 AM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


Hi Martin,

you're right, I've got no direct connection to the internet and the ZIP file is empty.



How do I disable the unit tests? Will I need your patch or will your patch allow me to define a local source dir for GoogleMock?



Thanks,

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 11:09
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding
Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From:Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von:Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



AW: AW: Building the C++ binding

Posted by Se...@ese.de.
Hi Aaron, Hi Martin,

removing "add_subdirectory (src/test)" from binding-cpp\runtime\CMakeLists.txt didn't help.

I guess that's because the error happens in Capu-tests, not in etch tests:

..\..\modules\capu\test\ConfigTest.cpp(17): fatal error C1083: Cannot open include file: 'gtest/gtest.h': No such file or directory



But I couldn't find the part in the Capu cmake files where the tests can be disabled.



Sebastian



________________________________
Von: Aaron.Frueh@partner.bmw.de [Aaron.Frueh@partner.bmw.de]
Gesendet: Montag, 6. Mai 2013 17:06
An: user@etch.apache.org
Betreff: Re: AW: Building the C++ binding

Hi Sebastian,

The include files are located under (e.g.) gmock/1.6.0/include (/gmock/….)
But as i remember the CMakefiles include them like "${GMOCK}/include" which should be correct.

There is no need for any Copy Step.

You still can disable the Test build with commenting following line (or similar) out:
add_subdirectory (src/test)

Additional you may need to deactivate the capu test build with defining on your cmake command
-DCONFIG_BUILD_UNITTESTS:BOOL=false

BR, Aaron

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 16:41
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: Building the C++ binding


Actually, the error message still seem to come from test code. So it seems that the disabling of the tests by default didn't work.



Some more details:



I've unpacked gmock in

...ETCH_EXTERNAL_DEPENDS\gmock\1.6.0

and gtest in

...ETCH_EXTERNAL_DEPENDS\gtest\1.6.0



And from these lines in ...\etch\binding-cpp\runtime\CMakeLists.txt

    # GTest
    SET(GTEST ${ETCH_EXTERNAL_DEPENDS}/gtest/1.6.0)

    # GMock
    SET(GMOCK ${ETCH_EXTERNAL_DEPENDS}/gmock/1.6.0)

I guess that's ok.

But I get error messages I like these:

Cannot open include file: 'gtest/gtest.h': No such file or directory

Cannot open include file: 'gmock/gmock.h': No such file or directory



because some sources expect the include files to be in a directory named "gtest" / "gmock".

Is there some part of the build system which should copy the files to that location, and is not working correctly?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Montag, 6. Mai 2013 16:10
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: AW: Building the C++ binding


Hi Martin,

I try to build the C++ binding with this command:

    ant debug-binding -Dbinding=cpp -DLOCAL_CAPU_SOURCE_DIR=...ETCH_EXTERNAL_DEPENDS\capu\0.9.0



In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



But I still get error messages about missing gmock headers.

I guess it's not sufficient to disable the test, because the gmock headers are included in normal sources, too?

Can I download gmock manually, too? And how do I configure the build that it's found?



Thanks in advance,

Sebastian





________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 14:00
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding

Hi Sebastian,

in CAPU version 0.8.1 was no way to disable the build of the unit tests. In the today released version this option is provided, so I will configure the FindCapu.cmake in my fix that the CAPU tests are disabled by default, so no GoogleMock download is needed.

The Etch C++ Binding uses the GoogleTest library contained in ETCH_EXTERNAL_DEPENDS, so you can still build and run the test for Etch.

BR,
Martin

From: Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Friday, April 26, 2013 11:47 AM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


Hi Martin,

you're right, I've got no direct connection to the internet and the ZIP file is empty.



How do I disable the unit tests? Will I need your patch or will your patch allow me to define a local source dir for GoogleMock?



Thanks,

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 11:09
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding
Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From: Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



Re: AW: Building the C++ binding

Posted by Aa...@partner.bmw.de.
Hi Sebastian,

The include files are located under (e.g.) gmock/1.6.0/include (/gmock/….)
But as i remember the CMakefiles include them like "${GMOCK}/include" which should be correct.

There is no need for any Copy Step.

You still can disable the Test build with commenting following line (or similar) out:
add_subdirectory (src/test)

Additional you may need to deactivate the capu test build with defining on your cmake command
-DCONFIG_BUILD_UNITTESTS:BOOL=false

BR, Aaron

Von: "Sebastian.Setzer@ese.de<ma...@ese.de>" <Se...@ese.de>>
Antworten an: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Datum: Montag, 6. Mai 2013 16:41
An: "user@etch.apache.org<ma...@etch.apache.org>" <us...@etch.apache.org>>
Betreff: AW: Building the C++ binding


Actually, the error message still seem to come from test code. So it seems that the disabling of the tests by default didn't work.



Some more details:



I've unpacked gmock in

...ETCH_EXTERNAL_DEPENDS\gmock\1.6.0

and gtest in

...ETCH_EXTERNAL_DEPENDS\gtest\1.6.0



And from these lines in ...\etch\binding-cpp\runtime\CMakeLists.txt

    # GTest
    SET(GTEST ${ETCH_EXTERNAL_DEPENDS}/gtest/1.6.0)

    # GMock
    SET(GMOCK ${ETCH_EXTERNAL_DEPENDS}/gmock/1.6.0)

I guess that's ok.

But I get error messages I like these:

Cannot open include file: 'gtest/gtest.h': No such file or directory

Cannot open include file: 'gmock/gmock.h': No such file or directory



because some sources expect the include files to be in a directory named "gtest" / "gmock".

Is there some part of the build system which should copy the files to that location, and is not working correctly?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Montag, 6. Mai 2013 16:10
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: AW: Building the C++ binding


Hi Martin,

I try to build the C++ binding with this command:

    ant debug-binding -Dbinding=cpp -DLOCAL_CAPU_SOURCE_DIR=...ETCH_EXTERNAL_DEPENDS\capu\0.9.0



In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



But I still get error messages about missing gmock headers.

I guess it's not sufficient to disable the test, because the gmock headers are included in normal sources, too?

Can I download gmock manually, too? And how do I configure the build that it's found?



Thanks in advance,

Sebastian





________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 14:00
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding

Hi Sebastian,

in CAPU version 0.8.1 was no way to disable the build of the unit tests. In the today released version this option is provided, so I will configure the FindCapu.cmake in my fix that the CAPU tests are disabled by default, so no GoogleMock download is needed.

The Etch C++ Binding uses the GoogleTest library contained in ETCH_EXTERNAL_DEPENDS, so you can still build and run the test for Etch.

BR,
Martin

From: Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Friday, April 26, 2013 11:47 AM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


Hi Martin,

you're right, I've got no direct connection to the internet and the ZIP file is empty.



How do I disable the unit tests? Will I need your patch or will your patch allow me to define a local source dir for GoogleMock?



Thanks,

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de<ma...@bmw-carit.de>]
Gesendet: Freitag, 26. April 2013 11:09
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: RE: Building the C++ binding
Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From: Sebastian.Setzer@ese.de<ma...@ese.de> [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org<ma...@etch.apache.org>
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de<ma...@ese.de> [Sebastian.Setzer@ese.de<ma...@ese.de>]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org<ma...@etch.apache.org>
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



AW: Building the C++ binding

Posted by Se...@ese.de.
Actually, the error message still seem to come from test code. So it seems that the disabling of the tests by default didn't work.



Some more details:



I've unpacked gmock in

...ETCH_EXTERNAL_DEPENDS\gmock\1.6.0

and gtest in

...ETCH_EXTERNAL_DEPENDS\gtest\1.6.0



And from these lines in ...\etch\binding-cpp\runtime\CMakeLists.txt

    # GTest
    SET(GTEST ${ETCH_EXTERNAL_DEPENDS}/gtest/1.6.0)

    # GMock
    SET(GMOCK ${ETCH_EXTERNAL_DEPENDS}/gmock/1.6.0)

I guess that's ok.

But I get error messages I like these:

Cannot open include file: 'gtest/gtest.h': No such file or directory

Cannot open include file: 'gmock/gmock.h': No such file or directory



because some sources expect the include files to be in a directory named "gtest" / "gmock".

Is there some part of the build system which should copy the files to that location, and is not working correctly?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Montag, 6. Mai 2013 16:10
An: user@etch.apache.org
Betreff: AW: Building the C++ binding


Hi Martin,

I try to build the C++ binding with this command:

    ant debug-binding -Dbinding=cpp -DLOCAL_CAPU_SOURCE_DIR=...ETCH_EXTERNAL_DEPENDS\capu\0.9.0



In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



But I still get error messages about missing gmock headers.

I guess it's not sufficient to disable the test, because the gmock headers are included in normal sources, too?

Can I download gmock manually, too? And how do I configure the build that it's found?



Thanks in advance,

Sebastian





________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de]
Gesendet: Freitag, 26. April 2013 14:00
An: user@etch.apache.org
Betreff: RE: Building the C++ binding

Hi Sebastian,

in CAPU version 0.8.1 was no way to disable the build of the unit tests. In the today released version this option is provided, so I will configure the FindCapu.cmake in my fix that the CAPU tests are disabled by default, so no GoogleMock download is needed.

The Etch C++ Binding uses the GoogleTest library contained in ETCH_EXTERNAL_DEPENDS, so you can still build and run the test for Etch.

BR,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Friday, April 26, 2013 11:47 AM
To: user@etch.apache.org
Subject: AW: Building the C++ binding


Hi Martin,

you're right, I've got no direct connection to the internet and the ZIP file is empty.



How do I disable the unit tests? Will I need your patch or will your patch allow me to define a local source dir for GoogleMock?



Thanks,

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de]
Gesendet: Freitag, 26. April 2013 11:09
An: user@etch.apache.org
Betreff: RE: Building the C++ binding
Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



AW: Building the C++ binding

Posted by Se...@ese.de.
Hi Martin,

I try to build the C++ binding with this command:

    ant debug-binding -Dbinding=cpp -DLOCAL_CAPU_SOURCE_DIR=...ETCH_EXTERNAL_DEPENDS\capu\0.9.0



In FindCapu.cmake, I replaced this line:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_DELIVERABLE_DIR}/include)
with this one:

    SET(LIBCAPU_INCLUDE_DIR ${CAPU_PROJECT_DIR}/modules/capu/include)
because that's where the includes are when I unpack capu 0.9.0.



But I still get error messages about missing gmock headers.

I guess it's not sufficient to disable the test, because the gmock headers are included in normal sources, too?

Can I download gmock manually, too? And how do I configure the build that it's found?



Thanks in advance,

Sebastian





________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de]
Gesendet: Freitag, 26. April 2013 14:00
An: user@etch.apache.org
Betreff: RE: Building the C++ binding

Hi Sebastian,

in CAPU version 0.8.1 was no way to disable the build of the unit tests. In the today released version this option is provided, so I will configure the FindCapu.cmake in my fix that the CAPU tests are disabled by default, so no GoogleMock download is needed.

The Etch C++ Binding uses the GoogleTest library contained in ETCH_EXTERNAL_DEPENDS, so you can still build and run the test for Etch.

BR,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Friday, April 26, 2013 11:47 AM
To: user@etch.apache.org
Subject: AW: Building the C++ binding


Hi Martin,

you're right, I've got no direct connection to the internet and the ZIP file is empty.



How do I disable the unit tests? Will I need your patch or will your patch allow me to define a local source dir for GoogleMock?



Thanks,

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de]
Gesendet: Freitag, 26. April 2013 11:09
An: user@etch.apache.org
Betreff: RE: Building the C++ binding
Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



RE: Building the C++ binding

Posted by Martin Veith <Ma...@bmw-carit.de>.
Hi Sebastian,

in CAPU version 0.8.1 was no way to disable the build of the unit tests. In the today released version this option is provided, so I will configure the FindCapu.cmake in my fix that the CAPU tests are disabled by default, so no GoogleMock download is needed.

The Etch C++ Binding uses the GoogleTest library contained in ETCH_EXTERNAL_DEPENDS, so you can still build and run the test for Etch.

BR,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Friday, April 26, 2013 11:47 AM
To: user@etch.apache.org
Subject: AW: Building the C++ binding


Hi Martin,

you're right, I've got no direct connection to the internet and the ZIP file is empty.



How do I disable the unit tests? Will I need your patch or will your patch allow me to define a local source dir for GoogleMock?



Thanks,

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de]
Gesendet: Freitag, 26. April 2013 11:09
An: user@etch.apache.org
Betreff: RE: Building the C++ binding
Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



AW: Building the C++ binding

Posted by Se...@ese.de.
Hi Martin,

you're right, I've got no direct connection to the internet and the ZIP file is empty.



How do I disable the unit tests? Will I need your patch or will your patch allow me to define a local source dir for GoogleMock?



Thanks,

Sebastian



________________________________
Von: Martin Veith [Martin.Veith@bmw-carit.de]
Gesendet: Freitag, 26. April 2013 11:09
An: user@etch.apache.org
Betreff: RE: Building the C++ binding

Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



RE: Building the C++ binding

Posted by Martin Veith <Ma...@bmw-carit.de>.
Hi Sebastian,

you're right. Till now there is no way to specify the CAPU_LOCAL_SOURCE_DIR using Ant.
I'm already working on a fix of that. Expect a patch this afternoon.

I'm assuming that you are using the CAPU_LOCAL_SOURCE_DIR because you are not directly connected to the internet.
As GoogleTest/GoogleMock is also downloaded automatically during build, this could be the reason of the Hash mismatch. Maybe CMake has downloaded some HTML-File saying "404 Error" or something and not the correct zip-archive.
I will also provide a patch for this scenario so that you can simply disable the unit tests.

Cheers,
Martin

From: Sebastian.Setzer@ese.de [mailto:Sebastian.Setzer@ese.de]
Sent: Thursday, April 25, 2013 3:57 PM
To: user@etch.apache.org
Subject: AW: Building the C++ binding


As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org
Betreff: Building the C++ binding

Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian



AW: Building the C++ binding

Posted by Se...@ese.de.
As a workaround, I inserted that ENV-command like this:

    SET(CAPU_PROJECT_DIR "$ENV{LOCAL_CAPU_SOURCE_DIR}")

and build with this command:

    ant debug-binding -Dbinding=cpp



Next problem: I get error messages about a wrong hash for GoogleMock:



     [exec] 2>  3>  CMake Error at GoogleMock-stamp/download-GoogleMock.cmake:9 (file):
     [exec] 2>
     [exec] 2>  3>    file DOWNLOAD HASH mismatch
     [exec] 2>
     [exec] 2>  3>
     [exec] 2>
     [exec] 2>  3>      for file: [C:/.../ETCH_EXTERNAL_DEPENDS/capu/0.8.1/3psw/GoogleMock/gmock-1.6.0.zip]
     [exec] 2>
     [exec] 2>  3>        expected hash: [f547f47321ca88d3965ca2efdcc2a3c1]
     [exec] 2>
     [exec] 2>  3>          actual hash: [d41d8cd98f00b204e9800998ecf8427e]

Why are the hashes wrong? Isn't capu version 0.8.1 and gtest version 1.6.0 the correct one?

Can I ignore the messages, or disable the unit tests?



After lots of error messages about gmock, I get these:



     [exec] 3>------ Build started: Project: etch-cpp, Configuration: Debug Win32 ------
     [exec] 3>Build started 25.04.2013 15:41:13.
     [exec] 3>PrepareForBuild:
     [exec] 3>  Creating directory "C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\lib\Debug\".
     [exec] 3>InitializeBuildStatus:
     [exec] 3>  Creating "etch-cpp.dir\Debug\etch-cpp.unsuccessfulbuild" because "AlwaysCreate" was specified.
     [exec] 3>CustomBuild:
     [exec] 3>  Building Custom Rule C:/.../binding-cpp/runtime/src/main/CMakeLists.txt
     [exec] 3>  CMake does not need to re-run because C:\...\binding-cpp\runtime\target\Windows_X86_32\Debug\src\main\CMakeFiles\generate.stamp is up-to-date.
     [exec] 3>ClCompile:
     [exec] 3>  EtchObject.cpp
     [exec] 3>C:\...\binding-cpp\runtime\include\common/EtchObject.h(22): fatal error C1083: Cannot open include file: 'capu/container/List.h': No such file or directory

Any ideas why that LOCAL_CAPU_SOURCE_DIR didn't work as expected?



Sebastian



________________________________
Von: Sebastian.Setzer@ese.de [Sebastian.Setzer@ese.de]
Gesendet: Donnerstag, 25. April 2013 15:23
An: user@etch.apache.org
Betreff: Building the C++ binding


Hi,

first question:

which ant commands should I call to enable the C++ binding in the etch compiler?



After just "ant debug", I get this message from the compiler:

> etch -b cpp -d . -w ALL,BOTH myInterface.etch
Etch : E : Command : Binding 'cpp' could not be loaded; class 'org.apache.etch.bindings.cpp.compiler.Compiler' not in classpath.



second question:

How can I set the variable LOCAL_CAPU_SOURCE_DIR in binding-cpp\runtime\FindCapu.cmake?

Setting an environment variable in antsetup.bat doesn't work because it's not read with $ENV{...} like described here: http://www.cmake.org/pipermail/cmake/2003-September/004314.html



Thanks,

Sebastian