77 lines
1.8 KiB
CMake
77 lines
1.8 KiB
CMake
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()
|