# fikatia_cekirdek — CATIA COM otomasyon kutuphanesi (FikatiaV2024 portunun cekirdegi). # Motor'a ve UI'ya SIFIR bagimlilik: yalniz Windows COM. Baska her hedef (fikocad, # eklenti DLL'leri, testler) fiko::catia ile dogrudan linkleyebilir. add_library(fikatia_cekirdek STATIC com/fikom_nesne.cpp com/fikatia_uygulama.cpp com/fikom_sunucu.cpp com/model/belge_modeli.cpp com/model/imalat_modeli.cpp com/model/sahne_modeli.cpp com/model/aci_modeli.cpp sistem/fiko_sistem.cpp post/fiko_post.cpp ) add_library(fiko::catia ALIAS fikatia_cekirdek) target_include_directories(fikatia_cekirdek PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_link_libraries(fikatia_cekirdek PUBLIC ole32 oleaut32 uuid) # FikoPost cekirdegi testi (CATIA'siz saf mantik — APT→NC, tezgah profilleri, NC-DB) add_executable(fikatia_post_test test/test_main.cpp test/test_post.cpp ) target_include_directories(fikatia_post_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/motor/core/test) target_link_libraries(fikatia_post_test PRIVATE fiko::catia) add_test(NAME fikatia_post COMMAND fikatia_post_test) # Fikatia — CATIA otomasyon istemcisi. Motorun platform/render/ui katmanlarini # paylasan bagimsiz exe (FikatiaV2024 Python cercevesinin native C++ portu). add_executable(fikatia WIN32 main.cpp ana_panel.cpp post_paneli.cpp ) target_link_libraries(fikatia PRIVATE fiko::catia fiko::core fiko::platform fiko::render fiko::ui comdlg32) target_precompile_headers(fikatia PRIVATE "${CMAKE_SOURCE_DIR}/motor/core/include/fiko/core/temel.hpp") # FikoUi calisma zamani shader'lari (ImGuiKatman/Efektler exe yanindaki shader/ okur) set(GLSLC "${FIKO_VULKAN_SDK}/Bin/glslc.exe") set(SHADER_KAYNAK ${CMAKE_SOURCE_DIR}/motor/render/shader) set(SHADER_CIKTI ${CMAKE_CURRENT_BINARY_DIR}/shader) file(MAKE_DIRECTORY ${SHADER_CIKTI}) set(FIKATIA_SPV "") foreach(S fikoui.vert fikoui_glow.frag fikoui_aurora.frag) add_custom_command( OUTPUT ${SHADER_CIKTI}/${S}.spv COMMAND ${GLSLC} ${SHADER_KAYNAK}/${S} -O -o ${SHADER_CIKTI}/${S}.spv DEPENDS ${SHADER_KAYNAK}/${S} COMMENT "SPIR-V derleniyor (fikatia): ${S}") list(APPEND FIKATIA_SPV ${SHADER_CIKTI}/${S}.spv) endforeach() add_custom_target(fikatia_shaderler DEPENDS ${FIKATIA_SPV}) add_dependencies(fikatia fikatia_shaderler) # fiko::ui, fiko::sahne uzerinden OCCT'ye baglanir → calisma zamani DLL'leri exe yanina add_custom_command(TARGET fikatia POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different "${FIKO_VCPKG}/bin" "$" COMMENT "OCCT DLL'leri kopyalaniyor (fikatia)")