spine-runtimes/spine-c-new/CMakeLists.txt

43 lines
1.1 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(spine-c-new C CXX)
set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 11)
# Include spine-cpp
add_subdirectory(../spine-cpp ${CMAKE_CURRENT_BINARY_DIR}/spine-cpp)
# Collect all source files
file(GLOB SOURCES
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.c"
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp"
)
file(GLOB GENERATED_SOURCES
"${CMAKE_CURRENT_SOURCE_DIR}/src/generated/*.cpp"
)
list(APPEND SOURCES ${GENERATED_SOURCES})
# Create the library
add_library(spine-c-new STATIC ${SOURCES})
# Include directories
target_include_directories(spine-c-new PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/src
)
# Link with spine-cpp
target_link_libraries(spine-c-new PRIVATE spine-cpp)
# Add spine-cpp include directories
target_include_directories(spine-c-new PRIVATE
../spine-cpp/spine-cpp/include
)
# Export compile commands for better IDE support
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# Create test executable
add_executable(spine-c-test test/test.c)
target_link_libraries(spine-c-test spine-c-new)
target_include_directories(spine-c-test PRIVATE include)