btc-ag / service-idl

Xtext-based Service IDL (Interface Definition Language) and Code Generators for Protobuf, C++, Java and .NET
Eclipse Public License 2.0
8 stars 8 forks source link

Allow generation of C++/.NET artifacts as a fragment to be included into an existing CMake-generated solution #166

Closed sigiesec closed 5 years ago

sigiesec commented 6 years ago

Instead of using the generated conanfile and .NET sln, the generated artifacts should be integrated into an existing CMake-based build that generates a solution containing both the genarated C++/.NET modules as well as other C++/.NET modules.

sigiesec commented 6 years ago

This is probably very complex to implement in general. It would be better to build the generated modules separately, i.e. as a separate release unit. The bop-pipelines are currently extended to make this very easy.

sigiesec commented 6 years ago

E.g. the OutputDirectory must be configurable in this case, to ensure that the generated projects use the same OutputDirectory as the existing projects.

sigiesec commented 6 years ago

Relative paths in the .csproj files must be configurable in this case, since the solution file might be at a different location relative to the .csproj files. This is particularly problematic when including the .csproj files in a cmake project, since the CMake-generated solution may be located at a relative location which is unknown at the time the IDL generator is executed.

sigiesec commented 6 years ago

A make.cmakeset files needs to be generated corresponding to each .csproj file.

kamiddel commented 5 years ago

From my point of view, the way to get the generated artifacts as an own release unit solves this problem perfectly.

sigiesec commented 5 years ago

Thanks for your response. I am closing the issue consequently.