@@ -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)
@@ -485,3 +496,19 @@ endif()
485496
486497# Align segments on huge page boundary.
487498include (PHP/CheckSegmentsAlignment)
499+
500+ check_linker_flag(C LINKER:/verbose PHP_HAS_VERBOSE_LINKER_FLAG_C)
501+ if (PHP_HAS_VERBOSE_LINKER_FLAG_C)
502+ target_link_options (
503+ php_config
504+ INTERFACE $<$<AND :$<CONFIG:Debug>,$<LINK_LANGUAGE:C>>:LINKER:/verbose>
505+ )
506+ endif ()
507+
508+ check_linker_flag(CXX LINKER:/verbose PHP_HAS_VERBOSE_LINKER_FLAG_CXX)
509+ if (PHP_HAS_VERBOSE_LINKER_FLAG_CXX)
510+ target_link_options (
511+ php_config
512+ INTERFACE $<$<AND :$<CONFIG:Debug>,$<LINK_LANGUAGE:CXX>>:LINKER:/verbose>
513+ )
514+ endif ()
0 commit comments