11cmake_minimum_required (VERSION 3.13)
22
3- set (PROGRAM pico9918)
3+
4+ # compile-time options
5+
6+ set (PICO9918_VERSION "0.4.2.1" )
7+ set (PICO9918_PCB_MAJOR_VER 0)
8+ set (PICO9918_PCB_MINOR_VER 4)
9+
10+ set (PICO9918_SCANLINES 0)
11+ set (PICO9918_NO_SPLASH 0)
12+ set (PICO9918_DIAG 0)
13+
14+ # end compile-time options
15+
16+
17+ # set up variables for the build process
18+
19+ execute_process (
20+ COMMAND git symbolic -ref --short HEAD
21+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
22+ OUTPUT_VARIABLE PICO9918_GIT_BRANCH
23+ OUTPUT_STRIP_TRAILING_WHITESPACE
24+ )
25+
26+ string (REPLACE "." "-" PICO9918_VERSION_STR "${PICO9918_VERSION} " )
27+
28+ set (PICO9918_BINARY_SUFFIX -pcb-v${PICO9918_PCB_MAJOR_VER} -${PICO9918_PCB_MINOR_VER} -${PICO9918_GIT_BRANCH} -build -${PICO9918_VERSION_STR} )
29+
30+ if (${PICO9918_SCANLINES} )
31+ set (PICO9918_BINARY_SUFFIX ${PICO9918_BINARY_SUFFIX} -sl)
32+ endif ()
33+
34+
35+ set (PROGRAM pico9918${PICO9918_BINARY_SUFFIX} )
436
537add_executable (${PROGRAM} )
638
739target_sources (${PROGRAM} PRIVATE main.c gpu.c clocks.pio.h tms9918.pio.h Thumb9900.S)
840
941pico_set_program_name(${PROGRAM} "pico9918" )
10- pico_set_program_version(${PROGRAM} "0.4.2" )
11-
12- # compile-time options to ease development between JasonACT and I
13- set (PICO9918_NO_SPLASH 0)
42+ pico_set_program_version(${PROGRAM} ${PICO9918_VERSION} )
43+ pico_set_program_description(${PROGRAM} "PICO9918 VDP for PCB v${PICO9918_PCB_MAJOR_VER} .${PICO9918_PCB_MINOR_VER} " )
44+ pico_set_program_url(${PROGRAM} "https://github.com/visrealm/pico9918" )
1445
1546# generate image array source files from png images
1647if (PICO9918_NO_SPLASH EQUAL 0)
1748visrealm_generate_image_source_ram(${PROGRAM} splash res/splash.png )
1849endif ()
1950
51+ if (PICO9918_DIAG)
52+ visrealm_generate_image_source_ram(${PROGRAM} font res/font_subset.png )
53+ endif ()
54+
2055# generate header file from pio
2156pico_generate_pio_header(${PROGRAM} ${CMAKE_CURRENT_LIST_DIR} /clocks.pio)
2257pico_generate_pio_header(${PROGRAM} ${CMAKE_CURRENT_LIST_DIR} /tms9918.pio)
@@ -28,8 +63,14 @@ pico_enable_stdio_usb(${PROGRAM} 0)
2863pico_set_binary_type(${PROGRAM} copy_to_ram) # TOO SLOW TO BOOT
2964
3065add_definitions (-DPICO9918_NO_SPLASH=${PICO9918_NO_SPLASH} )
66+ add_definitions (-DPICO9918_VERSION="${PICO9918_VERSION} " )
67+ add_definitions (-DPICO9918_PCB_MAJOR_VER=${PICO9918_PCB_MAJOR_VER} )
68+ add_definitions (-DPICO9918_PCB_MINOR_VER=${PICO9918_PCB_MINOR_VER} )
69+ add_definitions (-DPICO9918_SCANLINES=${PICO9918_SCANLINES} )
70+ add_definitions (-DPICO9918_DIAG=${PICO9918_DIAG} )
71+
3172add_definitions (-DPICO_DISABLE_SHARED_IRQ_HANDLERS=1)
32- add_definitions (-DPICO_TIME_DEFAULT_ALARM_POOL_DISABLED=1)
73+ # add_definitions(-DPICO_TIME_DEFAULT_ALARM_POOL_DISABLED=1)
3374add_definitions (-DPICO_PANIC_FUNCTION=)
3475
3576# Add the standard include files to the build
0 commit comments