82 lines
2.6 KiB
CMake
82 lines
2.6 KiB
CMake
#指定cmake最低版本要求,这是必须的
|
||
cmake_minimum_required(VERSION 3.20)
|
||
|
||
# 设置指定的C++编译器版本是必须的,如果不设置,或者为OFF,则指定版本不可用时,会使用上一版本。
|
||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||
|
||
# 指定为C++23 版本
|
||
set(CMAKE_CXX_STANDARD 23)
|
||
|
||
set(PROJ_NAME "SEMS-data-collection")
|
||
set(PROJ_VERSION_MAJOR 0)
|
||
set(PROJ_VERSION_MINOR 0)
|
||
set(PROJ_VERSION_PATCH 4.20241011_alpha)
|
||
|
||
#设置项目名字为HelloWorld
|
||
project(${PROJ_NAME})
|
||
#打开调试模式
|
||
add_definitions("-Wall -g")
|
||
|
||
#设置头文件所在的文件夹
|
||
include_directories(${PROJECT_SOURCE_DIR}/include)
|
||
|
||
|
||
#要链接的库文件所在的路径
|
||
link_directories (${PROJECT_SOURCE_DIR}/lib)
|
||
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")
|
||
add_library(UtilsLIB "${PROJECT_SOURCE_DIR}/src/utils.cpp")
|
||
|
||
# link_directories (${PROJECT_SOURCE_DIR}/../CompliteEnv/Python37)
|
||
|
||
|
||
#编译${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)
|
||
# target_link_libraries(${PROJ_NAME} PUBLIC DataPreprocessLib)
|
||
target_link_libraries(${PROJ_NAME} PUBLIC UtilsLIB)
|
||
|
||
|
||
|
||
# 设置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()
|
||
|
||
|