blob: 583455a6578c2b2006037d4df5650cbea87603d0 [file] [log] [blame]
IF(MSGPACK_CXX11)
INCLUDE_DIRECTORIES(../include)
LIST(APPEND exec_PROGRAMS container.cpp non_def_con_class.cpp)
FOREACH(source_file ${exec_PROGRAMS})
GET_FILENAME_COMPONENT(source_file_we ${source_file} NAME_WE)
ADD_EXECUTABLE(${source_file_we} ${source_file})
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()
ENDIF()