CMakeLists.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. IF (MSGPACK_ENABLE_SHARED)
  2. SET (MSGPACK_LIB msgpackc)
  3. ENDIF ()
  4. IF (MSGPACK_ENABLE_STATIC)
  5. SET (MSGPACK_LIB msgpackc-static)
  6. ENDIF ()
  7. LIST (APPEND exec_PROGRAMS
  8. lib_buffer_unpack.c
  9. simple_c.c
  10. speed_test_uint32_array.c
  11. speed_test_uint64_array.c
  12. user_buffer_unpack.c
  13. )
  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_LINK_LIBRARIES (${source_file_we}
  21. ${MSGPACK_LIB}
  22. )
  23. IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
  24. SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
  25. ENDIF ()
  26. IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
  27. SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
  28. ENDIF ()
  29. IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
  30. IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
  31. STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
  32. ELSE ()
  33. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX")
  34. ENDIF ()
  35. ENDIF ()
  36. ENDFOREACH ()