CMakeLists.txt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. IF (MSGPACK_CXX11)
  2. INCLUDE_DIRECTORIES (
  3. ../include
  4. )
  5. LIST (APPEND exec_PROGRAMS
  6. container.cpp
  7. non_def_con_class.cpp
  8. )
  9. IF ("${MSGPACK_DEFAULT_API_VERSION}" GREATER "1")
  10. LIST (APPEND exec_PROGRAMS
  11. socket_stream_example.cpp
  12. )
  13. ENDIF ()
  14. FOREACH (source_file ${exec_PROGRAMS})
  15. GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE)
  16. ADD_EXECUTABLE (
  17. ${source_file_we}
  18. ${source_file}
  19. )
  20. TARGET_INCLUDE_DIRECTORIES (${source_file_we}
  21. PRIVATE
  22. $<TARGET_PROPERTY:msgpackc,INTERFACE_INCLUDE_DIRECTORIES>
  23. )
  24. IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
  25. SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
  26. ENDIF ()
  27. IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
  28. SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
  29. ENDIF ()
  30. IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
  31. IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
  32. STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
  33. ELSE ()
  34. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX")
  35. ENDIF ()
  36. ENDIF ()
  37. ENDFOREACH ()
  38. ENDIF ()