Merge topic 'patch-FindMFC'

bc9faec5e5 FindMFC, CMAKE_MFC_FLAG: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10720
This commit is contained in:
Brad King
2025-04-29 15:04:12 +00:00
committed by Kitware Robot
2 changed files with 50 additions and 9 deletions

View File

@@ -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 <cmake-generator-expressions(7)>`.
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 <cmake-generator-expressions(7)>`.
# 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.

View File

@@ -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