@@ -43,17 +43,36 @@ add_subdirectory(${REPO_ROOT_DIR}/components/miniz ${CMAKE_CURRENT_BINARY_DIR}/m
4343
4444add_subdirectory (${REPO_ROOT_DIR} /components/Adafruit-GFX-Library ${CMAKE_CURRENT_BINARY_DIR} /Adafruit-GFX-Library)
4545
46+ # Compile configs to have libraries use our esp-idf stubs
47+ add_library (stubs_config INTERFACE )
48+ target_compile_definitions (stubs_config INTERFACE
49+ CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=1
50+ CONFIG_LOG_MAXIMUM_LEVEL=4
51+ ESP_PLATFORM=1
52+ )
53+ target_include_directories (stubs_config INTERFACE ${REPO_ROOT_DIR} /lib/Simulator/stubs/esp-idf)
54+
4655add_subdirectory ("${REPO_ROOT_DIR} /components/cpp-misc/defer" ${CMAKE_CURRENT_BINARY_DIR} /defer)
4756
4857add_subdirectory ("${REPO_ROOT_DIR} /components/cpp-misc/spiram-cpp" ${CMAKE_CURRENT_BINARY_DIR} /spiram-cpp)
49- # Have spiram-cpp use our esp-idf stubs
50- target_include_directories (spiram-cpp PUBLIC ${REPO_ROOT_DIR} /lib/Simulator/stubs/esp-idf)
51- target_compile_definitions (spiram-cpp PUBLIC ESP_PLATFORM=1)
58+ target_link_libraries (spiram-cpp PUBLIC stubs_config)
5259
5360add_subdirectory ("${REPO_ROOT_DIR} /components/cpp-misc/stringutil" ${CMAKE_CURRENT_BINARY_DIR} /stringutil)
5461
62+ add_subdirectory ("${REPO_ROOT_DIR} /components/cpp-misc/bmpimage" ${CMAKE_CURRENT_BINARY_DIR} /bmpimage)
63+ target_link_libraries (bmpimage PUBLIC stubs_config)
64+
65+ add_subdirectory ("${REPO_ROOT_DIR} /components/cpp-misc/unzipper" ${CMAKE_CURRENT_BINARY_DIR} /unzipper)
66+ target_link_libraries (unzipper PUBLIC stubs_config)
67+
68+ add_subdirectory ("${REPO_ROOT_DIR} /components/cpp-misc/idflog" ${CMAKE_CURRENT_BINARY_DIR} /idflog)
69+
5570add_subdirectory (${REPO_ROOT_DIR} /components/tiny-font ${CMAKE_CURRENT_BINARY_DIR} /tiny-font)
5671
72+ add_subdirectory (${REPO_ROOT_DIR} /components/tiny-epub/epubfile ${CMAKE_CURRENT_BINARY_DIR} /epubfile)
73+
74+ add_subdirectory (${REPO_ROOT_DIR} /components/tiny-epub/renderer ${CMAKE_CURRENT_BINARY_DIR} /renderer)
75+
5776# Conditionally link freetype if we're using 8-bit or 16-bit display
5877if (DISPLAY_TYPE STREQUAL "DISPLAY_SIM_24BIT" OR DISPLAY_TYPE STREQUAL "DISPLAY_SIM_16BIT" OR DISPLAY_TYPE STREQUAL "DISPLAY_SIM_8BIT" )
5978 # Set FreeType options before adding the subdirectory
@@ -67,11 +86,19 @@ if(DISPLAY_TYPE STREQUAL "DISPLAY_SIM_24BIT" OR DISPLAY_TYPE STREQUAL "DISPLAY_S
6786 CONFIG_TINYFONT_IBMF=0
6887 CONFIG_TINYFONT_DISPLAY_DPI=${TTF_SCREEN_RES_PER_INCH}
6988 )
89+ target_compile_definitions (renderer PRIVATE
90+ CONFIG_EPUB_RENDERER_REPLACE_SUPERSUBSCRIPT_CHARACTERS=0
91+ CONFIG_EPUB_RENDERER_NATIVE_SUPERSUBSCRIPT_CHARACTERS=1
92+ )
7093else ()
7194 target_compile_definitions (tiny-font PUBLIC
7295 CONFIG_TINYFONT_TTF=0
7396 CONFIG_TINYFONT_IBMF=1
7497 )
98+ target_compile_definitions (renderer PRIVATE
99+ CONFIG_EPUB_RENDERER_REPLACE_SUPERSUBSCRIPT_CHARACTERS=1
100+ CONFIG_EPUB_RENDERER_NATIVE_SUPERSUBSCRIPT_CHARACTERS=0
101+ )
75102endif ()
76103
77104add_subdirectory (${REPO_ROOT_DIR} /lib/esp_ringbuf ${CMAKE_CURRENT_BINARY_DIR} /esp_ringbuf)
@@ -90,7 +117,16 @@ endif()
90117
91118add_library (${PROJECT_NAME} STATIC ${SOURCES} ${HTTP_CLIENT_SOURCE} )
92119
93- target_link_libraries (${PROJECT_NAME} PUBLIC pugixml ArduinoJson miniz astubs esp-idf-stubs nvs_flash Adafruit-GFX-Library tiny-font mbedtls mbedx509 mbedcrypto esp_ringbuf defer spiram-cpp stringutil)
120+ target_link_libraries (${PROJECT_NAME} PUBLIC ArduinoJson miniz astubs esp-idf-stubs nvs_flash Adafruit-GFX-Library tiny-font mbedtls mbedx509 mbedcrypto esp_ringbuf defer spiram-cpp stringutil epubfile renderer)
121+
122+ target_compile_definitions (renderer PUBLIC
123+ CONFIG_EPUB_RENDERER_MAX_BYTES_PER_PARAGRAPH=5003
124+ CONFIG_EPUB_RENDERER_MAX_BYTES_PER_DISPLAY_PAGE=2400
125+ CONFIG_EPUB_RENDERER_CSTR_POOL_SIZE=2000
126+ CONFIG_EPUB_RENDERER_TOKENS_SIZE=500
127+ CONFIG_EPUB_RENDERER_MAX_BYTES_PER_LINE=200
128+ CONFIG_EPUB_RENDERER_LINES_SIZE=36
129+ )
94130
95131target_include_directories (${PROJECT_NAME} PUBLIC
96132 "${REPO_ROOT_DIR} /src"
0 commit comments