Andrew,

I don't think that in your case MFC is an option: this is the "Microsoft Foundation Classes" (or something like this) layer, a (the) GUI implementation for MS Windows.

I would guess that your compile and/or link errors are caused by, let's say, a not 100% robust build-setup (which is of course very difficult to achieve, given the fact that any of the possible dependencies could be present or not on a given client system).

So the simplest way around the build problems would be to just disable all builds in those libraries/apps that give problems, and keep doing that until you get it building.
In this respect, have a look at the various "BUILD_*" settings in the CMakeCache.txt file in your build directory (and set the relevant ones to "OFF", e.g. BUILD_BRL).
Unless of course you wanted to use the functionality in one particular library; in that case you need to (wait for someone to) remove all unnecessary MFC (or other) dependencies, possibly replacing it by something equivalent.

HTH,

--      Peter.

--- On monday 2011-04-04 Andrew Hoelscher <anjruu@gmail.com> writes :
So, I took a closer look at the CMakeList.txt, and I think I have an idea of what the problem might be. bwm_site_mgr depends on process/bwm_site_process and process/bwm_process, however, the cxx files for these classes are only built if the user has MFC. I'm not sure what MFC is, but I don't think I have it. Here are the relevant lines from the CMakeList.txt:

IF(MFC_FOUND)
  # add stuff to use MFC in this executable
  ADD_DEFINITIONS( "-D_AFXDLL" )
  SET(CMAKE_MFC_FLAG 2)
  SET(bwm_sources ${bwm_sources}
     process/bwm_process.cxx           process/bwm_process.h
     process/bwm_site_process.cxx      process/bwm_site_process.h
  )
ENDIF(MFC_FOUND)


bwm_site_mgr.h is included regardless of MFC_FOUND, though it does depend on the existence of EXPAT, EXPATPP and SHAPELIB (again, not sure what any of those are). 

IF(EXPAT_FOUND)
 IF(EXPATPP_FOUND)
  INCLUDE_DIRECTORIES (${EXPAT_INCLUDE_DIRS} )
  INCLUDE_DIRECTORIES (${EXPATPP_INCLUDE_DIRS} )
  IF(SHAPELIB_FOUND)
    ADD_DEFINITIONS( -DHAS_SHAPELIB=1 )
    INCLUDE_DIRECTORIES( ${BRL_INCLUDE_DIR}/b3p/shapelib)
    SET(bwm_sources ${bwm_sources}
         bunches of stuff, including bwm_site_mgr.h
    )
  ENDIF(SHAPELIB_FOUND)
 ENDIF(EXPATPP_FOUND)
ENDIF(EXPAT_FOUND)

So, my questions are, am I right in my guesses about the dependency order, would getting MFC fix the problem, if so, what is MFC, and how do I get it?

-Andrew