Vaše chápání CMake je správné... určí, jak vytvořit systém sestavení, který požadujete (nebo je výchozí pro platformu, na které se právě nacházíte) na základě pravidel ve vašem CMakeLists.txt
soubor. To vám však nemusí nutně pomoci při kompilaci pro linux na počítači s Windows, pokud nemáte nainstalované něco, co může cílit na linux.
Chcete-li sestavit cílení na linux, budete muset použít kompilátor linux. Odkaz zaslaný @stjin vám řekne, jak jej nainstalovat na cygwin. Poté pro nastavení sestavení CMake proveďte v terminálu toto:
CC=gcc-linux CXX=g++-linux cmake . [options]
To řekne CMake, aby našel speciální kompilátory zaměřené na linux. Doufejme, že po kompilaci pomocí těchto kompilátorů budete moci běžet na linuxu.
Pokud provádíte křížovou kompilaci, budete se chtít podívat sem:cmake-toolchains(7). Navrhoval bych však, abyste si na svůj počítač se systémem Windows nainstalovali virtuální počítač typu Linux, jako je virtuální box, a naivně stavěli na Linuxu. Kompilace bude mnohem rychlejší a nebudete se muset starat o křížovou kompilaci. Disk Windows můžete připojit z virtuálního počítače s linuxem, abyste mohli sdílet stejný zdrojový strom. Linuxový VM se zkompiluje mnohem rychleji než gcc běžící pod Windows.