Compare commits

2 Commits

Author SHA1 Message Date
lyf
734ba67164 xmake构建项目 2026-06-07 22:50:54 +08:00
lyf
bfee4d8fde 使用xmake构建成功。 2026-06-07 22:50:36 +08:00
3 changed files with 114 additions and 1 deletions

View File

@@ -4,7 +4,7 @@
#ifndef _SETCONFIG_H_
#define _SETCONFIG_H_
#define WITH_CONFIG
// #define WITH_CONFIG
#ifdef WITH_CONFIG
#include <config/config.h>

Binary file not shown.

113
xmake.lua Normal file
View File

@@ -0,0 +1,113 @@
-- 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_project("SJTU-RM-CV")
set_version("1.0.0")
set_languages("c++11")
set_optimize("fastest")
add_defines(string.format("PATH=\"%s\"", os.projectdir()))
if is_plat("linux") then
add_defines("Linux")
elseif is_plat("windows") then
add_defines("windows")
elseif is_plat("macosx") then
add_defines("Darwin")
end
add_rules("plugin.compile_commands.autoupdate", {outputdir = ".vscode"})
add_rules("mode.debug", "mode.release")
add_requires("eigen", "opencv 4.x", {system = true})
if os.isfile("others/include/config/config.h") then
print("Found config.h")
add_defines("WITH_CONFIG")
end
set_policy("build.ccache", true)
add_includedirs("others/include", "energy/include", "armor/include")
target("run")
set_kind("binary")
add_files(
"main.cpp",
"others/src/**.cpp",
"energy/src/**.cpp",
"armor/src/**.cpp"
)
add_linkdirs("others")
add_packages("eigen", "opencv")
add_syslinks("pthread")
if is_plat("linux") then
print("current platform: linux")
add_links("MVSDK")
elseif is_plat("windows") then
print("current platform: windows")
add_links("MVCAMSDK_X64")
elseif is_plat("macosx") then
print("current platform: Mac")
add_links("mvsdk")
else
print("Unsupported platform")
end
-- 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)
-- 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})
--
-- 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")