Hello John,
On Wednesday 17 April 2013 23:38:36 John Gallagher wrote:
> 3. (This one is unclear.) Somehow build proj1 before configuring proj2, and
> point proj2 at proj1's build directory so it can find Proj1Config.cmake.
> This seems fragile at best (prefix, RPATH, etc issues).
when using ExternalProject, dependencies between projects can look like this
(small excerpt from a superbuild project that I wrote):
…
include(ExternalProject)
# Build ZLIB first
ExternalProject_Add(EP_ZLIB
URL
http://download.sourceforge.net/project/libpng/zlib/1.2.7/zlib-1.2.7.tar.gz
URL_MD5 "60df6a37c56e7c1366cca812414f7b85"
PATCH_COMMAND patch -p0 <
${CMAKE_CURRENT_LIST_DIR}/zlib-CMakeLists.txt-OUTPUT_NAME.patch && patch -p0 <
${CMAKE_CURRENT_LIST_DIR}/zlib-CMakeLists.txt-version-script.patch
INSTALL_DIR ${INSTALL_DIR}
CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${TOOLCHAIN_FILE}
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_BUILD_TYPE:STRING=Release
)
…
# For building CURL, use ZLIB that has been built before
ExternalProject_Add(EP_LIBCURL
DEPENDS EP_ZLIB
URL http://curl.haxx.se/download/curl-7.27.0.tar.gz
URL_MD5 "f0e48fdb635b5939e02a9291b89e5336"
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
--host=${ARCH_TRIPLET} --disable-static --disable-manual
--with-zlib=<INSTALL_DIR> CC=${CMAKE_C_COMPILER} LD=${CMAKE_LINKER}
INSTALL_DIR ${INSTALL_DIR}
)
Kind regards
Benjamin
--
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake