I have the following task. There is a java package that needs to be ported to c++17. A transpiling tool is being used to help with the task and avoid manual rewrite of every single file. Currently for all java classes/interfaces the corresponding c++ class is being created.
The first problem I see with this is that the original java package is huge and it has more then 180 folders. Those all are replicated in the new c++ code-base. We would like to use Cmake as a build tool but the very first problem we see is that we can not simply split the project in multiple sub-directories and simply build separate shared libraries in each sub directory since those have dependencies on each other, and I am really afraid of ending up with circular dependency.
I know it is a lot to ask here but still, what would be the best practice (if any exists) on how to organize such port form java to c++ with cmake. We would like to keep the folder structure since it is logical. The only solution I see so far is to build one giant target that depends on everything.
Any comments and ideas or examples of such structure are highly appreciated.