@ -2107,109 +2107,7 @@ if(BUILD_TESTING)
list ( APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/MakeClean" )
endif ( )
if ( NOT DEFINED CTEST_RUN_MFC )
set ( CTEST_RUN_MFC OFF )
if ( MSVC )
set ( CTEST_RUN_MFC ON )
# L o o k f o r e v i d e n c e t h a t t h i s i s a V C E x p r e s s b u i l d . I f s o , a v o i d
# t h e M F C t e s t b y d e f a u l t .
string ( TOLOWER "${CMAKE_MAKE_PROGRAM}" mkprog )
if ( mkprog MATCHES "vcexpress" )
message ( STATUS
" C M A K E _ M A K E _ P R O G R A M i n d i c a t e s v c e x p r e s s , a v o i d i n g M F C t e s t " )
set ( CTEST_RUN_MFC OFF )
endif ( )
# S i n c e M S B u i l d m i g h t a l s o b e t h e " m a k e p r o g r a m " f o r a V C E x p r e s s
# b u i l d t r e e , u s e o n e m o r e h e u r i s t i c , t o o . T h e s t r i n g r e p r e s e n t i n g
# t h e . v c p r o j f i l e t y p e c o n t a i n s " V C E x p r e s s " o n m a c h i n e s w h e r e a n
# e x p r e s s e d i t i o n o f V S w a s i n s t a l l e d l a s t :
if ( CTEST_RUN_MFC )
execute_process ( COMMAND cmd /c assoc .vcproj
O U T P U T _ S T R I P _ T R A I L I N G _ W H I T E S P A C E
O U T P U T _ V A R I A B L E o v )
if ( ov MATCHES "VCExpress" )
message ( STATUS
" . v c p r o j f i l e a s s o c i a t i o n i n d i c a t e s V C E x p r e s s , a v o i d i n g M F C t e s t " )
set ( CTEST_RUN_MFC OFF )
elseif ( NOT ov )
message ( STATUS
" . v c p r o j h a s n o f i l e a s s o c i a t i o n , a v o i d i n g M F C t e s t " )
set ( CTEST_RUN_MFC OFF )
endif ( )
endif ( )
if ( CTEST_RUN_MFC )
# F o r t h e W a t c o m W M a k e g e n e r a t o r , a v o i d t h e M F C t e s t b y d e f a u l t .
if ( "${CMAKE_GENERATOR}" MATCHES "WMake" )
message ( STATUS
" u s i n g t h e W a t c o m W M a k e g e n e r a t o r , a v o i d i n g M F C t e s t " )
set ( CTEST_RUN_MFC OFF )
elseif ( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "IntelLLVM" )
# c l a n g - c l c a n n o t d e a l w i t h i m p l i c i t d e p e n d e n c i e s i n U T F 1 6 f i l e s
# ( s e e # 1 8 3 1 1 ) . I n t e l L L V M i n h e r i t s t h i s b e h a v i o r f r o m C l a n g .
# T O D O : m a y b e c l a n g s h o u l d a l s o s k i p t h e M F C t e s t
message ( STATUS
" u s i n g g e n e r a t o r o t h e r t h a n V i s u a l S t u d i o w i t h c l a n g - c l , a v o i d i n g M F C t e s t " )
set ( CTEST_RUN_MFC OFF )
endif ( )
endif ( )
# L a s t r e s o r t , a f t e r q u i c k c h e c k s a r e d o n e . D o a t r y _ c o m p i l e , a n d a v o i d
# t h e M F C t e s t i f t h e s i m p l e s t p o s s i b l e M F C a p p c a n n o t b e c o m p i l e d .
if ( CTEST_RUN_MFC AND NOT DEFINED HAVE_MFC )
configure_file (
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / M F C / t r y _ c o m p i l e / C M a k e L i s t s . t x t
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / M F C / t r y _ c o m p i l e / C M a k e L i s t s . t x t
C O P Y O N L Y
)
configure_file (
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / M F C / m f c 1 / s t d a f x . c p p
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / M F C / t r y _ c o m p i l e / s t d a f x . c p p
C O P Y O N L Y
)
configure_file (
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / M F C / m f c 1 / s t d a f x . h
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / M F C / t r y _ c o m p i l e / s t d a f x . h
C O P Y O N L Y
)
message ( STATUS "Looking for MFC" )
try_compile ( HAVE_MFC
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / M F C / t r y _ c o m p i l e / b u i l d
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / M F C / t r y _ c o m p i l e
t r y _ c o m p i l e _ m f c
O U T P U T _ V A R I A B L E H A V E _ M F C _ O U T P U T )
if ( HAVE_MFC )
message ( STATUS "Looking for MFC - found" )
set ( HAVE_MFC 1 CACHE INTERNAL "Have MFC" )
file ( APPEND
$ { C M A K E _ B I N A R Y _ D I R } $ { C M A K E _ F I L E S _ D I R E C T O R Y } / C M a k e O u t p u t . l o g
" D e t e r m i n i n g i f M F C e x i s t s p a s s e d w i t h t h e f o l l o w i n g o u t p u t : \ n "
" $ { H A V E _ M F C _ O U T P U T } \ n \ n " )
else ( )
message ( STATUS "Looking for MFC - not found" )
set ( HAVE_MFC "" CACHE INTERNAL "Have MFC" )
file ( APPEND
$ { C M A K E _ B I N A R Y _ D I R } $ { C M A K E _ F I L E S _ D I R E C T O R Y } / C M a k e E r r o r . l o g
" D e t e r m i n i n g i f M F C e x i s t s f a i l e d w i t h t h e f o l l o w i n g o u t p u t : \ n "
" $ { H A V E _ M F C _ O U T P U T } \ n \ n " )
endif ( )
endif ( )
if ( CTEST_RUN_MFC AND NOT HAVE_MFC )
message ( STATUS
" c a n n o t c o m p i l e s i m p l e s t e v e r M F C a p p , a v o i d i n g M F C t e s t " )
set ( CTEST_RUN_MFC OFF )
endif ( )
endif ( )
endif ( )
if ( CTEST_RUN_MFC )
if ( CMake_TEST_MFC )
add_test ( MFC ${ CMAKE_CTEST_COMMAND }
- - b u i l d - a n d - t e s t
" $ { C M a k e _ S O U R C E _ D I R } / T e s t s / M F C "