set(IMGUI_DIZIN ${CMAKE_SOURCE_DIR}/ucuncu_taraf/imgui) add_library(fiko_ui STATIC src/dinamik_doku.cpp src/imgui_katman.cpp src/komut.cpp src/komut_paleti.cpp src/tema.cpp src/pencere_cerceve.cpp src/form.cpp src/agac_simge_kayit.cpp src/animasyon.cpp src/bilesen.cpp src/bilesen_cad.cpp src/bilesen_cadcam.cpp src/agac_gorunum.cpp src/arac_cubugu.cpp src/serit_cubugu.cpp src/hover_bilgi.cpp src/bilesen_ek.cpp src/efekt.cpp src/galeri.cpp src/radyal_menu.cpp src/isaret_menu.cpp src/arac_halkasi.cpp src/zaman_tarayici.cpp src/kesit_tarayici.cpp src/seffaf_pencere.cpp src/simge.cpp src/web_skin.cpp ${IMGUI_DIZIN}/imgui.cpp ${IMGUI_DIZIN}/imgui_draw.cpp ${IMGUI_DIZIN}/imgui_tables.cpp ${IMGUI_DIZIN}/imgui_widgets.cpp ${IMGUI_DIZIN}/backends/imgui_impl_win32.cpp ${IMGUI_DIZIN}/backends/imgui_impl_vulkan.cpp ${IMGUI_DIZIN}/misc/freetype/imgui_freetype.cpp # renkli emoji (COLR/CPAL) yükleyici ) add_library(fiko::ui ALIAS fiko_ui) target_include_directories(fiko_ui PUBLIC include ${IMGUI_DIZIN} ${IMGUI_DIZIN}/backends PRIVATE ${CMAKE_SOURCE_DIR}/ucuncu_taraf/nanosvg ${CMAKE_SOURCE_DIR}/ucuncu_taraf/vma "${FIKO_VCPKG}/include") target_link_libraries(fiko_ui PUBLIC fiko::platform fiko::render fiko::cekirdek PRIVATE fiko::sahne "${FIKO_VULKAN_SDK}/Lib/vulkan-1.lib" windowscodecs ole32 d3d11 dxgi dcomp "${FIKO_VCPKG}/lib/freetype.lib") # Onceden derlenmis basliklar (PCH): stabil STL seti + core/temel.hpp tek sefer # derlenir → fiko_ui'nin cok sayida TU'sunda tekrar parse edilmez. target_precompile_headers(fiko_ui PRIVATE "${CMAKE_SOURCE_DIR}/motor/core/include/fiko/core/temel.hpp") if(MSVC) set_source_files_properties( ${IMGUI_DIZIN}/imgui.cpp ${IMGUI_DIZIN}/imgui_draw.cpp ${IMGUI_DIZIN}/imgui_tables.cpp ${IMGUI_DIZIN}/imgui_widgets.cpp ${IMGUI_DIZIN}/backends/imgui_impl_win32.cpp ${IMGUI_DIZIN}/backends/imgui_impl_vulkan.cpp ${IMGUI_DIZIN}/misc/freetype/imgui_freetype.cpp PROPERTIES COMPILE_OPTIONS "/W2") endif() # Komut paleti bulanik-arama testi — komut.cpp ImGui/Vulkan'siz derlenir, # yalniz fiko::core baglanir (lean test, tum ui kutuphanesini cekmez). add_executable(fiko_ui_test test/test_main.cpp test/test_komut.cpp test/test_fiko_universal_arama.cpp src/komut.cpp ) target_include_directories(fiko_ui_test PRIVATE include ${CMAKE_SOURCE_DIR}/motor/core/test) target_link_libraries(fiko_ui_test PRIVATE fiko::core) add_test(NAME ui COMMAND fiko_ui_test)