[CMake] INSTALL_COMMAND for ExternalProject not overriding the install step

Chris Morgan chmorgan at gmail.com
Tue Nov 5 10:23:53 EST 2013


Doh. I guess I assumed that would have been kicked out earlier when I
ran 'cmake ../".

Thank you, that works now. Sorry for the noise.

Chris



On Tue, Nov 5, 2013 at 10:20 AM, Julien Malik <julien.malik at c-s.fr> wrote:
> INSTALL_COMMMAND -> INSTALL_COMMAND (with only 2 'M') ?
>
>
> On 11/05/2013 04:16 PM, Chris Morgan wrote:
>> Hello.
>>
>> I'm using ExternalProject to build a CMakeLists.txt in a subdirectory.
>> This subdirectory is used by other applications, files are included
>> from that subdirectory directly, but that subdirectory doesn't install
>> anything but does contain the unit tests for the files in that
>> directory and I'd still like 'make test' to work properly from my top
>> level CMakeLists.txt that is including this ExternalProject.
>>
>> So, I'm trying to override the INSTALL_COMMAND but it doesn't appear
>> to be working correctly.
>>
>> #add_subdirectory(shared_cpp)
>> ExternalProject_Add(
>>     shared_cpp
>>     SOURCE_DIR ${CMAKE_SOURCE_DIR}/shared_cpp
>>     CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
>>                -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
>>     TEST_COMMAND make test
>>     INSTALL_COMMMAND ""
>> )
>>
>>
>> I'm still seeing cmake calling 'make install' and this causes a build failure:
>>
>> make[2]: Entering directory `/home/cmorgan/projects/external/build'
>> /usr/bin/cmake -E cmake_progress_report
>> /home/cmorgan/projects/external/build/CMakeFiles 18
>> [ 39%] Performing install step for 'shared_cpp'
>> cd /home/cmorgan/projects/external/build/shared_cpp-prefix/src/shared_cpp-build
>> && make install
>> make[3]: Entering directory
>> `/home/cmorgan/projects/external/build/shared_cpp-prefix/src/shared_cpp-build'
>> make[3]: *** No rule to make target `install'.  Stop.
>> make[3]: Leaving directory
>> `/home/cmorgan/projects/external/build/shared_cpp-prefix/src/shared_cpp-build'
>> make[2]: *** [shared_cpp-prefix/src/shared_cpp-stamp/shared_cpp-install] Error 2
>> make[2]: Leaving directory `/home/cmorgan/projects/external/build'
>> make[1]: *** [CMakeFiles/shared_cpp.dir/all] Error 2
>> make[1]: Leaving directory `/home/cmorgan/projects/external/build'
>> make: *** [all] Error 2
>> [cmorgan at localhost build]$
>>
>>
>>
>> Any ideas how I can fix this?
>>
>> It may be that I've got something structurally wrong with the project,
>> for instance, because the shared_cpp/ CMakeLists.txt isn't installing
>> anything, so I'd welcome suggestions. The files in this directory are
>> used by several different applications (and the folder is itself a git
>> submodule). Should I be making this into a library?? I haven't been
>> able to find good cmake examples for large multi-executable projects
>> and I didn't really want to have separate git repositories for each of
>> our small executables that contained their own submodules of
>> shared_cpp, for instance.
>>
>> Chris
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For more information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake
>>
>


More information about the CMake mailing list