CMakeLists.txt 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. set(SON_PROJECT_NAME clamp_lidar)
  2. message("========== Load son project ${SON_PROJECT_NAME} ==========" )
  3. option(OPTION_COMMUNICATION_WITH_PLC "plc通信" ON)
  4. message("<=${SON_PROJECT_NAME}=> OPTION_COMMUNICATION_WITH_PLC: " ${OPTION_COMMUNICATION_WITH_PLC})
  5. if (OPTION_COMMUNICATION_WITH_PLC)
  6. add_definitions(-DOPTION_COMMUNICATION_WITH_PLC=1)
  7. else ()
  8. add_definitions(-DOPTION_COMMUNICATION_WITH_PLC=0)
  9. endif ()
  10. include_directories(
  11. /usr/local/include/snap7
  12. )
  13. aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/plc plc)
  14. set(SON_PROJECT_SOURCE_LIST
  15. ${plc}
  16. ${CMAKE_CURRENT_LIST_DIR}/main.cpp
  17. )
  18. set(SON_PROJECT_DEPEND_LIST
  19. libplc
  20. )
  21. add_executable(${SON_PROJECT_NAME} ${SON_PROJECT_SOURCE_LIST})
  22. target_link_libraries(${SON_PROJECT_NAME} ${SON_PROJECT_DEPEND_LIST})
  23. target_compile_definitions(${SON_PROJECT_NAME} PRIVATE PROJECT_NAME="${SON_PROJECT_NAME}")
  24. install(TARGETS ${SON_PROJECT_NAME}
  25. LIBRARY DESTINATION lib # 动态库安装路径
  26. ARCHIVE DESTINATION lib # 静态库安装路径
  27. RUNTIME DESTINATION bin # 可执行文件安装路径
  28. PUBLIC_HEADER DESTINATION include # 头文件安装路径
  29. )