summaryrefslogtreecommitdiff
path: root/emu/CMakeLists.txt
blob: 5d8465c3618f2586d8c256cd08dcea523d4b3f42 (plain)
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
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)

set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")

include(cmake/find_gengetopt.cmake)

project(emu C)

set( EMU_VERSION 0.0.1 )

set(CMAKE_C_FLAGS "-g -O0 -std=c99 -Wall -DWITH_GUI -D_POSIX_C_SOURCE=200809L")

add_custom_target(distclean
	COMMAND make clean
	COMMAND git clean -d -f -x
)

configure_file( "${PROJECT_SOURCE_DIR}/options.ggo.in" 
	"${PROJECT_SOURCE_DIR}/options.ggo" @ONLY )
configure_file( "${PROJECT_SOURCE_DIR}/version.h.in" 
	"${PROJECT_SOURCE_DIR}/version.h" @ONLY )

set(SRC
	device.c
	bus.c
	6502.c
	memory.c
	6522.c
	7seg.c
	emul.c
)

ADD_GENGETOPT_FILES(SRC options.ggo)

INCLUDE(FindPkgConfig)

PKG_SEARCH_MODULE(SDL2 REQUIRED sdl2)
PKG_SEARCH_MODULE(SDL2_GFX REQUIRED SDL2_gfx)
PKG_SEARCH_MODULE(CHECK REQUIRED check)

include_directories(${SDL2_INCLUDE_DIRS} ${SDL2_INCLUDE_DIRS})

add_library(emulib STATIC ${SRC})

add_executable(emu emu.c)
target_link_libraries(emu ${SDL2_LIBRARIES} ${SDL2_GFX_LIBRARIES} emulib)

enable_testing()
add_subdirectory(tests)
add_custom_target(report DEPENDS tests/test.html)