CMakeLists.txt 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. list(APPEND SQLITE3_SRCS ${CMAKE_SOURCE_DIR}/ThirdParty/Include/uuid4/uuid4.cpp)
  7. add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS} ${SQLITE3_SRCS})
  8. if(MSVC)
  9. target_include_directories(${MODULE_NAME} PRIVATE
  10. ${CMAKE_CURRENT_SOURCE_DIR}
  11. ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3
  12. ${CONAN_INCLUDE_DIRS_LIBKYSM}
  13. ${CONAN_INCLUDE_DIRS_JSONCPP}
  14. ${RVCFRAMEWORK_SOURCES_DIR}/RvcRestfulSdk
  15. ${CMAKE_SOURCE_DIR}/ThirdParty/Include/CJson
  16. ${CMAKE_SOURCE_DIR}/ThirdParty/Include/uuid4
  17. ${CONAN_INCLUDE_DIRS_ZLIB}
  18. ${CONAN_INCLUDE_DIRS_OPENSSL}
  19. )
  20. target_link_directories(${MODULE_NAME} PRIVATE
  21. ${CONAN_LIB_DIRS_LIBKYSM}
  22. ${CONAN_LIB_DIRS_JSONCPP}
  23. ${CONAN_LIB_DIRS_ZLIB}
  24. ${CONAN_LIB_DIRS_OPENSSL}
  25. )
  26. else()
  27. target_include_directories(${MODULE_NAME} PRIVATE
  28. ${CMAKE_CURRENT_SOURCE_DIR}
  29. ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3
  30. ${CONAN_INCLUDE_DIRS_LIBKYSM}
  31. ${CONAN_INCLUDE_DIRS_JSONCPP}
  32. ${RVCFRAMEWORK_SOURCES_DIR}/RvcRestfulSdk
  33. ${CMAKE_SOURCE_DIR}/ThirdParty/Include/CJson
  34. ${CMAKE_SOURCE_DIR}/ThirdParty/Include/uuid4
  35. ${CONAN_INCLUDE_DIRS_ZLIB}
  36. )
  37. target_link_directories(${MODULE_NAME} PRIVATE
  38. ${CONAN_LIB_DIRS_LIBKYSM}
  39. ${CONAN_LIB_DIRS_JSONCPP}
  40. ${CONAN_LIB_DIRS_ZLIB}
  41. )
  42. endif(MSVC)
  43. target_link_libraries(${MODULE_NAME}
  44. ${PRIVATE_KEYWORD} ${KYSM_LIBRARY_NAME}
  45. ${PRIVATE_KEYWORD} RVCRestfulSDK
  46. ${PRIVATE_KEYWORD} ${CONAN_PKG_LIBS_JSONCPP}
  47. ${PRIVATE_KEYWORD} ${CONAN_PKG_LIBS_ZLIB}
  48. ${PRIVATE_KEYWORD} ${CONAN_PKG_LIBS_OPENSSL}
  49. )
  50. message(STATUS "zlib library: ${CONAN_PKG_LIBS_OPENSSL} ${CONAN_PKG_LIBS_ZLIB} ${CONAN_PKG_LIBS_JSONCPP}")
  51. if(MSVC)
  52. install(TARGETS ${MODULE_NAME}
  53. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
  54. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
  55. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
  56. )
  57. else()
  58. install(TARGETS ${MODULE_NAME}
  59. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  60. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  61. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  62. COMPONENT libraries)
  63. endif(MSVC)
  64. if (WITH_PDB_SAVE AND MSVC AND BUILD_SHARED_LIBS)
  65. install(FILES ${RVC_PDB_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${RVC_PDBSAVE_PATH} COMPONENT symbols)
  66. endif()
  67. if(MSVC)
  68. set(RVC_CONAN_DEP_LIBS2 ${RVC_CONAN_DEP_LIBS2}
  69. ${CONAN_BIN_DIRS_LIBKYSM}
  70. ${CONAN_BIN_DIRS_JSONCPP}
  71. ${CONAN_BIN_DIRS_ZLIB}
  72. PARENT_SCOPE)
  73. else()
  74. set(RVC_CONAN_DEP_LIBS2 ${RVC_CONAN_DEP_LIBS2}
  75. ${CONAN_LIB_DIRS_LIBKYSM}
  76. ${CONAN_LIB_DIRS_JSONCPP}
  77. ${CONAN_LIB_DIRS_ZLIB}
  78. PARENT_SCOPE)
  79. endif(MSVC)