12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- set(LIBRARY_NAME libplc)
- if (NOT ENABLE_LIBRARY_THREAD)
- message(FATAL_ERROR "Not enable ENABLE_LIBRARY_THREAD")
- endif ()
- if (NOT ENABLE_LIBRARY_JSON)
- message(FATAL_ERROR "Not enable ENABLE_LIBRARY_JSON")
- endif ()
- if (NOT ENABLE_LIBRARY_GOOGLE_LOG)
- message(FATAL_ERROR "Not enable ENABLE_LIBRARY_GOOGLE_LOG")
- endif ()
- unset(OPTION_ENABLE_TEST_CODE CACHE)
- option(OPTION_ENABLE_TEST_CODE "Whether enable test code." ON)
- message("<=${LIBRARY_NAME}=> OPTION_ENABLE_TEST_CODE: " ${OPTION_ENABLE_TEST_CODE})
- include_directories(
- /usr/local/include/snap7
- )
- set(LIBRARY_SOURCE_LIST
- ${CMAKE_CURRENT_LIST_DIR}/plcJsonConfig.h
- ${CMAKE_CURRENT_LIST_DIR}/plcJsonConfig.cpp
- ${CMAKE_CURRENT_LIST_DIR}/s7_plc.h
- ${CMAKE_CURRENT_LIST_DIR}/s7_plc.cpp
- ${CMAKE_CURRENT_LIST_DIR}/snap7_buf.h
- ${CMAKE_CURRENT_LIST_DIR}/snap7_buf.cpp
- ${CMAKE_CURRENT_LIST_DIR}/snap7_communication_base.h
- ${CMAKE_CURRENT_LIST_DIR}/snap7_communication_base.cpp
- )
- set(LIBRARY_DEPEND_LIST
- liblog
- libthread
- libjson
- snap7
- )
- add_library(${LIBRARY_NAME} ${LIBRARY_SOURCE_LIST})
- target_link_libraries(${LIBRARY_NAME} PUBLIC ${LIBRARY_DEPEND_LIST})
- if (OPTION_ENABLE_TEST_CODE)
- set(LIBRARY_TEST_NAME "${LIBRARY_NAME}_test")
- set(LIBRARY_TEST_SOURCE_LIST
- ${CMAKE_CURRENT_LIST_DIR}/test.h
- ${CMAKE_CURRENT_LIST_DIR}/test.cpp
- )
- add_executable(${LIBRARY_TEST_NAME} ${LIBRARY_TEST_SOURCE_LIST})
- target_link_libraries(${LIBRARY_TEST_NAME} ${LIBRARY_NAME} )
- endif ()
|