Feature Request: CMake with ApolloX

Hello!

I am currently using the V2 extension named ApolloX with vscode to develop a C++ console application.

The makefile system was very tedious and difficult to get right with the dependencies and rebuilding of dependencies upon a change in the tree of includes.

previously I was using cmake with the V1 extension which used to be very fast and easy to work with and set up.

Is there any way for me to add support for it myself? or can it be included in the templates?

Best regards,

Hassan Hafeez.

Hi @geopaxpvtltd ,

Thank you for your interest. We’re currently planning to add some templates on V2 that were previously available on V1, and a CMake C++ template is one of them.

In the meantime, you can add support for it yourself if you wish so, as you can edit any project files to your liking.

You will need to do some modifications like changing some of the template tasks in tasks.json and installing CMake on the SDK container.

Best regards,
Lucas Akira

1 Like

Hello @lucas_a.tx

Could you provide a little bit more information on how to convert it to cmake?
I mean which tasks to change and a sample change if possible?

Best Regards,
Hassan.

Hi @geopaxpvtltd ,

Given that our VSCode templates for the IDE extension V2 is open-source we have a general contributing guide on GitHub which explains the inner workings of the templates with more details. You can take a look there to get started on the changes:

Best regards,
Lucas Akira

1 Like

@lucas_a.tx @matheus.tx

Hi, I would like to thank you for adding the cmake template for apollox. There seems to be a little oversight in the build-configure-arm64 task. can you please add the following lines so that the .c files are also built for aarch64?

                "-DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc",

If i use it as is, without the above flag, the .c files are built for x86_64 and cpp files are built for aarch64

A similar change had to be done to the dockerfile to create production image as follows:

RUN if [ "$IMAGE_ARCH" = "arm64" ] ; then \
	cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -Bbuild ; \
	elif [ "$IMAGE_ARCH" = "arm" ] ; then \
	cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ -DCMAKE_C_COMPILER=arm-linux-gnueabihf-g++ -Bbuild ; \
	fi

Hi @geopaxpvtltd,

Thanks for the feedback, this fix was added in the newest fix release v2.2.1, released today.

Best regards,
André Riesco de Ávila

1 Like