FindMFC, CMAKE_MFC_FLAG: Update documentation
FindMFC:
- Synced module documentation with other similar find modules.
- Added examples section.
- Added reference link to CMAKE_MFC_FLAG variable.
CMAKE_MFC_FLAG:
- Added separate examples section.
- Mentioned FindMFC module.
- Used target_compile_definitions() instead of add_definitions().
diff --git a/Help/variable/CMAKE_MFC_FLAG.rst b/Help/variable/CMAKE_MFC_FLAG.rst
index 118e9c6..83cca8d 100644
--- a/Help/variable/CMAKE_MFC_FLAG.rst
+++ b/Help/variable/CMAKE_MFC_FLAG.rst
@@ -8,13 +8,25 @@
``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.
diff --git a/Modules/FindMFC.cmake b/Modules/FindMFC.cmake
index f34c328..27c5458 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