diff --git a/Help/variable/CMAKE_MFC_FLAG.rst b/Help/variable/CMAKE_MFC_FLAG.rst index 118e9c63e0..83cca8d830 100644 --- a/Help/variable/CMAKE_MFC_FLAG.rst +++ b/Help/variable/CMAKE_MFC_FLAG.rst @@ -8,13 +8,25 @@ It should be set to ``1`` for the static MFC library, and ``2`` for the shared MFC library. This is used in Visual Studio project files. +Contents of ``CMAKE_MFC_FLAG`` may use +:manual:`generator expressions `. + +Examples +^^^^^^^^ + Usage example: .. code-block:: cmake - add_definitions(-D_AFXDLL) set(CMAKE_MFC_FLAG 2) + add_executable(CMakeSetup WIN32 ${SRCS}) -Contents of ``CMAKE_MFC_FLAG`` may use -:manual:`generator expressions `. + # Visual Studio generators add this flag automatically based on the + # CMAKE_MFC_FLAG value, but generators matching "Make" require it: + target_compile_definitions(CMakeSetup PRIVATE _AFXDLL) + +See Also +^^^^^^^^ + +* The :module:`FindMFC` module to check whether MFC is installed and available. diff --git a/Modules/FindMFC.cmake b/Modules/FindMFC.cmake index f34c328f4f..27c5458358 100644 --- a/Modules/FindMFC.cmake +++ b/Modules/FindMFC.cmake @@ -5,16 +5,45 @@ FindMFC ------- -Find Microsoft Foundation Class Library (MFC) on Windows +Finds the native Microsoft Foundation Class Library (MFC) for developing MFC +applications on Windows. -Find the native MFC - i.e. decide if an application can link to the -MFC libraries. +.. note:: -:: + MFC is an optional component in Visual Studio and must be installed + separately for this module to succeed. - MFC_FOUND - Was MFC support found +Once the MFC libraries and headers are found, no additional manual linking is +needed, as they are part of the development environment. -You don't need to include anything or link anything to use it. +Result Variables +^^^^^^^^^^^^^^^^ + +This module defines the following variables: + +``MFC_FOUND`` + Boolean indicating whether MFC support is found. + +Examples +^^^^^^^^ + +Using this module to check if the application can link to the MFC libraries: + +.. code-block:: cmake + + find_package(MFC) + + if(MFC_FOUND) + # Example logic when MFC is available... + set(CMAKE_MFC_FLAG 2) + add_executable(app WIN32 main.cpp) + target_compile_definitions(app PRIVATE _AFXDLL) + endif() + +See Also +^^^^^^^^ + +* The :variable:`CMAKE_MFC_FLAG` variable. #]=======================================================================] # Assume no MFC support