cmake_minimum_required(VERSION 3.26) set(PROJECT_N mp) project(${PROJECT_N} VERSION 1.0) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) include_directories(${PROJECT_SOURCE_DIR}/include) file(GLOB_RECURSE srcs ${PROJECT_SOURCE_DIR}/src/*.cc) find_package(SDL2 REQUIRED) IF(UNIX) include_directories(/usr/include/x86_64-linux-gnu) set(GLAD_DIR /home/jie/documents/third/glad) set(GLM_DIR /home/jie/documents/third/glm) include_directories(${GLAD_DIR}/include) include_directories(${GLM_DIR}) add_executable(${PROJECT_N} main.cc ${GLAD_DIR}/src/glad.c ${srcs} ) target_link_libraries(${PROJECT_N} ${SDL2_LIBRARIES} SDL2_image OpenGL avcodec avformat vorbis avutil ) ELSE(WIN32) set(CMAKE_PREFIX_PATH C:/document/lib/) set(THIRD_LIB_DIR C:/document/lib/) #vcpkg set(VCPKG_PACKAGE C:/document/lib/vcpkg/packages) set(VCPKG_BUILDTREES_DIR C:/document/lib/vcpkg/buildtrees) set(VCPKG_INSTALLED C:/document/lib/vcpkg/installed/x64-windows) #opengl find_package(OpenGL) #SDL2 find_package(SDL2_image) #rangev3 include_directories(${VCPKG_PACKAGE}/range-v3_x64-windows/include) #ffmpeg include_directories(${VCPKG_PACKAGE}/ffmpeg_x64-windows/include) file(GLOB_RECURSE FFMPEG_LIBS ${VCPKG_PACKAGE}/ffmpeg_x64-windows/debug/lib/*.lib) #glad include_directories(${THIRD_LIB_DIR}/glad/include) set(GLAD_SRCS ${THIRD_LIB_DIR}/glad/src/glad.c) #glm include_directories(${THIRD_LIB_DIR}/glm) #opencv include_directories(${THIRD_LIB_DIR}/opencv/opencv/build/include) link_directories(E:/dependency/lib) set(OpenCV_LIBS opencv_world460d.lib ) add_executable(${PROJECT_N} ${srcs} main.cc ${GLAD_SRCS} ) target_include_directories(${PROJECT_N} PUBLIC include) target_link_libraries(${PROJECT_N} ${SDL2_LIBRARIES} ${FFMPEG_LIBS} ${OpenCV_LIBS} OpenGL32 ) ENDIF()