Cross compiling for arm platform(cortex M4)

Hello ,
I am a newbie and trying to cross compile using cmake to generate libs which I can use on a microcontroller platform.(arm cortex m4 based )
I am following this link :
Cross Compiling With CMake — Mastering CMake.
and trying to modify the below toolchain file . Is this the correct way or any other example which I can use. Thanks in advance !

the name of the target operating system

set(CMAKE_SYSTEM_NAME Windows)

which compilers to use for C and C++

set(CMAKE_C_COMPILER i586-mingw32msvc-gcc)
set(CMAKE_CXX_COMPILER i586-mingw32msvc-g++)

where is the target environment located

set(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc
/home/alex/mingw-install)

adjust the default behavior of the FIND_XXX() commands:

search programs in the host environment

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

search headers and libraries in the target environment

set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

This post says its a tedious task :frowning: : Cross compiling HDF5 clib to arm7 android - #2 by steven
please guide.
Regards,

We do have a toolchain file in config/toolchain/aarch64.cmake that you could use as an example.

also in the build system what is the default cmake which is being invoked in windows and how it is linked with this command : ctest -S HDF5_Examples.cmake -C Release -V -O test.log ? which all things i have to change to cross compile it with some arm-gcc-* compiler instead of gcc

Thanks a lot @byrn i am looking into it.
Regards,