| cmake_minimum_required(VERSION 2.8) |
| |
| if(POLICY CMP0054) |
| cmake_policy(SET CMP0054 NEW) |
| endif() |
| |
| set(EXAMPLES |
| capitalize |
| condense |
| filterkey |
| filterkeydom |
| jsonx |
| messagereader |
| parsebyparts |
| pretty |
| prettyauto |
| schemavalidator |
| serialize |
| simpledom |
| simplereader |
| simplewriter |
| tutorial) |
| |
| include_directories("../include/") |
| |
| add_definitions(-D__STDC_FORMAT_MACROS) |
| |
| if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") |
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -Werror -Wall -Wextra -Weffc++ -Wswitch-default") |
| elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang") |
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Weffc++ -Wswitch-default -Wfloat-equal -Wimplicit-fallthrough -Weverything") |
| endif() |
| |
| foreach (example ${EXAMPLES}) |
| add_executable(${example} ${example}/${example}.cpp) |
| endforeach() |
| |
| if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") |
| target_link_libraries(parsebyparts pthread) |
| endif() |
| |
| add_custom_target(examples ALL DEPENDS ${EXAMPLES}) |