# - Locate MFC libraries # This module defines # MFC_FOUND, if false, do not try to link to MFC # MFC_LIBRARY_DIR, where to find libraries # MFC_INCLUDE_DIR, where to find headers # Try to find MFC using official module, MFC_FOUND is set FIND_PACKAGE(MFC) SET(CUSTOM_MFC_DIR FALSE) # If using STLport and MFC have been found, remember its directory IF(WITH_STLPORT AND MFC_FOUND AND VC_DIR) SET(MFC_STANDARD_DIR "${VC_DIR}/atlmfc") ENDIF(WITH_STLPORT AND MFC_FOUND AND VC_DIR) # If using STLport or MFC haven't been found, search for afxwin.h IF(WITH_STLPORT OR NOT MFC_FOUND) FIND_PATH(MFC_DIR include/afxwin.h PATHS ${MFC_STANDARD_DIR} ) IF(CustomMFC_FIND_REQUIRED) SET(MFC_FIND_REQUIRED TRUE) ENDIF(CustomMFC_FIND_REQUIRED) # Display an error message if MFC are not found, MFC_FOUND is updated # User will be able to update MFC_DIR to the correct directory INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(MFC DEFAULT_MSG MFC_DIR) IF(MFC_FOUND) SET(CUSTOM_MFC_DIR TRUE) SET(MFC_INCLUDE_DIR "${MFC_DIR}/include") INCLUDE_DIRECTORIES(${MFC_INCLUDE_DIR}) ENDIF(MFC_FOUND) ENDIF(WITH_STLPORT OR NOT MFC_FOUND) # Only if using a custom path IF(CUSTOM_MFC_DIR) # Using 32 or 64 bits libraries IF(TARGET_X64) SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib/amd64") ELSE(TARGET_X64) SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib") ENDIF(TARGET_X64) # Add MFC libraries directory to default library path LINK_DIRECTORIES(${MFC_LIBRARY_DIR}) ENDIF(CUSTOM_MFC_DIR) IF(MFC_FOUND) # Set definitions for using MFC in DLL SET(MFC_DEFINITIONS -D_AFXDLL) ENDIF(MFC_FOUND) # TODO: create a macro which set MFC_DEFINITIONS, MFC_LIBRARY_DIR and MFC_INCLUDE_DIR for a project