summaryrefslogtreecommitdiffstats
path: root/Utilities/cmcppdap/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Utilities/cmcppdap/CMakeLists.txt')
-rw-r--r--Utilities/cmcppdap/CMakeLists.txt37
1 files changed, 37 insertions, 0 deletions
diff --git a/Utilities/cmcppdap/CMakeLists.txt b/Utilities/cmcppdap/CMakeLists.txt
new file mode 100644
index 0000000..39f72a2
--- /dev/null
+++ b/Utilities/cmcppdap/CMakeLists.txt
@@ -0,0 +1,37 @@
+# Disable warnings to avoid changing 3rd party code.
+if(CMAKE_CXX_COMPILER_ID MATCHES
+ "^(GNU|LCC|Clang|AppleClang|IBMClang|XLClang|XL|VisualAge|SunPro|HP|Intel|IntelLLVM|NVHPC)$")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
+elseif(CMAKE_CXX_COMPILER_ID STREQUAL "PathScale")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -woffall")
+endif()
+
+add_library(cmcppdap STATIC
+ src/content_stream.cpp
+ src/io.cpp
+ src/jsoncpp_json_serializer.cpp
+ src/network.cpp
+ src/null_json_serializer.cpp
+ src/protocol_events.cpp
+ src/protocol_requests.cpp
+ src/protocol_response.cpp
+ src/protocol_types.cpp
+ src/session.cpp
+ src/socket.cpp
+ src/typeinfo.cpp
+ src/typeof.cpp
+)
+
+target_compile_definitions(cmcppdap PRIVATE CPPDAP_JSON_JSONCPP=1)
+target_include_directories(cmcppdap PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
+set_property(TARGET cmcppdap PROPERTY CXX_CLANG_TIDY "")
+set_property(TARGET cmcppdap PROPERTY CXX_INCLUDE_WHAT_YOU_USE "")
+
+target_link_libraries(cmcppdap PRIVATE JsonCpp::JsonCpp)
+if(WIN32)
+ target_link_libraries(cmcppdap PRIVATE ws2_32)
+elseif(NOT APPLE)
+ target_link_libraries(cmcppdap PRIVATE Threads::Threads)
+endif()
+
+install(FILES NOTICE DESTINATION ${CMAKE_DOC_DIR}/cmcppdap)