Merge branch 'main/rendor-staging' into main/atys-live
[ryzomcore.git] / CMakeModules / FindCustomMFC.cmake
blobb71e4a8d80409815b3e8ae036e525e9b250fbe52
1 # - Locate MFC libraries\r
2 # This module defines\r
3 #  MFC_FOUND, if false, do not try to link to MFC\r
4 #  MFC_LIBRARY_DIR, where to find libraries\r
5 #  MFC_INCLUDE_DIR, where to find headers\r
6 \r
7 IF(CustomMFC_FIND_REQUIRED)\r
8   SET(MFC_FIND_REQUIRED TRUE)\r
9 ENDIF()\r
11 IF(NOT MFC_DIR)\r
12   # If MFC have been found, remember their directory\r
13   IF(VC_DIR)\r
14     SET(MFC_STANDARD_DIR "${VC_DIR}/atlmfc")\r
15   ENDIF()\r
17   FIND_PATH(MFC_DIR\r
18     include/afxwin.h\r
19     HINTS\r
20     ${MFC_STANDARD_DIR}\r
21   )\r
22 ENDIF()\r
24 # Display an error message if MFC are not found, MFC_FOUND is updated\r
25 # User will be able to update MFC_DIR to the correct directory\r
26 INCLUDE(FindPackageHandleStandardArgs)\r
27 FIND_PACKAGE_HANDLE_STANDARD_ARGS(MFC DEFAULT_MSG MFC_DIR)\r
29 IF(MFC_FOUND)\r
30   SET(MFC_INCLUDE_DIR "${MFC_DIR}/include")\r
31   INCLUDE_DIRECTORIES(${MFC_INCLUDE_DIR})\r
33   # Using 32 or 64 bits libraries\r
34   IF(TARGET_X64)\r
35     SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib/amd64")\r
36   ELSE()\r
37     SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib")\r
38   ENDIF()\r
40   # Add MFC libraries directory to default library path\r
41   LINK_DIRECTORIES(${MFC_LIBRARY_DIR})\r
43   # Set definitions for using MFC in DLL\r
44   SET(MFC_DEFINITIONS -D_AFXDLL -DUNICODE -D_UNICODE)\r
46   # Set CMake flag to use MFC DLL\r
47   SET(CMAKE_MFC_FLAG 2)\r
48 ENDIF()\r
50 # TODO: create a macro which set MFC_DEFINITIONS, MFC_LIBRARY_DIR and MFC_INCLUDE_DIR for a project\r