CMakeLists.txt 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. set(MODULE_NAME "RVCLogSDK")
  2. set(MODULE_PREFIX "RVCLOGSDK")
  3. file(GLOB ${MODULE_PREFIX}_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp" "*.h" "*.c")
  4. file(GLOB SQLITE3_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "sqlite3/*.cpp" "sqlite3/*.h" "sqlite3/*.c")
  5. list(APPEND SQLITE3_SRCS ${CMAKE_SOURCE_DIR}/ThirdParty/Include/cJSON/cJSON.c)
  6. add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS} ${SQLITE3_SRCS})
  7. if(MSVC)
  8. target_include_directories(${MODULE_NAME} PRIVATE
  9. ${CMAKE_CURRENT_SOURCE_DIR}
  10. ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3
  11. ${CONAN_INCLUDE_DIRS_LIBKYSM}
  12. ${CONAN_INCLUDE_DIRS_JSONCPP}
  13. ${RVCFRAMEWORK_SOURCES_DIR}/RvcRestfulSdk
  14. ${CMAKE_SOURCE_DIR}/ThirdParty/Include/cJSON
  15. ${CONAN_INCLUDE_DIRS_ZLIB}
  16. ${CONAN_INCLUDE_DIRS_OPENSSL}
  17. )
  18. target_link_directories(${MODULE_NAME} PRIVATE
  19. ${CONAN_LIB_DIRS_LIBKYSM}
  20. ${CONAN_LIB_DIRS_JSONCPP}
  21. ${CONAN_LIB_DIRS_ZLIB}
  22. ${CONAN_LIB_DIRS_OPENSSL}
  23. )
  24. else()
  25. target_include_directories(${MODULE_NAME} PRIVATE
  26. ${CMAKE_CURRENT_SOURCE_DIR}
  27. ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3
  28. ${CONAN_INCLUDE_DIRS_LIBKYSM}
  29. ${CONAN_INCLUDE_DIRS_JSONCPP}
  30. ${RVCFRAMEWORK_SOURCES_DIR}/RvcRestfulSdk
  31. ${CMAKE_SOURCE_DIR}/ThirdParty/Include/cJSON
  32. ${CONAN_INCLUDE_DIRS_ZLIB}
  33. )
  34. target_link_directories(${MODULE_NAME} PRIVATE
  35. ${CONAN_LIB_DIRS_LIBKYSM}
  36. ${CONAN_LIB_DIRS_JSONCPP}
  37. ${CONAN_LIB_DIRS_ZLIB}
  38. )
  39. endif(MSVC)
  40. target_link_libraries(${MODULE_NAME} PRIVATE
  41. ${KYSM_LIBRARY_NAME}
  42. RVCRestfulSDK
  43. ${CONAN_PKG_LIBS_JSONCPP}
  44. ${CONAN_PKG_LIBS_ZLIB}
  45. ${CONAN_PKG_LIBS_OPENSSL}
  46. )
  47. message(STATUS "zlib library: ${CONAN_PKG_LIBS_OPENSSL} ${CONAN_PKG_LIBS_ZLIB} ${CONAN_PKG_LIBS_JSONCPP}")
  48. # target_compile_definitions(${MODULE_NAME} PRIVATE "-DCMBSM_LINKED_AS_STATIC_LIBRARY")
  49. if(MSVC)
  50. install(TARGETS ${MODULE_NAME}
  51. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  52. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  53. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}"
  54. COMPONENT libraries)
  55. else()
  56. install(TARGETS ${MODULE_NAME}
  57. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  58. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  59. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  60. COMPONENT libraries)
  61. endif(MSVC)
  62. if (WITH_DEBUG_SYMBOLS AND MSVC AND BUILD_SHARED_LIBS)
  63. install(FILES ${RVC_PDB_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT symbols)
  64. endif()
  65. if(MSVC)
  66. set(RVC_CONAN_DEP_LIBS2 ${RVC_CONAN_DEP_LIBS2}
  67. ${CONAN_BIN_DIRS_LIBKYSM}
  68. ${CONAN_BIN_DIRS_JSONCPP}
  69. ${CONAN_BIN_DIRS_ZLIB}
  70. PARENT_SCOPE)
  71. else()
  72. set(RVC_CONAN_DEP_LIBS2 ${RVC_CONAN_DEP_LIBS2}
  73. ${CONAN_LIB_DIRS_LIBKYSM}
  74. ${CONAN_LIB_DIRS_JSONCPP}
  75. ${CONAN_LIB_DIRS_ZLIB}
  76. PARENT_SCOPE)
  77. endif(MSVC)