blob: 3c57c91daa521f8b8409e423f154afa26a09b5a3 [file] [log] [blame]
swissChili6c61a792020-07-28 16:29:20 -07001cmake_minimum_required(VERSION 3.0)
2
3project(6502 VERSION 0.1.0 LANGUAGES C)
4
5option(GEN_INSTRUCTIONS_HEADER ON)
swissChili97b5d8b2020-08-15 20:00:54 -07006option(BUILD_ASSEMBLER ON)
swissChili6c61a792020-07-28 16:29:20 -07007
swissChilidbbd5402020-08-07 15:07:39 -07008include_directories(nuklear)
9
swissChilidab15a62020-08-17 15:41:27 -070010include(TestBigEndian)
11test_big_endian(BIG_ENDIAN)
12
13if (${BIG_ENDIAN})
14 add_compile_definitions(BIG_ENDIAN)
15else()
16 add_compile_definitions(LITTLE_ENDIAN)
17endif()
18
swissChili97b5d8b2020-08-15 20:00:54 -070019subdirs(as)
20
swissChili6c61a792020-07-28 16:29:20 -070021if (${GEN_INSTRUCTIONS_HEADER})
22 add_custom_command(
23 OUTPUT instructions.h
24 DEPENDS csv2h.awk 6502.csv
25 COMMAND awk -f csv2h.awk 6502.csv > instructions.h
26 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
27endif()
28
swissChilib71e0272020-08-08 15:56:14 -070029add_executable(6502 main.c cpu.c cpu.h dbg.c dbg.h
30 instructions.h gui.h gui.c screen.h screen.c common.h common.c)
swissChilic6b4f7e2020-08-09 16:36:36 -070031target_link_libraries(6502 readline SDL2 GL GLU GLEW m rt pthread)