[Insight-developers] FFTW as an external project?

kent williams norman-k-williams at uiowa.edu
Fri Dec 17 11:39:05 EST 2010


I've got a 'Work In Progress' patch for the ITK CMake build system that
builds FFTW as an external project.

I've got a few CMake questions about how to go about finishing it.

1. When I build FFTW using ExternalProject_add, it does a local install --
The prefix directory is ${CMAKE_BINARY_DIR}/FFTW, the libraries end up in
${CMAKE_BINARY_DIR}/FFTW/lib and the include files in
${CMAKE_BINARY_DIR}/FFTW/include.

This is sufficient to build ITK with FFTW turned on.  But to deploy an
installation, I'd have to copy the libraries and headers into the ITK
install, because they're needed if anyone uses an FFTW class.

Not sure on how to do the install step CMake-wise.  would this be
sufficient?

install(FILES ${CMAKE_BINARY_DIR}/FFTW/lib/libfftw3.a
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
install(FILES ${CMAKE_BINARY_DIR}/FFTW/include/fftw3.h
DESTINATION ${CMAKE_INSTALL_PREFIX}/include)

I'm thinking thats kind of awful, but I don't know of a more elegant
solution. I also don't know the CMake variable to use for the library file
extension.

2. I don't know how to make the Algorithms library depend on the FFTW
external project.  If I do a sequential build, FFTW does get built before
everything else, but if I do a parallel build, FFTW builds concurrent with
the rest of ITK.  This could definitely fail.




More information about the Insight-developers mailing list