ImAnim icon indicating copy to clipboard operation
ImAnim copied to clipboard

Cmake

Open kasperhbo opened this issue 1 year ago • 0 comments

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

kasperhbo avatar Feb 16 '24 23:02 kasperhbo