Skip to content

Commit 73e309c

Browse files
notrojclaude
andcommitted
Stab in the dark attempt at fixing the Windows CI with Claude:
* CMakeLists.txt: Fix CMake generation failure with non-MSVC compilers (e.g. MinGW GCC) caused by unconditional use of $<TARGET_PDB_FILE:...> generator expressions, which are only supported by the MSVC linker. Guard all TARGET_PDB_FILE usage with IF(INSTALL_PDB), and default INSTALL_PDB to OFF for non-MSVC compilers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent f9ea103 commit 73e309c

1 file changed

Lines changed: 19 additions & 7 deletions

File tree

CMakeLists.txt

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ SET(CHECK_LIBRARIES "${default_check_libraries}" CACHE STRING "Check lib
124124
# end support library configuration
125125

126126
# Misc. options
127-
OPTION(INSTALL_PDB "Install .pdb files (if generated)" ON)
127+
OPTION(INSTALL_PDB "Install .pdb files (if generated)" ${MSVC})
128128
OPTION(INSTALL_MANUAL "Install manual" ON)
129129

130130
SET(ENABLE_MODULES "O" CACHE STRING "Minimum module enablement (e.g., \"i\" to build all but those without prerequisites)")
@@ -854,7 +854,9 @@ FOREACH (mod ${MODULE_PATHS})
854854
SET(all_mod_sources ${tmp_mod_main_source} ${${mod_extra_sources}})
855855
ADD_LIBRARY(${mod_name} SHARED ${all_mod_sources} build/win32/httpd.rc)
856856
SET(install_modules ${install_modules} ${mod_name})
857-
SET(install_modules_pdb ${install_modules_pdb} "$<TARGET_PDB_FILE:${mod_name}>")
857+
IF(INSTALL_PDB)
858+
SET(install_modules_pdb ${install_modules_pdb} "$<TARGET_PDB_FILE:${mod_name}>")
859+
ENDIF()
858860
IF("${${mod_name}_install_lib}")
859861
SET(installed_mod_libs_exps
860862
${installed_mod_libs_exps}
@@ -897,7 +899,9 @@ SET_TARGET_PROPERTIES(libhttpd PROPERTIES
897899
LINK_FLAGS /base:@${PROJECT_BINARY_DIR}/BaseAddr.ref,libhttpd.dll
898900
)
899901
SET(install_targets ${install_targets} libhttpd)
900-
SET(install_bin_pdb ${install_bin_pdb} $<TARGET_PDB_FILE:libhttpd>)
902+
IF(INSTALL_PDB)
903+
SET(install_bin_pdb ${install_bin_pdb} $<TARGET_PDB_FILE:libhttpd>)
904+
ENDIF()
901905
TARGET_LINK_LIBRARIES(libhttpd ${EXTRA_LIBS} ${APR_LIBRARIES} ${PCRE_LIBRARIES} ${HTTPD_SYSTEM_LIBS})
902906
TARGET_COMPILE_DEFINITIONS(libhttpd PRIVATE
903907
"LONG_NAME=Apache HTTP Server Core"
@@ -910,7 +914,9 @@ ADD_DEPENDENCIES(libhttpd test_char_header)
910914
########### HTTPD EXECUTABLES ##########
911915
ADD_EXECUTABLE(httpd server/main.c build/win32/httpd.rc)
912916
SET(install_targets ${install_targets} httpd)
913-
SET(install_bin_pdb ${install_bin_pdb} $<TARGET_PDB_FILE:httpd>)
917+
IF(INSTALL_PDB)
918+
SET(install_bin_pdb ${install_bin_pdb} $<TARGET_PDB_FILE:httpd>)
919+
ENDIF()
914920
TARGET_COMPILE_DEFINITIONS(httpd PRIVATE
915921
"APP_FILE"
916922
"LONG_NAME=Apache HTTP Server"
@@ -940,7 +946,9 @@ FOREACH(pgm ${standard_support})
940946
SET(extra_sources ${pgm}_extra_sources)
941947
ADD_EXECUTABLE(${pgm} support/${pgm}.c ${${extra_sources}} build/win32/httpd.rc)
942948
SET(install_targets ${install_targets} ${pgm})
943-
SET(install_bin_pdb ${install_bin_pdb} $<TARGET_PDB_FILE:${pgm}>)
949+
IF(INSTALL_PDB)
950+
SET(install_bin_pdb ${install_bin_pdb} $<TARGET_PDB_FILE:${pgm}>)
951+
ENDIF()
944952
TARGET_COMPILE_DEFINITIONS(${pgm} PRIVATE
945953
"APP_FILE"
946954
"LONG_NAME=Apache HTTP Server ${pgm} program"
@@ -952,7 +960,9 @@ ENDFOREACH()
952960

953961
ADD_EXECUTABLE(ab support/ab.c build/win32/httpd.rc)
954962
SET(install_targets ${install_targets} ab)
955-
SET(install_bin_pdb ${install_bin_pdb} $<TARGET_PDB_FILE:ab>)
963+
IF(INSTALL_PDB)
964+
SET(install_bin_pdb ${install_bin_pdb} $<TARGET_PDB_FILE:ab>)
965+
ENDIF()
956966
SET(tmp_includes ${HTTPD_INCLUDE_DIRECTORIES})
957967
SET_TARGET_PROPERTIES(ab PROPERTIES INCLUDE_DIRECTORIES "${tmp_includes}")
958968
TARGET_COMPILE_DEFINITIONS(ab PRIVATE
@@ -965,7 +975,9 @@ TARGET_LINK_LIBRARIES(ab ${EXTRA_LIBS} ${APR_LIBRARIES} Ws2_32.lib)
965975
IF(OPENSSL_FOUND)
966976
ADD_EXECUTABLE(abs support/ab.c build/win32/httpd.rc)
967977
SET(install_targets ${install_targets} abs)
968-
SET(install_bin_pdb ${install_bin_pdb} $<TARGET_PDB_FILE:abs>)
978+
IF(INSTALL_PDB)
979+
SET(install_bin_pdb ${install_bin_pdb} $<TARGET_PDB_FILE:abs>)
980+
ENDIF()
969981
SET_TARGET_PROPERTIES(abs PROPERTIES COMPILE_DEFINITIONS HAVE_OPENSSL)
970982
SET(tmp_includes ${HTTPD_INCLUDE_DIRECTORIES} ${OPENSSL_INCLUDE_DIR})
971983
SET_TARGET_PROPERTIES(abs PROPERTIES INCLUDE_DIRECTORIES "${tmp_includes}")

0 commit comments

Comments
 (0)