diff --git a/CMakeLists.txt b/CMakeLists.txt index ade4ba6e8..02009e22f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,8 +5,9 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR} CACHE PATH "Install location" FORCE) endif() set(CMAKE_VERBOSE_MAKEFILE ON) -set(SPINE_SFML FALSE CACHE BOOL FALSE) -set(SPINE_SANITIZE FALSE CACHE BOOL FALSE) +option(SPINE_SFML "Build spine SFML API" OFF) +option(SPINE_SANITIZE "Build with sanitization" OFF) +option(BUILD_TESTING "Build with testing" ON) if(MSVC) message("MSCV detected") @@ -42,5 +43,12 @@ elseif((${SPINE_SDL}) OR (${CMAKE_CURRENT_BINARY_DIR} MATCHES "spine-sdl")) else() add_subdirectory(spine-c) add_subdirectory(spine-cpp) - add_subdirectory(spine-cpp/spine-cpp-unit-tests) -endif() \ No newline at end of file + if (${BUILD_TESTING}) + add_subdirectory(spine-cpp/spine-cpp-unit-tests) + endif() +endif() + +# Create config file that include the exported targets +configure_file(SpineConfig.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/SpineConfig.cmake" + @ONLY) \ No newline at end of file diff --git a/SpineConfig.cmake.in b/SpineConfig.cmake.in new file mode 100644 index 000000000..601b05bfe --- /dev/null +++ b/SpineConfig.cmake.in @@ -0,0 +1 @@ +include("@CMAKE_CURRENT_BINARY_DIR@/spine-cpp/spine-cppTargets.cmake") \ No newline at end of file diff --git a/spine-cpp/CMakeLists.txt b/spine-cpp/CMakeLists.txt index e008c339e..96e5a7acb 100644 --- a/spine-cpp/CMakeLists.txt +++ b/spine-cpp/CMakeLists.txt @@ -13,5 +13,13 @@ file(GLOB SOURCES "spine-cpp/src/**/*.cpp") add_library(spine-cpp STATIC ${SOURCES} ${INCLUDES}) target_include_directories(spine-cpp PUBLIC spine-cpp/include) -install(TARGETS spine-cpp DESTINATION dist/lib) -install(FILES ${INCLUDES} DESTINATION dist/include) \ No newline at end of file + +# Install target +install(TARGETS spine-cpp EXPORT spine-cpp_TARGETS DESTINATION dist/lib) +install(FILES ${INCLUDES} DESTINATION dist/include) + +# Export target +export( + EXPORT spine-cpp_TARGETS + FILE ${CMAKE_CURRENT_BINARY_DIR}/spine-cppTargets.cmake + NAMESPACE "Spine::") \ No newline at end of file diff --git a/spine-flutter/example/pubspec.lock b/spine-flutter/example/pubspec.lock index b7470da11..b35f92daa 100644 --- a/spine-flutter/example/pubspec.lock +++ b/spine-flutter/example/pubspec.lock @@ -74,10 +74,10 @@ packages: dependency: transitive description: name: http - sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" + sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" url: "https://pub.dev" source: hosted - version: "0.13.6" + version: "1.1.0" http_parser: dependency: transitive description: diff --git a/spine-flutter/lib/spine_flutter_bindings_generated.dart b/spine-flutter/lib/spine_flutter_bindings_generated.dart index 83519f8b5..4b94680b1 100644 --- a/spine-flutter/lib/spine_flutter_bindings_generated.dart +++ b/spine-flutter/lib/spine_flutter_bindings_generated.dart @@ -9979,87 +9979,87 @@ class SpineFlutterBindings { .asFunction(); } -class spine_skeleton_wrapper extends ffi.Opaque {} +final class spine_skeleton_wrapper extends ffi.Opaque {} -class spine_skeleton_data_wrapper extends ffi.Opaque {} +final class spine_skeleton_data_wrapper extends ffi.Opaque {} -class spine_bone_wrapper extends ffi.Opaque {} +final class spine_bone_wrapper extends ffi.Opaque {} -class spine_bone_data_wrapper extends ffi.Opaque {} +final class spine_bone_data_wrapper extends ffi.Opaque {} -class spine_slot_wrapper extends ffi.Opaque {} +final class spine_slot_wrapper extends ffi.Opaque {} -class spine_slot_data_wrapper extends ffi.Opaque {} +final class spine_slot_data_wrapper extends ffi.Opaque {} -class spine_skin_wrapper extends ffi.Opaque {} +final class spine_skin_wrapper extends ffi.Opaque {} -class spine_attachment_wrapper extends ffi.Opaque {} +final class spine_attachment_wrapper extends ffi.Opaque {} -class spine_region_attachment_wrapper extends ffi.Opaque {} +final class spine_region_attachment_wrapper extends ffi.Opaque {} -class spine_vertex_attachment_wrapper extends ffi.Opaque {} +final class spine_vertex_attachment_wrapper extends ffi.Opaque {} -class spine_mesh_attachment_wrapper extends ffi.Opaque {} +final class spine_mesh_attachment_wrapper extends ffi.Opaque {} -class spine_clipping_attachment_wrapper extends ffi.Opaque {} +final class spine_clipping_attachment_wrapper extends ffi.Opaque {} -class spine_bounding_box_attachment_wrapper extends ffi.Opaque {} +final class spine_bounding_box_attachment_wrapper extends ffi.Opaque {} -class spine_path_attachment_wrapper extends ffi.Opaque {} +final class spine_path_attachment_wrapper extends ffi.Opaque {} -class spine_point_attachment_wrapper extends ffi.Opaque {} +final class spine_point_attachment_wrapper extends ffi.Opaque {} -class spine_texture_region_wrapper extends ffi.Opaque {} +final class spine_texture_region_wrapper extends ffi.Opaque {} -class spine_sequence_wrapper extends ffi.Opaque {} +final class spine_sequence_wrapper extends ffi.Opaque {} -class spine_constraint_wrapper extends ffi.Opaque {} +final class spine_constraint_wrapper extends ffi.Opaque {} -class spine_constraint_data_wrapper extends ffi.Opaque {} +final class spine_constraint_data_wrapper extends ffi.Opaque {} -class spine_ik_constraint_wrapper extends ffi.Opaque {} +final class spine_ik_constraint_wrapper extends ffi.Opaque {} -class spine_ik_constraint_data_wrapper extends ffi.Opaque {} +final class spine_ik_constraint_data_wrapper extends ffi.Opaque {} -class spine_transform_constraint_wrapper extends ffi.Opaque {} +final class spine_transform_constraint_wrapper extends ffi.Opaque {} -class spine_transform_constraint_data_wrapper extends ffi.Opaque {} +final class spine_transform_constraint_data_wrapper extends ffi.Opaque {} -class spine_path_constraint_wrapper extends ffi.Opaque {} +final class spine_path_constraint_wrapper extends ffi.Opaque {} -class spine_path_constraint_data_wrapper extends ffi.Opaque {} +final class spine_path_constraint_data_wrapper extends ffi.Opaque {} -class spine_animation_state_wrapper extends ffi.Opaque {} +final class spine_animation_state_wrapper extends ffi.Opaque {} -class spine_animation_state_data_wrapper extends ffi.Opaque {} +final class spine_animation_state_data_wrapper extends ffi.Opaque {} -class spine_animation_state_events_wrapper extends ffi.Opaque {} +final class spine_animation_state_events_wrapper extends ffi.Opaque {} -class spine_event_wrapper extends ffi.Opaque {} +final class spine_event_wrapper extends ffi.Opaque {} -class spine_event_data_wrapper extends ffi.Opaque {} +final class spine_event_data_wrapper extends ffi.Opaque {} -class spine_track_entry_wrapper extends ffi.Opaque {} +final class spine_track_entry_wrapper extends ffi.Opaque {} -class spine_animation_wrapper extends ffi.Opaque {} +final class spine_animation_wrapper extends ffi.Opaque {} -class spine_atlas_wrapper extends ffi.Opaque {} +final class spine_atlas_wrapper extends ffi.Opaque {} -class spine_skeleton_data_result_wrapper extends ffi.Opaque {} +final class spine_skeleton_data_result_wrapper extends ffi.Opaque {} -class spine_render_command_wrapper extends ffi.Opaque {} +final class spine_render_command_wrapper extends ffi.Opaque {} -class spine_bounds_wrapper extends ffi.Opaque {} +final class spine_bounds_wrapper extends ffi.Opaque {} -class spine_color_wrapper extends ffi.Opaque {} +final class spine_color_wrapper extends ffi.Opaque {} -class spine_vector_wrapper extends ffi.Opaque {} +final class spine_vector_wrapper extends ffi.Opaque {} -class spine_skeleton_drawable_wrapper extends ffi.Opaque {} +final class spine_skeleton_drawable_wrapper extends ffi.Opaque {} -class spine_skin_entry_wrapper extends ffi.Opaque {} +final class spine_skin_entry_wrapper extends ffi.Opaque {} -class spine_skin_entries_wrapper extends ffi.Opaque {} +final class spine_skin_entries_wrapper extends ffi.Opaque {} abstract class spine_blend_mode { static const int SPINE_BLEND_MODE_NORMAL = 0; diff --git a/spine-flutter/pubspec.yaml b/spine-flutter/pubspec.yaml index b6fbf4e49..13a0591fa 100644 --- a/spine-flutter/pubspec.yaml +++ b/spine-flutter/pubspec.yaml @@ -18,12 +18,12 @@ dependencies: inject_js: ^2.0.0 js: ^0.6.5 meta: ^1.8.0 - http: ^0.13.5 + http: ^1.1.0 path: ^1.8.2 raw_image_provider: ^0.2.0 dev_dependencies: - ffigen: ^7.2.6 + ffigen: ^9.0.1 flutter_lints: ^2.0.0 flutter: diff --git a/spine-ue4/Content/GettingStarted/04-basic-controls.umap b/spine-ue4/Content/GettingStarted/04-basic-controls.umap index 232d96185..fc3616e7e 100644 Binary files a/spine-ue4/Content/GettingStarted/04-basic-controls.umap and b/spine-ue4/Content/GettingStarted/04-basic-controls.umap differ diff --git a/spine-ue4/Content/GettingStarted/Blueprints/ControlledSpineboy_Blueprint.uasset b/spine-ue4/Content/GettingStarted/Blueprints/ControlledSpineboy_Blueprint.uasset index 1c32773eb..b0f887525 100644 Binary files a/spine-ue4/Content/GettingStarted/Blueprints/ControlledSpineboy_Blueprint.uasset and b/spine-ue4/Content/GettingStarted/Blueprints/ControlledSpineboy_Blueprint.uasset differ diff --git a/spine-ue4/Content/GettingStarted/Blueprints/Raptor_Blueprint.uasset b/spine-ue4/Content/GettingStarted/Blueprints/Raptor_Blueprint.uasset index c48899ed7..4e1945e45 100644 Binary files a/spine-ue4/Content/GettingStarted/Blueprints/Raptor_Blueprint.uasset and b/spine-ue4/Content/GettingStarted/Blueprints/Raptor_Blueprint.uasset differ