cancel
Showing results for 
Search instead for 
Did you mean: 

What should we know if we want to use custom environment?

KMili
Associate III

Question is about TouxhGFX environment (C:\TouchGFX\4.13.0\env\MinGW).

We want to use our own build environment, outside TouchGFX MinGW shell and NOT using tools included at C:\TouchGFX\4.13.0\env (make, /bin/*, binutils, etc.).

Are there any specifics done with that environment you ship with Designer? For example there is non standard make included into MSYS, so maybe there are other custom things. Any startup custom setup...

Basically, is there anything specific to know about configuration and setup of our custom fresh environment for building, CI/CD and more?

P. S. We want to still let Designer itself to use out-of-the-box environment for code generation. I guess it would be too big of a hack to change that. Question applies to builds and not code/assets generation.

P. P. S. If you are curious, goal is to have independent and fully controllable separate environment for local builds and CI/CD server (Win and Linux).

1 ACCEPTED SOLUTION

Accepted Solutions
Martin KJELDSEN
Chief III

Hi,

To create your own environment (e.g. on linux), you need a few things - I'll list what's build and what's assets. TouchGFX Designer uses the environment inside its installation to make, so no need to worry about that - Although, you can also change the environment that the designer uses if you absolutely want to.

  1. gcc/g++ (build)
  2. Make (build - TouchGFX Application templates come with Makefiles)
  3. Ruby (Used for both asset generation but also to update projects post-generation of code in designer - We still use Ruby 1.9.3 for the environment and we haven't yet migrated to 2.0+)
  4. RubyGems
  5. Roo (Ruby gem used to read excel sheets for font/text generation)

/Martin

View solution in original post

5 REPLIES 5
Martin KJELDSEN
Chief III

Hi,

To create your own environment (e.g. on linux), you need a few things - I'll list what's build and what's assets. TouchGFX Designer uses the environment inside its installation to make, so no need to worry about that - Although, you can also change the environment that the designer uses if you absolutely want to.

  1. gcc/g++ (build)
  2. Make (build - TouchGFX Application templates come with Makefiles)
  3. Ruby (Used for both asset generation but also to update projects post-generation of code in designer - We still use Ruby 1.9.3 for the environment and we haven't yet migrated to 2.0+)
  4. RubyGems
  5. Roo (Ruby gem used to read excel sheets for font/text generation)

/Martin

KMili
Associate III

This is not really what I ask though.

We use custom Makefile, so that no assets code generation is being performed during build. So we don't need Ruby nor Gems, nor Roo.

GCC and Make are obvious tools as well as various /bin utilities used by make and other tools.

That's why i indicated which parts we use for building and which ones are for assets (which you can disregard).

Generally, you can do whatever you want. But if you want to use the Makefiles we provide, then 1+2, where 1 is probably both gcc and arm-gcc.

/Martin

Hi, I totally understand, but that is kind of self explanatory just by reading Makefile and interacting with installed shell for a few minutes. =)

Basically, what I wanted to double check is that is there anything different made by TouchGFX to that MinGW environment compared to stock MinGW. Would be nice to know before taking action and migrating from that to custom env.

Since I cannot find any Linux/custom build env setup guidelines, which would state that, that's why I am asking you here. Or if there is some article/guidelines like that, please share.

No difference that will prevent you from building. We have a ruby gem that the designer uses to update target project (read from the .ioc file, when using CubeMX) with new generated files for screen definitions and assets. Aside for arm-gcc, the mingw installation is standard.

/Martin