hc
2023-02-18 a08c8b75ee83d7f62c9aefc23bfb42082aa4076c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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})