cmake_minimum_required(VERSION 3.16) project(cmake-vsenv LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) if (MSVC) add_compile_options(/utf-8) add_definitions(-DWIN32_LEAN_AND_MEAN) add_definitions(-D_WIN32_WINNT=0x0601) add_definitions(-D_CRT_SECURE_NO_WARNINGS) endif() set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}/) add_definitions(-DFMT_HEADER_ONLY) set(Boost_NO_WARN_NEW_VERSIONS 1) set(Boost_USE_STATIC_LIBS ON) include_directories(${Boost_INCLUDE_DIR}) find_package(Boost COMPONENTS filesystem locale process) include_directories(thirdparty) add_executable(cmake-vsenv main.cpp read_config.h read_config.cpp exec_cmd.h exec_cmd.cpp) target_link_libraries(cmake-vsenv PRIVATE ${Boost_LIBRARIES} ntdll)