cmake_minimum_required(VERSION 3.10) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(PROJECT_NAME WebView2) project(${PROJECT_NAME}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(DLL_SOURCES packages/cpprestsdk.v141.2.10.12.1/build/native/x64/bin/cpprest141_2_10d.dll packages/Microsoft.Web.WebView2.1.0.961.33/build/native/x64/WebView2Loader.dll ) file(GLOB LIB_SOURCES packages/cpprestsdk.v141.2.10.12.1/build/native/x64/lib/cpprest141_2_10d.lib packages/Microsoft.Web.WebView2.1.0.961.33/build/native/x64/WebView2Loader.dll.lib ) else () set(DLL_SOURCES packages/cpprestsdk.v141.2.10.12.1/build/native/x64/bin/cpprest141_2_10.dll packages/Microsoft.Web.WebView2.1.0.961.33/build/native/x64/WebView2Loader.dll ) file(GLOB LIB_SOURCES packages/cpprestsdk.v141.2.10.12.1/build/native/x64/lib/cpprest141_2_10.lib packages/Microsoft.Web.WebView2.1.0.961.33/build/native/x64/WebView2Loader.dll.lib ) endif () file(COPY ${DLL_SOURCES} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) include_directories(packages/cpprestsdk.v141.2.10.12.1/build/native/include) include_directories(packages/Microsoft.Web.WebView2.1.0.961.33/build/native/include) include_directories(packages/Microsoft.Windows.ImplementationLibrary.1.0.191107.2/include) file(GLOB ASSETS_SOURCES assets/*) file(COPY ${ASSETS_SOURCES} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) file(GLOB_RECURSE SOURCES src/**) add_definitions(-DUNICODE) add_executable(${PROJECT_NAME} WIN32 ${SOURCES} ) target_link_options(WebView2 PRIVATE "/ENTRY:wWinMainCRTStartup" ) target_link_libraries(${PROJECT_NAME} PRIVATE ${LIB_SOURCES} )