blob: f9812b62a1fac87501bc8e2ebcceae3414c9d7f0 [file] [log] [blame]
INCLUDE_DIRECTORIES(../include)
LIST(
APPEND
exec_PROGRAMS
lib_buffer_unpack.c
simple_c.c
speed_test_uint32_array.c
speed_test_uint64_array.c
user_buffer_unpack.c
)
FOREACH(source_file ${exec_PROGRAMS})
GET_FILENAME_COMPONENT(source_file_we ${source_file} NAME_WE)
ADD_EXECUTABLE(${source_file_we} ${source_file})
TARGET_LINK_LIBRARIES(${source_file_we} msgpackc)
IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET_PROPERTY(
TARGET ${source_file_we}
APPEND_STRING
PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3"
)
ENDIF()
IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
SET_PROPERTY(
TARGET ${source_file_we}
APPEND_STRING
PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags"
)
ENDIF()
IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
IF(
(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER ${GNUCXX_NO_MISMATCHED_TAGS_SUPPORT_VERSION}
)
OR
(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL
${GNUCXX_NO_MISMATCHED_TAGS_SUPPORT_VERSION}
)
)
SET_PROPERTY(
TARGET ${source_file_we}
APPEND_STRING
PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags"
)
ENDIF()
ENDIF()
IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
IF(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
STRING(
REGEX
REPLACE
"/W[0-4]"
"/W3 /WX"
CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS}"
)
ELSE()
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX")
ENDIF()
ENDIF()
ENDFOREACH()