SEMS-data-collection/CMakeLists.txt

82 lines
2.6 KiB
CMake
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#指定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()