50 lines
1.8 KiB
CMake
50 lines
1.8 KiB
CMake
CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
|
|
|
|
PROJECT(AutoAim)
|
|
SET(CMAKE_CXX_STANDARD 11)
|
|
SET(CMAKE_BUILD_TYPE RELEASE)
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DPATH=\"\\\"${PROJECT_SOURCE_DIR}\\\"\"")
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D${CMAKE_SYSTEM_NAME}")
|
|
MESSAGE("${CMAKE_CXX_FLAGS}")
|
|
# Todo
|
|
## 使用编译期固定选项,以略微提升性能。
|
|
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DFIX_OPTIONS")
|
|
## 固定使用相机运行
|
|
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DRUN_WITH_CAMERA")
|
|
|
|
SET(BIN_NAME "run")
|
|
|
|
FIND_PROGRAM(CCACHE_FOUND ccache)
|
|
IF(CCACHE_FOUND)
|
|
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
|
|
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
|
|
MESSAGE("< Use ccache for compiler >")
|
|
ENDIF()
|
|
|
|
FILE(GLOB_RECURSE sourcefiles "others/src/*.cpp" "energy/src/*cpp" "armor/src/*.cpp")
|
|
ADD_EXECUTABLE(${BIN_NAME} main.cpp ${sourcefiles} )
|
|
|
|
IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
MESSAGE(STATUS "current platform: Linux ")
|
|
FIND_PACKAGE(Eigen3 REQUIRED)
|
|
INCLUDE_DIRECTORIES(${EIGEN3_INCLUDE_DIR})
|
|
TARGET_LINK_LIBRARIES(${BIN_NAME} "${PROJECT_SOURCE_DIR}/others/libMVSDK.so")
|
|
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
MESSAGE(STATUS "current platform: Windows")
|
|
INCLUDE_DIRECTORIES("C:/Applications/eigen3")
|
|
TARGET_LINK_LIBRARIES(${BIN_NAME} "${PROJECT_SOURCE_DIR}/others/MVCAMSDK_X64.lib")
|
|
ELSE ()
|
|
MESSAGE(STATUS "Unsupport platform: ${CMAKE_SYSTEM_NAME}")
|
|
ENDIF()
|
|
FIND_PACKAGE(OpenCV 3 REQUIRED)
|
|
FIND_PACKAGE(Threads)
|
|
|
|
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/energy/include)
|
|
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/armor/include)
|
|
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/others/include)
|
|
|
|
|
|
TARGET_LINK_LIBRARIES(${BIN_NAME} ${CMAKE_THREAD_LIBS_INIT})
|
|
TARGET_LINK_LIBRARIES(${BIN_NAME} ${OpenCV_LIBS})
|