blob: 51c32182d8e2343eb1f4379b7169a880adb549e5 [file] [log] [blame]
dota17e9ccbe02019-09-18 04:30:00 +08001#vim: et ts =4 sts = 4 sw = 4 tw = 0
2cmake_minimum_required(VERSION 3.1)
3
4set(EXAMPLES
Claus Kleina6fe8e22020-02-13 22:20:46 +01005 readFromString
6 readFromStream
7 stringWrite
8 streamWrite
9)
dota17e9ccbe02019-09-18 04:30:00 +080010add_definitions(-D_GLIBCXX_USE_CXX11_ABI)
11set_property(DIRECTORY PROPERTY COMPILE_OPTIONS ${EXTRA_CXX_FLAGS})
12
13if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
Claus Kleina6fe8e22020-02-13 22:20:46 +010014 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra ")
15else()
16 add_definitions(
17 -D_SCL_SECURE_NO_WARNINGS
18 -D_CRT_SECURE_NO_WARNINGS
19 -D_WIN32_WINNT=0x601
20 -D_WINSOCK_DEPRECATED_NO_WARNINGS
21 )
dota17e9ccbe02019-09-18 04:30:00 +080022endif()
23
Claus Kleina6fe8e22020-02-13 22:20:46 +010024foreach(example ${EXAMPLES})
25 add_executable(${example} ${example}/${example}.cpp)
26 target_include_directories(${example} PUBLIC ${CMAKE_SOURCE_DIR}/include)
27 target_link_libraries(${example} jsoncpp_lib)
dota17e9ccbe02019-09-18 04:30:00 +080028endforeach()
29
30add_custom_target(examples ALL DEPENDS ${EXAMPLES})