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