File: fceux_cross-mingw32.cmake

package info (click to toggle)
fceux 2.3.0%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 8,904 kB
  • sloc: cpp: 108,328; ansic: 10,341; sh: 3,386; python: 424; pascal: 391; perl: 82; makefile: 70; lisp: 60
file content (50 lines) | stat: -rw-r--r-- 1,676 bytes parent folder | download | duplicates (2)
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}
)