Skip to content

Commit f3ebd1f

Browse files
authored
Update CMakeLists.txt
1 parent 17ac2e3 commit f3ebd1f

File tree

1 file changed

+10
-21
lines changed

1 file changed

+10
-21
lines changed

c/windows/CMakeLists.txt

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,39 @@
11
cmake_minimum_required(VERSION 3.20)
22
project(cl-webview-win LANGUAGES C CXX)
33

4-
# MSVC x64 前提
54
if (NOT MSVC OR NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
65
message(FATAL_ERROR "This build expects MSVC on 64-bit (x64) Windows.")
76
endif()
87

98
set(CMAKE_C_STANDARD 11)
109
set(CMAKE_CXX_STANDARD 17)
1110

11+
# ← 追加:/MT 静的ランタイム指定(VS 2019+ の正攻法)
12+
# 上流にも効かせるため、FetchContent する前に設定します
13+
if (MSVC)
14+
cmake_policy(SET CMP0091 NEW)
15+
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
16+
endif()
17+
1218
include(FetchContent)
1319

14-
# 上流 webview を取得(必要に応じてタグは調整)
1520
FetchContent_Declare(
1621
webview
1722
GIT_REPOSITORY https://github.com/webview/webview
1823
GIT_TAG 0.12.0
1924
)
2025

21-
# 共有ライブラリの生成を有効化
2226
set(WEBVIEW_BUILD ON CACHE BOOL "" FORCE)
2327
set(WEBVIEW_BUILD_SHARED_LIBRARY ON CACHE BOOL "" FORCE)
2428
set(WEBVIEW_BUILD_STATIC_LIBRARY OFF CACHE BOOL "" FORCE)
25-
# 公式 WebView2 Loader DLL に頼らない最小実装(既定ONだが明示)
2629
set(WEBVIEW_USE_BUILTIN_MSWEBVIEW2 ON CACHE BOOL "" FORCE)
2730

2831
FetchContent_MakeAvailable(webview)
2932

30-
# dist ディレクトリに生成物をまと�める(DLL/IMPLIB は必須、PDB は存在時のみ)
3133
add_custom_target(stage ALL
3234
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/dist
33-
# DLL
34-
COMMAND ${CMAKE_COMMAND} -E copy
35-
$<TARGET_FILE:webview::core_shared>
36-
${CMAKE_BINARY_DIR}/dist/webview.dll
37-
# インポートライブラリ(.lib)
38-
COMMAND ${CMAKE_COMMAND} -E copy_if_different
39-
$<TARGET_LINKER_FILE:webview::core_shared>
40-
${CMAKE_BINARY_DIR}/dist/webview.lib
41-
# PDB(存在すれば)
42-
COMMAND ${CMAKE_COMMAND}
43-
-DSRC=$<TARGET_PDB_FILE:webview::core_shared>
44-
-DDST=${CMAKE_BINARY_DIR}/dist/webview.pdb
45-
-P ${CMAKE_CURRENT_LIST_DIR}/CopyIfExists.cmake
35+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:webview::core_shared> ${CMAKE_BINARY_DIR}/dist/webview.dll
36+
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_LINKER_FILE:webview::core_shared> ${CMAKE_BINARY_DIR}/dist/webview.lib
37+
COMMAND ${CMAKE_COMMAND} -DSRC=$<TARGET_PDB_FILE:webview::core_shared> -DDST=${CMAKE_BINARY_DIR}/dist/webview.pdb -P ${CMAKE_CURRENT_LIST_DIR}/CopyIfExists.cmake
4638
DEPENDS webview::core_shared
4739
)
48-
49-
# BUILD.md の期待に合わせて DLL 名を固定したい場合は有効化
50-
# set_target_properties(webview::core_shared PROPERTIES OUTPUT_NAME "libwebview")

0 commit comments

Comments
 (0)