|
|
1.1 root 1:
2: include_directories(. ../.. ../includes ${SDL_INCLUDE_DIR})
3:
4: # Unfortunately we've got to specify the rules for the generated files twice,
5: # once for cross compiling (with calling the host cc directly) and once
6: # for native compiling so that the rules also work for non-Unix environments...
7: if(CMAKE_CROSSCOMPILING)
8:
9: add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/build68k
10: COMMAND cc ${CMAKE_CURRENT_SOURCE_DIR}/build68k.c
11: -o ${CMAKE_CURRENT_BINARY_DIR}/build68k
12: DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/build68k.c)
13:
14: add_custom_command(OUTPUT cpudefs.c
15: COMMAND ./build68k < ${CMAKE_CURRENT_SOURCE_DIR}/table68k >cpudefs.c
16: DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/table68k
17: ${CMAKE_CURRENT_BINARY_DIR}/build68k)
18:
19: add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gencpu
20: COMMAND cc -I${CMAKE_CURRENT_SOURCE_DIR}
21: cpudefs.c ${CMAKE_CURRENT_SOURCE_DIR}/gencpu.c
22: ${CMAKE_CURRENT_SOURCE_DIR}/readcpu.c
23: -o ${CMAKE_CURRENT_BINARY_DIR}/gencpu
24: DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gencpu.c
25: ${CMAKE_CURRENT_SOURCE_DIR}/readcpu.c cpudefs.c)
26:
1.1.1.3 ! root 27: add_custom_command(OUTPUT cpustbl.c cpuemu_0.c cpuemu_11.c cpuemu_13.c
! 28: cpuemu_20.c cpuemu_21.c cpuemu_22.c cpuemu_23.c cpuemu_24.c
! 29: cpuemu_31.c cpuemu_32.c cpuemu_33.c cpuemu_40.c
1.1 root 30: COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gencpu
31: DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/gencpu)
32:
33: else() # Rules for normal build follow
34:
35: add_executable(build68k build68k.c)
36:
37: get_target_property(BUILD68K_EXE build68k LOCATION)
38: add_custom_command(OUTPUT cpudefs.c
39: COMMAND ${BUILD68K_EXE} < ${CMAKE_CURRENT_SOURCE_DIR}/table68k >cpudefs.c
40: DEPENDS table68k build68k)
41:
42: add_executable(gencpu gencpu.c readcpu.c cpudefs.c)
43:
44: get_target_property(GENCPU_EXE gencpu LOCATION)
1.1.1.3 ! root 45: add_custom_command(OUTPUT cpustbl.c cpuemu_0.c cpuemu_11.c cpuemu_13.c
! 46: cpuemu_20.c cpuemu_21.c cpuemu_22.c cpuemu_23.c cpuemu_24.c
! 47: cpuemu_31.c cpuemu_32.c cpuemu_33.c cpuemu_40.c
1.1 root 48: COMMAND ${GENCPU_EXE} DEPENDS gencpu)
49:
50: endif(CMAKE_CROSSCOMPILING)
51:
52:
1.1.1.3 ! root 53: # Generated cpuemu_xx.c contains a lot of warnings we don't really care about...
! 54: set(CPUEMU_CFLAGS "-Wno-sign-compare -Wno-shadow -Wno-unused-variable")
! 55: if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.6)
! 56: set (CPUEMU_CFLAGS "${CPUEMU_CFLAGS} -Wno-unused-but-set-variable")
! 57: endif()
! 58:
1.1 root 59: if(CMAKE_COMPILER_IS_GNUCC)
1.1.1.3 ! root 60: set_source_files_properties( cpuemu_0.c cpuemu_11.c cpuemu_13.c
! 61: cpuemu_20.c cpuemu_21.c cpuemu_22.c cpuemu_23.c cpuemu_24.c
! 62: cpuemu_31.c cpuemu_32.c cpuemu_33.c cpuemu_40.c cpudefs.c cpustbl.c
! 63: PROPERTIES COMPILE_FLAGS ${CPUEMU_CFLAGS})
! 64:
! 65: # For other files, some warnings can be hidden for release : set next if to "1" instead of "0"
! 66: if ( 1 )
! 67: set(CPUMAIN_CFLAGS "-Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-unused-label -Wno-maybe-uninitialized -Wno-bad-function-cast")
! 68: if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.6)
! 69: set (CPUMAIN_CFLAGS "${CPUMAIN_CFLAGS} -Wno-unused-but-set-variable")
! 70: endif()
! 71: set_source_files_properties( newcpu.c newcpu_common.c cpummu.c fpp.c memory.c
! 72: PROPERTIES COMPILE_FLAGS ${CPUMAIN_CFLAGS})
! 73: endif()
! 74:
1.1 root 75: endif(CMAKE_COMPILER_IS_GNUCC)
76:
77: add_library(UaeCpu
1.1.1.3 ! root 78: cpuemu_0.c cpuemu_11.c cpuemu_13.c cpuemu_20.c cpuemu_21.c cpuemu_22.c cpuemu_23.c cpuemu_24.c cpuemu_31.c
! 79: cpuemu_32.c cpuemu_33.c cpuemu_40.c cpudefs.c cpummu.c cpummu030.c cpustbl.c custom.c
! 80: debug.c events.c hatari-glue.c memory.c newcpu_common.c readcpu.c fpp.c newcpu.c
1.1 root 81: )
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.