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") SET(CMAKE_EXPORT_COMPILE_COMMANDS ON) FIND_FILE(CONFIG_FOUND "config.h" "others/include/config") if (CONFIG_FOUND) MESSAGE("Found config.h") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWITH_CONFIG") endif() 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 4 REQUIRED) FIND_PACKAGE(Threads) FIND_PACKAGE(yaml-cpp REQUIRED) LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/others) INCLUDE_DIRECTORIES(${EIGEN3_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/armor/include) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/others/include) FILE(GLOB_RECURSE sourcefiles "others/src/*.cpp" "armor/src/*.cpp") ADD_EXECUTABLE(${BIN_NAME} main.cpp ${sourcefiles}) TARGET_LINK_LIBRARIES(${BIN_NAME} ${CMAKE_THREAD_LIBS_INIT}) TARGET_LINK_LIBRARIES(${BIN_NAME} ${OpenCV_LIBS}) TARGET_LINK_LIBRARIES(${BIN_NAME} yaml-cpp) 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")