3rdPartyTargets.cmake 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. # Author:
  2. # Sven Czarnian <devel@svcz.de>
  3. # License:
  4. # GPLv3
  5. # Brief:
  6. # Creates the 3rd-party import targets
  7. # include the external project library
  8. INCLUDE(ExternalProject)
  9. # define the import target of libcurl
  10. ADD_LIBRARY(libcurl STATIC IMPORTED)
  11. IF (MSVC)
  12. SET_TARGET_PROPERTIES(libcurl PROPERTIES
  13. IMPORTED_LOCATION_DEBUG "${CMAKE_SOURCE_DIR}/external/lib/libcurl-d.lib"
  14. IMPORTED_LOCATION_RELEASE "${CMAKE_SOURCE_DIR}/external/lib/libcurl.lib"
  15. )
  16. TARGET_LINK_LIBRARIES(libcurl INTERFACE Ws2_32 Iphlpapi Crypt32)
  17. TARGET_INCLUDE_DIRECTORIES(libcurl INTERFACE "${CMAKE_SOURCE_DIR}/external/include")
  18. ELSE ()
  19. MESSAGE(FATAL_ERROR "Unsupported compiler")
  20. ENDIF ()
  21. # define the import target of libsodium
  22. ADD_LIBRARY(libsodium STATIC IMPORTED)
  23. IF (MSVC)
  24. SET_TARGET_PROPERTIES(libsodium PROPERTIES
  25. IMPORTED_LOCATION_DEBUG "${CMAKE_SOURCE_DIR}/external/lib/libsodiumd.lib"
  26. IMPORTED_LOCATION_RELEASE "${CMAKE_SOURCE_DIR}/external/lib/libsodium.lib"
  27. )
  28. TARGET_LINK_LIBRARIES(libsodium INTERFACE Ws2_32 Iphlpapi)
  29. TARGET_INCLUDE_DIRECTORIES(libsodium INTERFACE "${CMAKE_SOURCE_DIR}/external/include")
  30. ELSE ()
  31. MESSAGE(FATAL_ERROR "Unsupported compiler")
  32. ENDIF ()
  33. # define the import target of libcurl
  34. ADD_LIBRARY(jsoncpp STATIC IMPORTED)
  35. IF (MSVC)
  36. SET_TARGET_PROPERTIES(jsoncpp PROPERTIES
  37. IMPORTED_LOCATION_DEBUG "${CMAKE_SOURCE_DIR}/external/lib/jsoncpp_d.lib"
  38. IMPORTED_LOCATION_RELEASE "${CMAKE_SOURCE_DIR}/external/lib/jsoncpp.lib"
  39. )
  40. TARGET_INCLUDE_DIRECTORIES(jsoncpp INTERFACE "${CMAKE_SOURCE_DIR}/external/include")
  41. ELSE ()
  42. MESSAGE(FATAL_ERROR "Unsupported compiler")
  43. ENDIF ()
  44. # define the import target of libzmq
  45. ADD_LIBRARY(libzmq STATIC IMPORTED)
  46. ADD_DEPENDENCIES(libzmq libsodium)
  47. IF (MSVC)
  48. SET_TARGET_PROPERTIES(libzmq PROPERTIES
  49. IMPORTED_LOCATION_DEBUG "${CMAKE_SOURCE_DIR}/external/lib/libzmqd.lib"
  50. IMPORTED_LOCATION_RELEASE "${CMAKE_SOURCE_DIR}/external/lib/libzmq.lib"
  51. )
  52. TARGET_INCLUDE_DIRECTORIES(libzmq INTERFACE "${CMAKE_SOURCE_DIR}/external/include")
  53. TARGET_LINK_LIBRARIES(libzmq INTERFACE libsodium)
  54. TARGET_COMPILE_OPTIONS(libzmq INTERFACE /DZMQ_STATIC)
  55. ELSE ()
  56. MESSAGE(FATAL_ERROR "Unsupported compiler")
  57. ENDIF ()
  58. # define the import target of cppzmq
  59. ADD_LIBRARY(cppzmq INTERFACE)
  60. TARGET_INCLUDE_DIRECTORIES(cppzmq INTERFACE "${CMAKE_SOURCE_DIR}/external/include")
  61. TARGET_LINK_LIBRARIES(cppzmq INTERFACE libzmq)
  62. ADD_DEPENDENCIES(cppzmq libzmq)
  63. # define the import target of GSL
  64. ADD_LIBRARY(GSL INTERFACE)
  65. TARGET_INCLUDE_DIRECTORIES(GSL INTERFACE "${CMAKE_SOURCE_DIR}/external/include")
  66. # define the import target of protobuf
  67. ADD_LIBRARY(protobuf STATIC IMPORTED)
  68. IF (MSVC)
  69. SET_TARGET_PROPERTIES(protobuf PROPERTIES
  70. IMPORTED_LOCATION_DEBUG "${CMAKE_SOURCE_DIR}/external/lib/libprotobufd.lib"
  71. IMPORTED_LOCATION_RELEASE "${CMAKE_SOURCE_DIR}/external/lib/libprotobuf.lib"
  72. )
  73. TARGET_INCLUDE_DIRECTORIES(protobuf INTERFACE "${CMAKE_SOURCE_DIR}/external/include")
  74. ELSE ()
  75. MESSAGE(FATAL_ERROR "Unsupported compiler")
  76. ENDIF ()