change how randomizer is included

This commit is contained in:
gymnast86
2026-04-09 00:29:16 -07:00
parent ab7d3a5e03
commit 0ebab8bad3
3 changed files with 96 additions and 21 deletions
@@ -3,51 +3,45 @@ cmake_minimum_required(VERSION 3.16)
set(RANDOMIZER_ONLY "0" CACHE STRING "Runs only the randomizer generator")
set(RANDO_SAVE_PATH "${CMAKE_BINARY_DIR}/randomizer/")
add_compile_definitions(RANDO_SAVE_PATH="${RANDO_SAVE_PATH}"
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} RANDO_SAVE_PATH="${RANDO_SAVE_PATH}"
LOGS_PATH="${RANDO_SAVE_PATH}logs/"
DATA_PATH="${RANDO_SAVE_PATH}data/")
if(WRITE_ERROR_LOG)
if(RANDO_ERROR_LOG)
message("Error Log will be saved")
add_compile_definitions(WRITE_ERROR_LOG)
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} RANDO_ERROR_LOG)
endif()
if(ENABLE_TIMING)
message("Some events will be timed")
add_compile_definitions(ENABLE_TIMING)
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} ENABLE_TIMING)
endif()
if(DRY_RUN)
message("Game patching will be skipped")
add_compile_definitions(DRY_RUN)
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} DRY_RUN)
endif()
if(RANDO_DEBUG)
add_compile_definitions(RANDO_DEBUG)
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} RANDO_DEBUG)
endif()
if(LOGIC_TESTS)
message("Configuring for Logic Tests")
add_compile_definitions(LOGIC_TESTS)
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} LOGIC_TESTS)
if(TEST_COUNT)
message("Test Count: " ${TEST_COUNT})
add_compile_definitions(TEST_COUNT=${TEST_COUNT})
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} TEST_COUNT=${TEST_COUNT})
endif()
add_compile_definitions(SETTINGS_PATH="${RANDO_SAVE_PATH}randomizer_settings.yaml.test" PREFERENCES_PATH="${RANDO_SAVE_PATH}randomizer_preferences.yaml.test")
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} SETTINGS_PATH="${RANDO_SAVE_PATH}randomizer_settings.yaml.test" PREFERENCES_PATH="${RANDO_SAVE_PATH}randomizer_preferences.yaml.test")
else()
add_compile_definitions(SETTINGS_PATH="${RANDO_SAVE_PATH}randomizer_settings.yaml" PREFERENCES_PATH="${RANDO_SAVE_PATH}randomizer_preferences.yaml")
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} SETTINGS_PATH="${RANDO_SAVE_PATH}randomizer_settings.yaml" PREFERENCES_PATH="${RANDO_SAVE_PATH}randomizer_preferences.yaml")
endif()
string(LENGTH "${CMAKE_SOURCE_DIR}/" SOURCE_PATH_SIZE)
add_compile_definitions(SOURCE_PATH_SIZE=${SOURCE_PATH_SIZE})
# Put data files together for easier manipulation
file(COPY "./data/" DESTINATION "${CMAKE_BINARY_DIR}/randomizer/data/" REGEX "^.*example.*$" EXCLUDE) # World, macros, and location info
message(STATUS "randomizer: Fetching yaml-cpp")
FetchContent_Declare(
yaml-cpp
@@ -72,6 +66,12 @@ FetchContent_Declare(
)
FetchContent_MakeAvailable(zlib-ng)
file(GLOB_RECURSE CODE_SOURCES CONFIGURE_DEPENDS "*.cpp" "*.hpp")
add_library(randomizer OBJECT ${CODE_SOURCES})
target_link_libraries(randomizer yaml-cpp::yaml-cpp zlib base64pp)
string(LENGTH "${CMAKE_SOURCE_DIR}/" SOURCE_PATH_SIZE)
set(GAME_COMPILE_DEFS ${GAME_COMPILE_DEFS} SOURCE_PATH_SIZE=${SOURCE_PATH_SIZE})
set(GAME_LIBS ${GAME_LIBS} yaml-cpp::yaml-cpp zlib base64pp)
# Put data files together for easier manipulation
file(COPY "${CMAKE_SOURCE_DIR}/src/dusk/randomizer/data/" DESTINATION "${CMAKE_BINARY_DIR}/randomizer/data/" REGEX "^.*example.*$" EXCLUDE) # World, macros, and location info