CMakeLists.txt 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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} PRIVATE
  44. ${KYSM_LIBRARY_NAME}
  45. RVCRestfulSDK
  46. ${CONAN_PKG_LIBS_JSONCPP}
  47. ${CONAN_PKG_LIBS_ZLIB}
  48. ${CONAN_PKG_LIBS_OPENSSL}
  49. )
  50. message(STATUS "zlib library: ${CONAN_PKG_LIBS_OPENSSL} ${CONAN_PKG_LIBS_ZLIB} ${CONAN_PKG_LIBS_JSONCPP}")
  51. # target_compile_definitions(${MODULE_NAME} PRIVATE "-DCMBSM_LINKED_AS_STATIC_LIBRARY")
  52. if(MSVC)
  53. install(TARGETS ${MODULE_NAME}
  54. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
  55. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
  56. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
  57. )
  58. else()
  59. install(TARGETS ${MODULE_NAME}
  60. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  61. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  62. LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
  63. COMPONENT libraries)
  64. endif(MSVC)
  65. if (WITH_PDB_SAVE AND MSVC AND BUILD_SHARED_LIBS)
  66. install(FILES ${RVC_PDB_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${RVC_PDBSAVE_PATH} COMPONENT symbols)
  67. endif()
  68. if(MSVC)
  69. set(RVC_CONAN_DEP_LIBS2 ${RVC_CONAN_DEP_LIBS2}
  70. ${CONAN_BIN_DIRS_LIBKYSM}
  71. ${CONAN_BIN_DIRS_JSONCPP}
  72. ${CONAN_BIN_DIRS_ZLIB}
  73. PARENT_SCOPE)
  74. else()
  75. set(RVC_CONAN_DEP_LIBS2 ${RVC_CONAN_DEP_LIBS2}
  76. ${CONAN_LIB_DIRS_LIBKYSM}
  77. ${CONAN_LIB_DIRS_JSONCPP}
  78. ${CONAN_LIB_DIRS_ZLIB}
  79. PARENT_SCOPE)
  80. endif(MSVC)