Skip to content

Commit 4409e66

Browse files
committed
Fix: Ensure impl headers install in precompiled mode & fix Win32 link error
1 parent fe8f9f7 commit 4409e66

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/CMakeLists.txt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ if(CLI11_PRECOMPILED)
55
${CLI11_precompile_sources})
66
target_compile_definitions(CLI11 PUBLIC -DCLI11_COMPILE)
77

8+
# --- FIX START: Link Shell32 for Windows (Required for Precompiled mode) ---
9+
if(WIN32)
10+
target_link_libraries(CLI11 PUBLIC Shell32)
11+
endif()
12+
# --- FIX END ---
13+
814
set(PUBLIC_OR_INTERFACE PUBLIC)
915
else()
1016
add_library(CLI11 INTERFACE)
@@ -24,6 +30,7 @@ elseif(CLI11_DISABLE_EXTRA_VALIDATORS)
2430
elseif(DEFINED CLI11_ENABLE_EXTRA_VALIDATORS)
2531
target_compile_definitions(CLI11 ${PUBLIC_OR_INTERFACE} -DCLI11_ENABLE_EXTRA_VALIDATORS=0)
2632
endif()
33+
2734
# Allow IDE's to group targets into folders
2835
add_library(CLI11::CLI11 ALIAS CLI11) # for add_subdirectory calls
2936

@@ -51,8 +58,9 @@ if(CLI11_INSTALL OR CLI11_FULL_INSTALL)
5158
if((NOT CLI11_SINGLE_FILE) OR CLI11_FULL_INSTALL)
5259
install(FILES ${CLI11_headers} ${CLI11_library_headers}
5360
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/CLI")
54-
if((NOT CLI11_PRECOMPILED) OR CLI11_FULL_INSTALL)
55-
install(FILES ${CLI11_impl_headers} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/CLI/impl")
56-
endif()
61+
62+
# --- FIX START: Always install impl headers (Removed IF condition) ---
63+
install(FILES ${CLI11_impl_headers} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/CLI/impl")
64+
# --- FIX END ---
5765
endif()
5866
endif()

0 commit comments

Comments
 (0)