@@ -4,6 +4,7 @@ Check and configure compilation options.
44
55include_guard (GLOBAL )
66
7+ include (CheckLinkerFlag)
78include (CheckSourceRuns)
89include (CMakePushCheckState)
910include (PHP/CheckCompilerFlag)
@@ -75,13 +76,23 @@ target_compile_options(
7576
7677php_check_compiler_flag(C -Wall PHP_HAS_WALL_C)
7778php_check_compiler_flag(CXX -Wall PHP_HAS_WALL_CXX)
78- target_compile_options (
79- php_config
80- BEFORE
81- INTERFACE
82- $<$<AND :$<BOOL :${PHP_HAS_WALL_C} >,$<COMPILE_LANGUAGE:ASM,C>>:-Wall>
83- $<$<AND :$<BOOL :${PHP_HAS_WALL_CXX} >,$<COMPILE_LANGUAGE:CXX>>:-Wall>
84- )
79+ if (CMAKE_SYSTEM_NAME STREQUAL "Windows" )
80+ target_compile_options (
81+ php_config
82+ BEFORE
83+ INTERFACE
84+ $<$<AND :$<BOOL :${PHP_HAS_WALL_C} >,$<CONFIG:Debug>,$<COMPILE_LANGUAGE:ASM,C>>:-Wall>
85+ $<$<AND :$<BOOL :${PHP_HAS_WALL_CXX} >,$<CONFIG:Debug>,$<COMPILE_LANGUAGE:CXX>>:-Wall>
86+ )
87+ else ()
88+ target_compile_options (
89+ php_config
90+ BEFORE
91+ INTERFACE
92+ $<$<AND :$<BOOL :${PHP_HAS_WALL_C} >,$<COMPILE_LANGUAGE:ASM,C>>:-Wall>
93+ $<$<AND :$<BOOL :${PHP_HAS_WALL_CXX} >,$<COMPILE_LANGUAGE:CXX>>:-Wall>
94+ )
95+ endif ()
8596
8697# Check if compiler supports -Wno-clobbered (only GCC).
8798php_check_compiler_flag(C -Wno-clobbered PHP_HAS_WNO_CLOBBERED_C)
@@ -461,3 +472,19 @@ endif()
461472
462473# Align segments on huge page boundary.
463474include (PHP/CheckSegmentsAlignment)
475+
476+ check_linker_flag(C LINKER:/verbose PHP_HAS_VERBOSE_LINKER_FLAG_C)
477+ if (PHP_HAS_VERBOSE_LINKER_FLAG_C)
478+ target_link_options (
479+ php_config
480+ INTERFACE $<$<AND :$<CONFIG:Debug>,$<LINK_LANGUAGE:C>>:LINKER:/verbose>
481+ )
482+ endif ()
483+
484+ check_linker_flag(CXX LINKER:/verbose PHP_HAS_VERBOSE_LINKER_FLAG_CXX)
485+ if (PHP_HAS_VERBOSE_LINKER_FLAG_CXX)
486+ target_link_options (
487+ php_config
488+ INTERFACE $<$<AND :$<CONFIG:Debug>,$<LINK_LANGUAGE:CXX>>:LINKER:/verbose>
489+ )
490+ endif ()
0 commit comments