cmake_minimum_required (VERSION 3.8) cmake_policy(SET CMP0074 NEW) project (vs_generate) set(CMAKE_CXX_STANDARD 17) set(PROJECT_SOURCE main.cpp vs_generate.cpp vs_generate.h tinyxml2.h tinyxml2.cpp vs_json.cpp vs_json.h ) set(JSONCPP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rd/jsoncpp-lib) if (MSVC) string(APPEND CMAKE_CXX_FLAGS " /source-charset:utf-8 /EHsc") add_definitions(-D_CRT_SECURE_NO_WARNINGS) endif() include_directories(${JSONCPP_DIR}/include) link_directories(${JSONCPP_DIR}/lib) add_executable(vs_generate ${PROJECT_SOURCE}) if (${CMAKE_BUILD_TYPE} STREQUAL "Debug") target_link_libraries(vs_generate PRIVATE jsoncpp_staticD) else() target_link_libraries(vs_generate PRIVATE jsoncpp_static) endif()