[CMake] Questions about FFTW as an External Project within ITK

kent williams nkwmailinglists at gmail.com
Fri Dec 17 11:40:30 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 CMake mailing list