1 2if(CROSS) 3 MESSAGE(STATUS " ** Win32 Cross compiling activated, overriding cmake internals **") 4 # the name of the target operating system 5 SET(CMAKE_SYSTEM_NAME Windows) 6 SET(PFIX $ENV{CROSS_PREFIX}) 7 SET(TOOLCHAIN_LOCATION $ENV{TOOLCHAIN_LOCATION}) 8 SET(CROSS_C_COMPILER $ENV{CROSS_C_COMPILER}) 9 SET(CROSS_CXX_COMPILER $ENV{CROSS_CXX_COMPILER}) 10 MESSAGE(STATUS " ** Mingw Root : ${CROSS}") 11 MESSAGE(STATUS " ** C++ Root : ${TOOLCHAIN_LOCATION}") 12 # which compilers to use for C and C++ 13 SET(CMAKE_C_COMPILER ${TOOLCHAIN_LOCATION}/bin/${PFIX}-${CROSS_C_COMPILER}) 14 SET(CMAKE_CXX_COMPILER ${TOOLCHAIN_LOCATION}/bin/${PFIX}-${CROSS_CXX_COMPILER}) 15 SET(CMAKE_LINKER ${TOOLCHAIN_LOCATION}/bin/${PFIX}-ld) 16 SET(CMAKE_AR ${TOOLCHAIN_LOCATION}/bin/${PFIX}-ar) 17 SET(CMAKE_RC_COMPILER ${TOOLCHAIN_LOCATION}/bin/${PFIX}-windres) 18 INCLUDE_DIRECTORIES(${CROSS}/include ${TOOLCHAIN_LOCATION}/include) 19 LINK_DIRECTORIES(${CROSS}/lib ${TOOLCHAIN_LOCATION}/lib) 20 21 # here is the target environment located 22 SET(CMAKE_FIND_ROOT_PATH ${TOOLCHAIN_LOCATION} ${CROSS} ) 23 24 # adjust the default behaviour of the FIND_XXX() commands: 25 # search headers and libraries in the target environment, search 26 # programs in the host environment 27 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 28 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 29 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 30endif(CROSS) 31 32