Я хочу связать физическую платформу Chipmunk2D с SDL через CMake.
У меня есть следующая структура проекта:
MyProject
-chipmunk:
--include
--demo:
---CMakeList.txt
--src:
---CMakeList.txt
--CMakeList.txt
-src:
--main.cpp
-CMakeLists.txt
Я прочитал о статических и общих библиотеках и решил, что хочу использовать статическую библиотеку, поэтому я зашел в папку chipmunk и запустил cmake.
1. Первый файл CMakeList устанавливает параметры:
message(STATUS "Set BUILD_STATIC option ON")
option(BUILD_SHARED "Build and install the shared library" ON)
option(BUILD_STATIC "Build as static library" ON)
option(INSTALL_STATIC "Install the static library" ON)
и после этого:
add_subdirectory(src)
CMakeList.txt из src входит в действие:
<code>
if(BUILD_STATIC)
message(STATUS "BUILDING chipmunk_static")
add_library(chipmunk_static STATIC ${chipmunk_source_files})
set_target_properties(chipmunk_static PROPERTIES OUTPUT_NAME chipmunk)
if(INSTALL_STATIC)
message(STATUS "INSTALL chipmunk_static ${LIB_INSTALL_DIR}")
install(TARGETS chipmunk_static ARCHIVE DESTINATION {LIB_INSTALL_DIR})
endif(INSTALL_STATIC)
endif(BUILD_STATIC)
В демо-папке CmakeFile выполняет следующие действия:
<code>
set(chipmunk_demos_libraries
chipmunk_static
${GLEW_LIBRARIES}
${OPENGL_LIBRARIES}
)
S0 мои вопросы:
- Нужно ли запускать Make-файлы из библиотек бурундука только один раз, чтобы я мог собрать статическую библиотеку?
- После того, как я включил CMakefile из chipmunk в мой Cmakefile, кажется, что он не может найти статическую библиотеку ( Кстати, я нахожусь в Linux )
- Если у меня есть статическая библиотека, могу ли я удалить весь контент src из бурундука и оставить только заголовки?
Моя попытка найти статическую библиотеку бурундука безуспешно :
<code>
add_subdirectory(chipmunk)
find_package(SDL2 REQUIRED)
find_library(CHIPMUNK_LIB chipmunk_static)
message(${CHIPMUNK_LIB})