ImAnim
ImAnim copied to clipboard
Cmake
cmake_minimum_required(VERSION 3.0.0) project(ImAnim VERSION 1.0.0)
Specify the C++ standard
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True)
set(GLFW_DIR 3rdParty/glfw) # Set this to point to an up-to-date GLFW repo option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" OFF) option(GLFW_BUILD_TESTS "Build the GLFW test programs" OFF) option(GLFW_BUILD_DOCS "Build the GLFW documentation" OFF) option(GLFW_INSTALL "Generate installation target" OFF) option(GLFW_DOCUMENT_INTERNALS "Include internals in documentation" OFF) add_subdirectory(${GLFW_DIR} binary_dir)
Include directories
include_directories( 3rdParty/GLFW/include ${CMAKE_SOURCE_DIR}/imgui )
Source files
set(SOURCES src/AbstractAnimation.cpp src/AnimationGroup.cpp src/Easing.cpp src/EasingCurve.cpp src/imgui/imgui.cpp src/imgui/imgui_demo.cpp src/imgui/imgui_draw.cpp src/imgui/imgui_impl_glfw.cpp src/imgui/imgui_impl_opengl3.cpp src/imgui/imgui_tables.cpp src/imgui/imgui_widgets.cpp src/ImVec2Anim.cpp src/ImVec4Anim.cpp src/main.cpp src/SequentialAnimationGroup.cpp src/Utils.cpp )
Header files
set(HEADERS src/AbstractAnimation.h src/AnimationGroup.h src/Easing.h src/EasingCurve.h src/imgui/imconfig.h src/imgui/imgui.h src/imgui/imgui_impl_glfw.h src/imgui/imgui_impl_opengl3.h src/imgui/imgui_impl_opengl3_loader.h src/imgui/imgui_internal.h src/imgui/imstb_rectpack.h src/imgui/imstb_textedit.h src/imgui/imstb_truetype.h src/ImVec2Anim.h src/ImVec4Anim.h src/SequentialAnimationGroup.h src/Utils.h )
Add executable
add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS})
Find and link libraries
find_package(OpenGL REQUIRED) target_link_libraries(${PROJECT_NAME} OpenGL::GL) target_include_directories(${PROJECT_NAME} PUBLIC ${OPENGL_INCLUDE_DIR}) target_link_libraries(${PROJECT_NAME} glfw)
target_include_directories(${PROJECT_NAME} PUBLIC src/imgui)
Here is my cmake list. you need to manually clone the glfw lib into 3rdparty/glfw