Hi Markus,

I sort of feel a little uncomfortable, with all the development for c++ being 
done behind closed doors and then having the results presented to the rest.
That's not sort of how things work at the ASF. 

Isn't there a way you guys could for example develop things in feature branches 
and then merge back to develop as soon as you reached a checkpoint?

Right now for example I disabled the logging module as the build keeps on 
complaining:

[ 57%] Building CXX object 
CMakeFiles/plc4cpp-utils-logger.dir/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.cpp.o
In file included from 
/Users/christofer.dutz/Projects/Apache/PLC4X/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.cpp:20:
/Users/christofer.dutz/Projects/Apache/PLC4X/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h:23:10:
 fatal error: 'boost\system\error_code.hpp' file not found
#include <boost\system\error_code.hpp>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

The problem the file is there and it is available ... not quite sure why make 
seems to be finding all the other hpp files, but is having a problem with that 
particular one.

With Maven being the primary build system, the build must work with Maven ... 
so please check your builds to work with maven at least before checking them in.

If you need help, I am happy to be of assistance.

I'm not insisting on you using Maven during development and I'm also not 
insisting on running it on Win, Mac and Linux, as I am currently mostly doing 
it, but I do that it should be run at least once on any of these systems before 
checking in.
I don't want to continue the mode in which I have to drop everything I'm 
currently working on just to fix a code-drop.

Chris



Am 13.05.19, 09:43 schrieb "Markus Sommer" <[email protected]>:

    Hello Chris,
    
    we've only maintained the CMakelists so far. We haven't dealt with Maven in 
the project yet.
    
    For us, the focus is on implementing the other classes in C++ and then 
accessing an S7 with a ReadRequest. Just now the implementation with signals 
for asynchronous reporting of incoming messages.
    
    Have also fought with CMakeLists something with Boost to link the necessary 
libraries into the project.
    
    Changing the CMakelists is then done quickly.
    
    Best regards
    
    Markus
    
    Freundliche Grüße
    
    Markus Sommer
    Geschäftsführer
    
    isb innovative software businesses GmbH
    Otto-Lilienthal-Strasse 2
    D - 88046 Friedrichshafen
    
    Tel.:    +49 (0) 7541 3834-14
    Mob:  +49 (0) 171 537 8437
    Fax:     +49 (0) 7541 3834-20
    E-Mail: [email protected]
    Web: www.isb-fn.de 
    
    Geschäftsführer: Markus Sommer, Thomas Zeler
    Sitz: Friedrichshafen
    
    Registergericht: Amtsgericht Ulm HRB-Nr. 631624
    Important Note: This e-mail and any attachments are confidential, may 
contain trade secrets and may well also be legally privileged or otherwise 
protected from disclosure. If you have received it in error, you are on notice 
of its status. 
    Please notify us immediately by reply e-mail and then delete his e-mail and 
any attachment from your system. If you are not the intended recipient please 
understand that you must not copy this e-mail or any attachments or disclose 
the contents to any other person. Thank you.
    
    
    -----Ursprüngliche Nachricht-----
    Von: Christofer Dutz <[email protected]> 
    Gesendet: Montag, 13. Mai 2019 09:32
    An: [email protected]
    Betreff: [C++] Latest config changes
    
    Hi All and especially Markus,
    
    I just had a look at the changes that were added recently to the c++ part 
of PLC4X.
    One thing I noticed, is that you re-added the relative links between the 
modules.
    If you do a maven build (at least to the “generate-sources” phase, maven 
will make all dependencies available as they were configured in the 
CMakeList.txt files.
    You now sort of have them in there double … for a maven build there will 
now be two paths to every file. I hope this can’t cause any confusion?
    
    In the “generate-sources” phase maven takes all the dependencies and 
unpacks them into the “target/dependencies” directory.
    This then contains one “includes” and one “libs” folder, which contains all 
the includes and all the libs this module depends on.
    The cool thing with with is, that this way if you add a new dependency, all 
you need to do, is to add that dependency to the pom.xml Its content will 
automatically show up in the location where all the others have shown up and 
you don’t need any configuration changes.
    
    If however you start double-doing the dependencies by introducing these 
relative paths again, I guarantee that we will be having problems.
    The reason is that you will probably not add dependencies to the pom.xml
    
    Chris
    

Reply via email to