Browse Source

Merge branch '4.2' of https://github.com/esotericsoftware/spine-runtimes into 4.2

badlogic 1 year ago
parent
commit
8cd490c398

+ 0 - 57
CMakeLists.txt

@@ -1,57 +0,0 @@
-cmake_minimum_required(VERSION 3.17)
-project(spine)
-
-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)
-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")
-	set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
-	set (CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}")
-else()
-	set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wunused-value -Wno-variadic-macros -Wextra -pedantic -Wshadow -std=c99")
-	set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wunused-value -Wno-variadic-macros -Wextra -Wnon-virtual-dtor -pedantic -Wshadow -std=c++11 -fno-exceptions -fno-rtti")
-
-	if (${SPINE_SANITIZE})
-		set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fsanitize=undefined")
-		set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fsanitize=undefined")
-	endif()
-endif()
-
-if((${SPINE_SFML}) OR (${CMAKE_CURRENT_BINARY_DIR} MATCHES "spine-sfml"))
-	if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-		set(CMAKE_OSX_ARCHITECTURES x86_64)
-		set(ONLY_ACTIVE_ARCH NO)
-	endif()
-	add_subdirectory(spine-c)
-	add_subdirectory(spine-cpp)
-	add_subdirectory(spine-sfml/c)
-	add_subdirectory(spine-sfml/cpp)
-elseif((${SPINE_SDL}) OR (${CMAKE_CURRENT_BINARY_DIR} MATCHES "spine-sdl"))
-	if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-		set(CMAKE_OSX_ARCHITECTURES x86_64;arm64)
-		set(ONLY_ACTIVE_ARCH NO)
-	endif()
-	add_subdirectory(spine-c)
-	add_subdirectory(spine-cpp)
-	add_subdirectory(spine-sdl)
-elseif((${SPINE_GLFW}) OR (${CMAKE_CURRENT_BINARY_DIR} MATCHES "spine-glfw"))
-	add_subdirectory(spine-cpp)
-	add_subdirectory(spine-glfw)
-else()
-	add_subdirectory(spine-c)
-	add_subdirectory(spine-cpp)
-	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)

+ 7 - 1
spine-c/CMakeLists.txt

@@ -1,8 +1,14 @@
+cmake_minimum_required(VERSION 3.10)
+project(spine-c)
+
+include(${CMAKE_CURRENT_LIST_DIR}/../flags.cmake)
+
 include_directories(include)
 file(GLOB INCLUDES "spine-c/include/**/*.h")
-file(GLOB SOURCES "spine-c/src/**/*.c" "spine-c/src/**/*.cpp")
+file(GLOB SOURCES "spine-c/src/**/*.c")
 
 add_library(spine-c STATIC ${SOURCES} ${INCLUDES})
 target_include_directories(spine-c PUBLIC spine-c/include)
+
 install(TARGETS spine-c DESTINATION dist/lib)
 install(FILES ${INCLUDES} DESTINATION dist/include)

+ 1 - 1
spine-cpp/CMakeLists.txt

@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.10)
 project(spine-cpp)
 
-include(${CMAKE_SOURCE_DIR}/../flags.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/../flags.cmake)
 
 include_directories(include)
 file(GLOB INCLUDES "spine-cpp/include/**/*.h")

+ 14 - 10
spine-sdl/CMakeLists.txt

@@ -1,34 +1,38 @@
-if(MSVC)
-	message("MSCV detected")
-	set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
-	set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
-else()
-	message("${CMAKE_C_FLAGS}")
-	message("${CMAKE_CXX_FLAGS}")
-	set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic -Wno-unused-parameter -std=c99")
-	set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wnon-virtual-dtor -pedantic -Wno-unused-parameter -std=c++11 -fno-exceptions -fno-rtti")
-endif()
+cmake_minimum_required(VERSION 3.10)
+project(spine-sdl)
 
+# Default flags
+include(${CMAKE_SOURCE_DIR}/../flags.cmake)
+
+# Add spine-cpp and spine-c
+add_subdirectory(${CMAKE_SOURCE_DIR}/../spine-cpp ${CMAKE_BINARY_DIR}/spine-cpp-build)
+add_subdirectory(${CMAKE_SOURCE_DIR}/../spine-c ${CMAKE_BINARY_DIR}/spine-c)
+
+# SDL
 include(FetchContent)
 FetchContent_Declare(SDL GIT_REPOSITORY https://github.com/libsdl-org/SDL GIT_TAG release-2.30.2)
 FetchContent_MakeAvailable(SDL)
 
 include_directories(src)
 
+# spine-sdl-c library
 add_library(spine-sdl-c STATIC src/spine-sdl-c.c src/spine-sdl-c.h src/stb_image.h)
 target_link_libraries(spine-sdl-c LINK_PUBLIC SDL2-static spine-c)
 install(TARGETS spine-sdl-c DESTINATION dist/lib)
 install(FILES src/spine-sdl-c.h src/stb_image.h DESTINATION dist/include)
 
+# spine-sdl-cpp library
 add_library(spine-sdl-cpp STATIC src/spine-sdl-cpp.cpp src/spine-sdl-cpp.h src/stb_image.h)
 target_link_libraries(spine-sdl-cpp LINK_PUBLIC SDL2-static spine-cpp)
 install(TARGETS spine-sdl-cpp DESTINATION dist/lib)
 install(FILES src/spine-sdl-cpp.h src/stb_image.h DESTINATION dist/include)
 
+# Example (spine-sdl-c)
 add_executable(spine-sdl-c-example example/main.c)
 target_link_libraries(spine-sdl-c-example SDL2-static spine-sdl-c)
 set_property(TARGET spine-sdl-c-example PROPERTY VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/spine-sdl")
 
+# Example (spine-sdl-cpp)
 add_executable(spine-sdl-cpp-example example/main.cpp)
 target_link_libraries(spine-sdl-cpp-example SDL2-static spine-sdl-cpp)
 set_property(TARGET spine-sdl-cpp-example PROPERTY VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/spine-sdl")

+ 8 - 0
spine-sfml/c/CMakeLists.txt

@@ -1,3 +1,8 @@
+cmake_minimum_required(VERSION 3.10)
+project(spine-sfml)
+
+# Default flags
+include(${CMAKE_CURRENT_LIST_DIR}/../../flags.cmake)
 #
 # First download and extract SFML 2.5.1 for the respective OS we are on
 #
@@ -44,6 +49,9 @@ else()
 	endif()
 endif()
 
+# Add spine-c
+add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/../../spine-c ${CMAKE_BINARY_DIR}/spine-c-build)
+
 # Define spine-sfml library
 include_directories(src ${SFML_DIR}/include)
 file(GLOB INCLUDES "src/**/*.h")

+ 8 - 8
spine-sfml/cpp/CMakeLists.txt

@@ -1,3 +1,9 @@
+cmake_minimum_required(VERSION 3.10)
+project(spine-sfml)
+
+# Default flags
+include(${CMAKE_CURRENT_LIST_DIR}/../../flags.cmake)
+
 #
 # First download and extract SFML 2.6.1 for the respective OS we are on
 #
@@ -44,14 +50,8 @@ else()
 	endif()
 endif()
 
-if(MSVC)
-	message("MSCV detected")
-	set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
-	set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
-else()
-	set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic -std=c99")
-	set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wnon-virtual-dtor -pedantic -std=c++11 -fno-exceptions -fno-rtti")
-endif()
+# Add spine-cpp
+add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/../../spine-cpp ${CMAKE_BINARY_DIR}/spine-cpp-build)
 
 # Define spine-sfml-cpp library
 include_directories(src ${SFML_DIR}/include)