Votre compréhension de CMake est correcte... il déterminera comment créer le système de construction que vous demandez (ou est par défaut pour la plate-forme sur laquelle vous vous trouvez actuellement) en fonction des règles de votre CMakeLists.txt
dossier. Cependant, cela ne vous aidera pas nécessairement à compiler pour Linux sur une machine Windows si vous n'avez pas installé quelque chose qui peut cibler Linux.
Pour compiler ciblant Linux, vous devrez utiliser un compilateur Linux. Le lien posté par @stjin vous indique comment en installer un sur cygwin. Ensuite, pour configurer votre build CMake, faites ceci dans le terminal :
CC=gcc-linux CXX=g++-linux cmake . [options]
Cela indiquera à CMake de localiser les compilateurs spéciaux ciblés Linux. Espérons qu'après avoir compilé avec ces compilateurs, vous pourrez exécuter Linux.
Vous voudrez regarder ici :cmake-toolchains(7) si vous effectuez une compilation croisée. Cependant, je suggérerais que vous installiez une machine virtuelle Linux comme une boîte virtuelle sur votre machine Windows et que vous construisiez naïvement sur Linux. Il compilera beaucoup plus rapidement et vous n'aurez pas à vous soucier de la compilation croisée. Vous pouvez monter le disque Windows à partir de la machine virtuelle Linux afin de pouvoir partager la même arborescence source. La machine virtuelle linux compilera beaucoup plus rapidement que gcc sous Windows.