CMakeLists.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. IF (MSGPACK_BOOST)
  2. LIST (APPEND exec_PROGRAMS
  3. msgpack_variant_capitalize.cpp
  4. msgpack_variant_mapbased.cpp
  5. )
  6. IF (MSGPACK_CXX11 OR MSGPACK_CXX17)
  7. FIND_PACKAGE (Threads REQUIRED)
  8. LIST (APPEND exec_PROGRAMS
  9. asio_send_recv.cpp
  10. )
  11. IF (ZLIB_FOUND)
  12. INCLUDE_DIRECTORIES (
  13. ${ZLIB_INCLUDE_DIRS}
  14. )
  15. LIST (APPEND exec_PROGRAMS
  16. asio_send_recv_zlib.cpp
  17. )
  18. ENDIF ()
  19. ENDIF ()
  20. ENDIF ()
  21. FOREACH (source_file ${exec_PROGRAMS})
  22. GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE)
  23. ADD_EXECUTABLE (
  24. ${source_file_we}
  25. ${source_file}
  26. )
  27. TARGET_INCLUDE_DIRECTORIES (${source_file_we}
  28. PRIVATE
  29. $<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES>
  30. )
  31. TARGET_LINK_LIBRARIES (${source_file_we}
  32. ${Boost_SYSTEM_LIBRARY}
  33. ${CMAKE_THREAD_LIBS_INIT}
  34. )
  35. IF (ZLIB_FOUND)
  36. TARGET_LINK_LIBRARIES (${source_file_we}
  37. ${ZLIB_LIBRARIES}
  38. )
  39. ENDIF()
  40. IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
  41. SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
  42. ENDIF ()
  43. IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
  44. SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
  45. ENDIF ()
  46. IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
  47. IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
  48. STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
  49. ELSE ()
  50. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX")
  51. ENDIF ()
  52. ENDIF ()
  53. ENDFOREACH ()