Skip to content

Commit ac5e51e

Browse files
committed
Moved firmware filename generation to top level and updated configurator build to use firmware name from top-level cmake
1 parent fb276b9 commit ac5e51e

File tree

4 files changed

+45
-37
lines changed

4 files changed

+45
-37
lines changed

.vscode/settings.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
"cmake.configureOnOpen": false,
1717
"cmake.generator": "Ninja",
1818
"cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake",
19+
"cmake.additionalKits": [],
20+
"cmake.environment": {
21+
"PATH": "${userHome}/.pico-sdk/ninja/v1.12.1;${env:PATH}"
22+
},
1923
"cmake.configureArgs": [
2024
"-DPICO9918_SCART_RGBS=OFF",
2125
"-DPICO9918_SCART_PAL=OFF",

CMakeLists.txt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,42 @@ add_definitions(-DPICO_FLASH_SPI_CLKDIV=4) # This could be 2, but then we c
7070
add_definitions(-DPICO_XOSC_STARTUP_DELAY_MULTIPLIER=8)
7171

7272

73+
# set up variables for the build process
74+
75+
execute_process(
76+
COMMAND git symbolic-ref --short HEAD
77+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
78+
OUTPUT_VARIABLE PICO9918_GIT_BRANCH
79+
OUTPUT_STRIP_TRAILING_WHITESPACE
80+
)
81+
82+
if (PICO9918_SCART_RGBS)
83+
if (PICO9918_SCART_PAL)
84+
set(PICO9918_OUTPUT_STR "rgbs-pal576i")
85+
else()
86+
set(PICO9918_OUTPUT_STR "rgbs-ntsc480i")
87+
endif()
88+
else()
89+
set(PICO9918_OUTPUT_STR "vga")
90+
endif()
91+
92+
set(PICO9918_VERSION "${PICO9918_MAJOR_VER}.${PICO9918_MINOR_VER}.${PICO9918_PATCH_VER}")
93+
string(REPLACE "." "-" PICO9918_VERSION_STR "${PICO9918_VERSION}")
94+
95+
if (NOT ${PICO_BOARD} STREQUAL "pico9918")
96+
set(PICO_BOARD_STR -${PICO_BOARD})
97+
endif()
98+
99+
set(PICO9918_BINARY_SUFFIX ${PICO_BOARD_STR}-${PICO9918_OUTPUT_STR}-build-v${PICO9918_VERSION_STR})
100+
101+
if (PICO9918_DIAG)
102+
set(PICO9918_BINARY_SUFFIX ${PICO9918_BINARY_SUFFIX}-diag)
103+
endif()
104+
105+
set(FIRMWARE_FILE pico9918${PICO9918_BINARY_SUFFIX})
106+
107+
108+
73109
if(CONFIGURATOR_ONLY)
74110
add_subdirectory(configtool)
75111
else()

configtool/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ set(FRIENDLYVER "${PICO9918_VERSION}")
1818
setup_cvbasic_tools()
1919

2020
# Firmware dependency (checked at build time, not configure time)
21-
set(FIRMWARE_FILE "${CMAKE_BINARY_DIR}/dist/pico9918-vga-build-${VERSION}.uf2")
21+
set(FIRMWARE_PATH "${CMAKE_BINARY_DIR}/dist/${FIRMWARE_FILE}.uf2")
2222
if(NOT CONFIGURATOR_ONLY)
2323
set(FIRMWARE_TARGET "firmware") # Target that builds the firmware
2424
else()
@@ -33,8 +33,8 @@ function(convert_uf2_to_cvbasic BANK_SIZE OUTPUT_PREFIX)
3333
COMMAND ${PYTHON} "${CMAKE_SOURCE_DIR}/configtool/tools/uf2cvb.py"
3434
-b ${BANK_SIZE}
3535
-o "${OUTPUT_DIR}/${OUTPUT_PREFIX}"
36-
"${FIRMWARE_FILE}"
37-
DEPENDS "${CMAKE_SOURCE_DIR}/configtool/tools/uf2cvb.py" "${FIRMWARE_FILE}"
36+
"${FIRMWARE_PATH}"
37+
DEPENDS "${CMAKE_SOURCE_DIR}/configtool/tools/uf2cvb.py" "${FIRMWARE_PATH}"
3838
COMMENT "Converting UF2 to CVBasic data (${BANK_SIZE}KB banks)"
3939
VERBATIM
4040
)
@@ -197,4 +197,4 @@ if(XAS99_SCRIPT)
197197
else()
198198
message(STATUS "XAS99: NOT FOUND (TI-99 builds will be limited)")
199199
endif()
200-
message(STATUS "Firmware: ${FIRMWARE_FILE}")
200+
message(STATUS "Firmware: ${FIRMWARE_PATH}")

src/CMakeLists.txt

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,7 @@ cmake_minimum_required(VERSION 3.13)
88
# end compile-time options
99

1010

11-
# set up variables for the build process
12-
13-
execute_process(
14-
COMMAND git symbolic-ref --short HEAD
15-
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
16-
OUTPUT_VARIABLE PICO9918_GIT_BRANCH
17-
OUTPUT_STRIP_TRAILING_WHITESPACE
18-
)
19-
20-
if (PICO9918_SCART_RGBS)
21-
if (PICO9918_SCART_PAL)
22-
set(PICO9918_OUTPUT_STR "rgbs-pal576i")
23-
else()
24-
set(PICO9918_OUTPUT_STR "rgbs-ntsc480i")
25-
endif()
26-
else()
27-
set(PICO9918_OUTPUT_STR "vga")
28-
endif()
29-
30-
set(PICO9918_VERSION "${PICO9918_MAJOR_VER}.${PICO9918_MINOR_VER}.${PICO9918_PATCH_VER}")
31-
string(REPLACE "." "-" PICO9918_VERSION_STR "${PICO9918_VERSION}")
32-
33-
if (NOT ${PICO_BOARD} STREQUAL "pico9918")
34-
set(PICO_BOARD_STR -${PICO_BOARD})
35-
endif()
36-
37-
set(PICO9918_BINARY_SUFFIX ${PICO_BOARD_STR}-${PICO9918_OUTPUT_STR}-build-v${PICO9918_VERSION_STR})
38-
39-
if (PICO9918_DIAG)
40-
set(PICO9918_BINARY_SUFFIX ${PICO9918_BINARY_SUFFIX}-diag)
41-
endif()
42-
43-
set(PROGRAM pico9918${PICO9918_BINARY_SUFFIX})
11+
set(PROGRAM ${FIRMWARE_FILE})
4412

4513
add_executable(${PROGRAM} )
4614

0 commit comments

Comments
 (0)