1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
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}
)
|