tinycv
Version:
Camera tiny control library
49 lines (41 loc) • 1.22 kB
Plain Text
cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
PROJECT(tinycv)
option(WITH_DEMO "Whether to start demo? ON/OFF" OFF)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(THIRD_PARTY "${PROJECT_SOURCE_DIR}/third_party")
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "_CMakePredefinedTargets")
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
add_definitions(-DOS_LINUX)
set(OS_LINUX 1)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
add_definitions(-DOS_MAC)
set(OS_MAC 1)
set(OS_MACOSX 1)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
add_definitions(-DOS_WIN)
set(OS_WIN 1)
endif()
if(CMAKE_BUILD_TYPE STREQUAL "Release")
add_definitions(-DNODEBUG)
else()
add_definitions(-DDEBUG)
endif()
if(OS_WIN)
set(CMAKE_CXX_FLAGS_RELEASE "/MD")
set(CMAKE_CXX_FLAGS_DEBUG "/MDd")
endif()
include_directories(${THIRD_PARTY}/libyuv/include)
include_directories(${THIRD_PARTY}/mlog)
include_directories(${THIRD_PARTY}/libjpeg-turbo/)
include_directories(${PROJECT_SOURCE}/src)
add_subdirectory(third_party/libjpeg-turbo)
add_subdirectory(third_party/libyuv)
add_subdirectory(src)
if(WITH_DEMO)
add_subdirectory(demo)
endif()