CMakeLists.txt 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # Disable warnings to avoid changing 3rd party code.
  2. if(CMAKE_CXX_COMPILER_ID MATCHES
  3. "^(GNU|LCC|Clang|AppleClang|IBMClang|XLClang|XL|VisualAge|SunPro|HP|Intel|IntelLLVM|NVHPC)$")
  4. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
  5. elseif(CMAKE_CXX_COMPILER_ID STREQUAL "PathScale")
  6. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -woffall")
  7. endif()
  8. add_library(cmcppdap STATIC
  9. src/content_stream.cpp
  10. src/io.cpp
  11. src/jsoncpp_json_serializer.cpp
  12. src/network.cpp
  13. src/null_json_serializer.cpp
  14. src/protocol_events.cpp
  15. src/protocol_requests.cpp
  16. src/protocol_response.cpp
  17. src/protocol_types.cpp
  18. src/session.cpp
  19. src/socket.cpp
  20. src/typeinfo.cpp
  21. src/typeof.cpp
  22. )
  23. target_compile_definitions(cmcppdap PRIVATE CPPDAP_JSON_JSONCPP=1)
  24. target_include_directories(cmcppdap PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
  25. set_property(TARGET cmcppdap PROPERTY CXX_CLANG_TIDY "")
  26. set_property(TARGET cmcppdap PROPERTY CXX_INCLUDE_WHAT_YOU_USE "")
  27. target_link_libraries(cmcppdap PRIVATE JsonCpp::JsonCpp)
  28. if(WIN32)
  29. target_link_libraries(cmcppdap PRIVATE ws2_32)
  30. elseif(NOT APPLE)
  31. target_link_libraries(cmcppdap PRIVATE Threads::Threads)
  32. endif()
  33. install(FILES NOTICE DESTINATION ${CMAKE_DOC_DIR}/cmcppdap)