fceux/cmake/cross-mingw32/fceux_cross-mingw32.cmake

51 lines
1.6 KiB
CMake

include(CheckIncludeFile)
# Find mingw by looking for windows.h; set HOST accordingly.
find_path(PATH_TO_WINDOWS_H windows.h
/usr/i386-mingw32msvc/mingw/include
/usr/i586-mingw32msvc/mingw/include
/usr/i686-mingw32msvc/mingw/include
/usr/i386-mingw32/mingw/include
/usr/i586-mingw32/mingw/include
/usr/i686-mingw32/mingw/include
)
string(REGEX MATCH "i.86-[^/]*" HOST ${PATH_TO_WINDOWS_H})
set(CMAKE_CROSSCOMPILING TRUE)
set(MINGW TRUE)
set(WIN32 TRUE)
set(APPLE FALSE)
set(UNIX FALSE)
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_C_COMPILER "${HOST}-gcc")
set(CMAKE_CXX_COMPILER "${HOST}-g++")
set(CMAKE_RC_COMPILER "${HOST}-windres")
set(CMAKE_FIND_ROOT_PATH "/usr/${HOST}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
include(${CMAKE_SOURCE_DIR}/cmake/fceux.cmake)
# I cannot fucking believe that I need to do this:
#don't: ENABLE_LANGUAGE(RC) # above
#do: (for cmake-2.6.0 at least)
set(OUTPUT_RES_RC_O CMakeFiles/${FCEUX_EXE_NAME}.dir/__/__/__/src/drivers/win/res.rc.o)
add_custom_command(
OUTPUT ${OUTPUT_RES_RC_O}
COMMAND ${HOST}-windres -Isrc/drivers/win -DLVS_OWNERDATA=0x1000 -o ${OUTPUT_RES_RC_O} ${CMAKE_SOURCE_DIR}/src/drivers/win/res.rc
DEPENDS ${CMAKE_SOURCE_DIR}/src/drivers/win/res.rc
VERBATIM
)
add_custom_target(
BuildResourceFileFor${FCEUX_EXE_NAME}
DEPENDS ${OUTPUT_RES_RC_O}
)
set(DEFINED_BUILD_RESOURCE_FILE TRUE CACHE GLOBAL "This is a hack to get CMake to build the .rc file")
add_dependencies( ${FCEUX_EXE_NAME} BuildResourceFileFor${FCEUX_EXE_NAME} )
set_property(
TARGET ${FCEUX_EXE_NAME}
PROPERTY LINK_FLAGS ${OUTPUT_RES_RC_O}
)