Files
basic1/emulator/CMakeLists.txt
Adolfo Reyna 38ffdac749 Add pagination to game launcher - 4 games per page
- GameLauncher now displays only 4 games per page to keep menu in bounds
- Added page navigation with page indicator (Page X/Y)
- KEY0 navigates between pages and within page
- KEY1 selects the highlighted game
- Touch selection works on current page only
- Helper methods: get_total_pages(), get_page_start_index(), get_page_end_index()
- Updated both lib/ and emulator/ versions for consistency
2026-02-12 20:39:38 -05:00

63 lines
1.8 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(basic1_emulator)
set(CMAKE_CXX_STANDARD 17)
find_package(SFML 3.0 COMPONENTS Graphics Window System REQUIRED)
# Lua source files
file(GLOB LUA_SOURCES "../lib/lua/*.c")
list(FILTER LUA_SOURCES EXCLUDE REGEX "lua\\.c$|luac\\.c$|loslib\\.c$|liolib\\.c$")
# Game source files
set(GAME_SOURCES
../games/lua_bindings.cpp
../games/demo_game.cpp
../games/tic_tac_toe.cpp
../games/monopoly/monopoly_game.cpp
../games/monopoly/player.c
../lib/game_launcher.cpp
../display/low_level_render.cpp
../display/low_level_gui.cpp
)
# Add source files
set(SOURCES
main.cpp
low_level_display_sfml.cpp
lua_game_emulator.cpp
lua_game_loader_emulator.cpp
input_manager.cpp
${GAME_SOURCES}
${LUA_SOURCES}
# Add more emulator-specific sources here
)
add_executable(basic1_emulator ${SOURCES})
# Define LUA_32BITS for 32-bit embedded mode
target_compile_definitions(basic1_emulator PRIVATE LUA_32BITS=1)
target_include_directories(basic1_emulator PRIVATE . .. ../display ../fonts ../games ../lib ../lib/lua)
target_link_libraries(basic1_emulator SFML::Graphics SFML::Window SFML::System)
# Copy Lua example files to build directory
file(GLOB LUA_EXAMPLE_FILES "../games/lua_examples/*.lua")
foreach(LUA_FILE ${LUA_EXAMPLE_FILES})
get_filename_component(FILENAME ${LUA_FILE} NAME)
add_custom_command(TARGET basic1_emulator POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${LUA_FILE}
${CMAKE_CURRENT_BINARY_DIR}/games/lua_examples/${FILENAME}
COMMENT "Copying Lua example: ${FILENAME}"
)
endforeach()
# Also ensure directory exists
add_custom_command(TARGET basic1_emulator POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
${CMAKE_CURRENT_BINARY_DIR}/games/lua_examples
COMMENT "Creating games/lua_examples directory"
)