2024-09-11 17:14:49 +08:00
|
|
|
|
#指定cmake最低版本要求,这是必须的
|
|
|
|
|
cmake_minimum_required(VERSION 3.20)
|
|
|
|
|
|
|
|
|
|
# 设置指定的C++编译器版本是必须的,如果不设置,或者为OFF,则指定版本不可用时,会使用上一版本。
|
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
|
|
|
|
# 指定为C++20 版本
|
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
|
|
2024-09-25 16:09:33 +08:00
|
|
|
|
set(PROJ_NAME "SEMS-data-collection")
|
2024-09-11 17:14:49 +08:00
|
|
|
|
set(PROJ_VERSION_MAJOR 0)
|
|
|
|
|
set(PROJ_VERSION_MINOR 0)
|
2024-10-08 18:14:34 +08:00
|
|
|
|
set(PROJ_VERSION_PATCH 3.20241008_alpha)
|
2024-09-11 17:14:49 +08:00
|
|
|
|
|
|
|
|
|
#设置项目名字为HelloWorld
|
|
|
|
|
project(${PROJ_NAME})
|
|
|
|
|
#打开调试模式
|
|
|
|
|
add_definitions("-Wall -g")
|
|
|
|
|
|
|
|
|
|
#设置头文件所在的文件夹
|
|
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/include)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#要链接的库文件所在的路径
|
2024-09-12 16:17:42 +08:00
|
|
|
|
link_directories (${PROJECT_SOURCE_DIR}/lib)
|
2024-09-11 17:14:49 +08:00
|
|
|
|
add_library(SpectralCameraLib "${PROJECT_SOURCE_DIR}/src/spectral_camera.cpp")
|
|
|
|
|
add_library(DisplayLib "${PROJECT_SOURCE_DIR}/src/display.cpp")
|
|
|
|
|
add_library(DataPreprocessLib "${PROJECT_SOURCE_DIR}/src/data_preprocess.cpp")
|
|
|
|
|
add_library(VisibleLightCameraLIB "${PROJECT_SOURCE_DIR}/src/visible_light_camera.cpp")
|
2024-10-08 18:14:34 +08:00
|
|
|
|
add_library(UtilsLIB "${PROJECT_SOURCE_DIR}/src/utils.cpp")
|
2024-09-11 17:14:49 +08:00
|
|
|
|
|
2024-09-12 16:17:42 +08:00
|
|
|
|
link_directories (${PROJECT_SOURCE_DIR}/../CompliteEnv/Python37)
|
2024-09-11 17:14:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#编译${PROJECT_SOURCE_DIR}/src/main.cpp在这个cpp文件为名为HelloWorld可执行文件
|
|
|
|
|
add_executable(${PROJ_NAME} "${PROJECT_SOURCE_DIR}/src/main.cpp")
|
|
|
|
|
|
|
|
|
|
#链接动态链接库
|
|
|
|
|
target_link_libraries(${PROJ_NAME} PUBLIC yaml-cpp)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(${PROJ_NAME} PUBLIC SpectralCameraLib)
|
|
|
|
|
target_link_libraries(${PROJ_NAME} PUBLIC SpecSensor)
|
|
|
|
|
target_link_libraries(${PROJ_NAME} PUBLIC VisibleLightCameraLIB)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
target_link_libraries(${PROJ_NAME} PUBLIC DisplayLib)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(${PROJ_NAME} PUBLIC opencv_core490 opencv_highgui490 opencv_imgproc490 opencv_photo490 opencv_imgcodecs490 opencv_video490 opencv_videoio490)
|
|
|
|
|
target_link_libraries(${PROJ_NAME} PUBLIC DataPreprocessLib)
|
2024-10-08 18:14:34 +08:00
|
|
|
|
target_link_libraries(${PROJ_NAME} PUBLIC UtilsLIB)
|
2024-09-12 16:17:42 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 设置RPATH(运行时库搜索路径)(仅linux下可用)
|
|
|
|
|
# set_target_properties(${PROJ_NAME} PROPERTIES
|
|
|
|
|
# INSTALL_RPATH "$ORIGIN/../lib"
|
|
|
|
|
# )
|
|
|
|
|
|
|
|
|
|
# set(CMAKE_INSTALL_RPATH "$origin/../lib")
|
|
|
|
|
|
|
|
|
|
# 安装规则
|
|
|
|
|
install(TARGETS ${PROJECT_NAME} DESTINATION .)
|
|
|
|
|
# install(DIRECTORY lib/* DESTINATION .)
|
|
|
|
|
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib/
|
|
|
|
|
DESTINATION .
|
|
|
|
|
USE_SOURCE_PERMISSIONS
|
|
|
|
|
FILES_MATCHING PATTERN "*")
|
|
|
|
|
|
|
|
|
|
# 包括 CPack 打包配置
|
|
|
|
|
# include(InstallRequiredSystemLibraries)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
|
|
|
|
set(CPACK_PACKAGE_VERSION_MAJOR "${PROJ_VERSION_MAJOR}")
|
|
|
|
|
set(CPACK_PACKAGE_VERSION_MINOR "${PROJ_VERSION_MINOR}")
|
|
|
|
|
set(CPACK_PACKAGE_VERSION_PATCH "${PROJ_VERSION_PATCH}")
|
|
|
|
|
set(CPACK_GENERATOR "ZIP")
|
|
|
|
|
include(CPack)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
|