48 lines
2.0 KiB
CMake
48 lines
2.0 KiB
CMake
CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
|
|
|
|
PROJECT(SJTU-RM-CV)
|
|
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}")
|
|
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()
|
|
|
|
FIND_PACKAGE(Eigen3 REQUIRED)
|
|
FIND_PACKAGE(OpenCV 3 REQUIRED)
|
|
FIND_PACKAGE(Threads)
|
|
|
|
LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/others)
|
|
|
|
INCLUDE_DIRECTORIES(${EIGEN3_INCLUDE_DIR})
|
|
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/energy/include)
|
|
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/armor/include)
|
|
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/others/include)
|
|
|
|
FILE(GLOB_RECURSE sourcefiles "others/src/*.cpp" "energy/src/*cpp" "armor/src/*.cpp")
|
|
ADD_EXECUTABLE(${BIN_NAME} main.cpp ${sourcefiles} others/include/constants.h)
|
|
|
|
TARGET_LINK_LIBRARIES(${BIN_NAME} ${CMAKE_THREAD_LIBS_INIT})
|
|
TARGET_LINK_LIBRARIES(${BIN_NAME} ${OpenCV_LIBS})
|
|
IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
MESSAGE(STATUS "current platform: Linux ")
|
|
TARGET_LINK_LIBRARIES(${BIN_NAME} "${PROJECT_SOURCE_DIR}/others/libMVSDK.so")
|
|
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
MESSAGE(STATUS "current platform: Windows")
|
|
TARGET_LINK_LIBRARIES(${BIN_NAME} "${PROJECT_SOURCE_DIR}/others/MVCAMSDK_X64.lib")
|
|
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
MESSAGE(STATUS "current platform: Mac")
|
|
TARGET_LINK_LIBRARIES(${BIN_NAME} "${PROJECT_SOURCE_DIR}/others/libmvsdk.dylib")
|
|
ELSE ()
|
|
MESSAGE(STATUS "Unsupport platform: ${CMAKE_SYSTEM_NAME}")
|
|
ENDIF()
|
|
|
|
ADD_CUSTOM_TARGET(create-startup COMMAND "${PROJECT_SOURCE_DIR}/tools/create-startup.sh" "${PROJECT_SOURCE_DIR}" "${CMAKE_BINARY_DIR}")
|
|
ADD_CUSTOM_TARGET(train-cnn COMMAND "gnome-terminal" "--" "bash" "-c" "${PROJECT_SOURCE_DIR}/tools/TrainCNN/backward.py") |