The following issue has been SUBMITTED. ====================================================================== http://public.kitware.com/Bug/view.php?id=12357 ====================================================================== Reported By: Michael Lowell Roberts Assigned To: ====================================================================== Project: CMake Issue ID: 12357 Category: CMake Reproducibility: always Severity: minor Priority: normal Status: new ====================================================================== Date Submitted: 2011-07-23 16:04 EDT Last Modified: 2011-07-23 16:04 EDT ====================================================================== Summary: ExternalProject.cmake ignores prefix when installing a CMake project. Description: If used on a CMake project, ExternalProject.cmake installs the external project into ${CMAKE_INSTALL_PREFIX}, not the default location specified by ExternalProject.cmake, nor any paths specified with the PREFIX or INSTALL_DIR keywords.
Steps to Reproduce: I've attached a copy of my project that can be used to reproduce the issue. This only reproduces the problem on Windows. In Linux, ExternalProject invokes automake to compile the external project (trio) instead of CMake. 1. Unpack the attached archive onto a Windows system. 2. Configure the project. I use Visual Studio 10 Express. 3. CMake will inform you that trio could not be found. Set the TRIO_DOWNLOAD cache variable to YES and reconfigure to address this. 4. Perform the generate step. 5. Build the project. You'll encounter the following messages: -- Install configuration: "Debug" -- Up-to-date: C:/Program Files/trio/include/trio.h -- Up-to-date: C:/Program Files/trio/include/triop.h -- Up-to-date: C:/Program Files/trio/include/triodef.h -- Up-to-date: C:/Program Files/trio/include/trionan.h -- Up-to-date: C:/Program Files/trio/include/triostr.h -- Installing: C:/Program Files/trio/lib/trio.lib ... C:\Documents and Settings\...\fmrl-ramalloc-991e072\src\test\shared\test.c(39): fatal error C1083: Cannot open include file: 'trio.h': No such file or directory This is because trio has been installed into "C:/Program Files/trio" instead of ${CMAKE_CURRENT_BINARY_DIR}/trio-prefix, where it is expected to be installed. Additional Information: The script that calls ExternalProject_Add() can be found in "cmake/trio.cmake". I've included a patch to ExternalProject.cmake in the source archive that appears to fix the problem. This patch is located at "cmake/trio/cmake-fix-external-install.diff". Due to the difference in how I use ExternalProject.cmake on different platforms, however, I'm unable to confirm that patch this fixes the issue on non-Windows platforms. ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2011-07-23 16:04 Michael Lowell RobertsNew Issue 2011-07-23 16:04 Michael Lowell RobertsFile Added: fmrl-ramalloc-release-0-105-g991e072.zip ====================================================================== _______________________________________________ cmake-developers mailing list cmake-developers@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers