# SPlisHSPlasH 2.17.0 (MIT) — fikatia vendor hedefi (SPH akışkan dolum çekirdeği). # Yalın STATIC hedef: yalnız çekirdek SPH lib + CompactNSearch (MIT) + Discregrid (MIT) # + GenericParameters (MIT) + Eigen (MPL2, EIGEN_MPL2_ONLY). GUI/Simulator/Partio/ # CUDA/Python katmanları vendorlanmadı. Kırpılanlar: SceneLoader/MeshImport/ # örnekleme yardımcıları (json bağımlılığı) + USE_THIRD_PARTY_METHODS kaynakları. file(GLOB_RECURSE SPH_KAYNAK SPlisHSPlasH/*.cpp) add_library(splishsplash STATIC ${SPH_KAYNAK} CompactNSearch/src/CompactNSearch.cpp Discregrid/src/cubic_lagrange_discrete_grid.cpp Discregrid/src/discrete_grid.cpp Discregrid/src/mesh/entity_containers.cpp Discregrid/src/mesh/entity_iterators.cpp Discregrid/src/mesh/triangle_mesh.cpp Discregrid/src/utility/timing.cpp extern/tinyexpr/tinyexpr.c extern/md5/md5.cpp ) add_library(fiko::splishsplash ALIAS splishsplash) target_include_directories(splishsplash SYSTEM PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/extern/eigen ${CMAKE_CURRENT_SOURCE_DIR}/CompactNSearch/include ${CMAKE_CURRENT_SOURCE_DIR}/Discregrid/include ${CMAKE_CURRENT_SOURCE_DIR}/GenericParameters/include ) target_include_directories(splishsplash PRIVATE Discregrid/src Discregrid/include/Discregrid ) target_compile_definitions(splishsplash PUBLIC EIGEN_MPL2_ONLY) target_compile_definitions(splishsplash PRIVATE _CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS) # Vendor kod C++17 hedefler (üst proje C++23; eski std kullanımına dokunma). set_target_properties(splishsplash PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON) find_package(OpenMP QUIET) if(OpenMP_CXX_FOUND) target_link_libraries(splishsplash PUBLIC OpenMP::OpenMP_CXX) endif() if(MSVC) # Vendor kod: proje geneli /W4 uyarıları bastır. target_compile_options(splishsplash PRIVATE /W0) endif()