CMakeでクロスコンパイル用の.cmakeファイルを書く
/devel/mingwをprefixにツールチェーンをインストールしているとして、
SET(CMAKE_SYSTEM_NAME Windows) SET(CMAKE_C_COMPILER /devel/mingw/bin/i686-mingw32-gcc) SET(CMAKE_CXX_COMPILER /devel/mingw/bin/i686-mingw32-g++) SET(CMAKE_RC_COMPILER /devel/mingw/bin/i686-mingw32-windres) SET(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <FLAGS> <DEFINES> <SOURCE> <OBJECT>") SET(CMAKE_FIND_ROOT_PATH /devel/mingw/i686-mingw32 /devel/mingw/target) SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) SET(CMAKE_HOST_WIN32 1) SET(CMAKE_SYSTEM_PROCESSOR "x86")
のようなファイルをwindows-mingw.cmakeのようなファイル名で作れば良い。地味にファイル名が重要なようだ(プラットフォーム-適当な名前.cmakeのようにする)
サンプルが必要なら /usr/local/share/cmake/Modules/Platform あたりにある。Xenixのような渋いプラットフォームもあって面白い(単に普通のUNIXのエイリアスにしているだけだが。。)。