MantisBT - CMake | ||||||||||
View Issue Details | ||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | |||||
0011332 | CMake | CMake | public | 2010-10-19 06:55 | 2011-01-12 07:42 | |||||
Reporter | Rolf Eike Beer | |||||||||
Assigned To | Brad King | |||||||||
Priority | normal | Severity | minor | Reproducibility | always | |||||
Status | closed | Resolution | fixed | |||||||
Platform | OS | OS Version | ||||||||
Product Version | CMake-2-8 | |||||||||
Target Version | CMake 2.8.4 | Fixed in Version | CMake 2.8.4 | |||||||
Summary | 0011332: No dependency from ADD_CUSTOM_COMMAND to external project | |||||||||
Description | The idea is like this: we have an project that generates a couple of files. In a special configuration of another project we need those files as input for a special build step. Those step will take those files, mangle them and will generate a source file at the end. I simulate this by a simple copy below. This is then added as usual to a library (in my example below to a executable, but that doesn't matter). When I run the example below I get: [ 80%] Built target Subdir_Build make[2]: *** No rule to make target `Subdir_Build', needed by `main.c'. Stop. The project "Subdir_Build" indeed exists, as "make Subdir_Build" runs fine. And it looks for me as it is properly build before the target depending on it. I have found no way to set a dependency on the external project (tried ADD_CUSTOM_COMMAND(DEPENDS), ADD_DEPENDENCIES, and SET_SOURCE_FILES_PROPERTIES). If CMake can't do this it should give at least an error at CMake time. Put this into CMakeLists.txt === snip === PROJECT(MaindirThing C) CMAKE_MINIMUM_REQUIRED(VERSION 2.8.2) INCLUDE(ExternalProject) ExternalProject_Add(Subdir_Build PREFIX "${CMAKE_CURRENT_BINARY_DIR}/build_subdir" SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/subdir" CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/build_subdir/install" INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/build_subdir/install" ) ADD_CUSTOM_COMMAND( OUTPUT "main.c" COMMAND ${CMAKE_COMMAND} ARGS -E copy ${CMAKE_CURRENT_BINARY_DIR}/build_subdir/install/foo ${CMAKE_CURRENT_BINARY_DIR}/main.c DEPENDS Subdir_Build ) ADD_EXECUTABLE(simple_exe main.c) === snap === And this goes to subdir/CMakeLists.txt === snip === PROJECT(SubdirThing NONE) CMAKE_MINIMUM_REQUIRED(VERSION 2.6) FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/foo_file "int main(void)\n{\n return 0;\n}\n") INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/foo_file DESTINATION .) === snap === | |||||||||
Steps To Reproduce | ||||||||||
Additional Information | ||||||||||
Tags | No tags attached. | |||||||||
Relationships |
| |||||||||
Attached Files | ||||||||||
Issue History | ||||||||||
Date Modified | Username | Field | Change | |||||||
2010-10-19 06:55 | Rolf Eike Beer | New Issue | ||||||||
2010-10-19 07:08 | Michael Wild | Note Added: 0022532 | ||||||||
2010-10-19 07:09 | Michael Wild | Note Edited: 0022532 | ||||||||
2010-10-19 07:09 | Michael Wild | Note Edited: 0022532 | ||||||||
2010-10-19 07:28 | Michael Wild | Note Edited: 0022532 | ||||||||
2010-10-19 09:12 | Rolf Eike Beer | Note Added: 0022534 | ||||||||
2010-10-19 09:32 | Michael Wild | Note Added: 0022535 | ||||||||
2010-10-19 10:40 | Rolf Eike Beer | Note Added: 0022540 | ||||||||
2010-10-19 11:15 | Michael Wild | Note Added: 0022541 | ||||||||
2010-10-19 12:01 | Rolf Eike Beer | Note Added: 0022543 | ||||||||
2010-10-19 13:23 | Michael Wild | Note Added: 0022544 | ||||||||
2010-11-10 13:11 | David Cole | Assigned To | => David Cole | |||||||
2010-11-10 13:11 | David Cole | Status | new => assigned | |||||||
2010-11-10 13:11 | David Cole | Target Version | => CMake 2.8.4 | |||||||
2010-12-08 16:43 | Brad King | Assigned To | David Cole => Brad King | |||||||
2010-12-08 17:38 | Brad King | Note Added: 0023827 | ||||||||
2010-12-08 17:39 | Brad King | Status | assigned => closed | |||||||
2010-12-08 17:39 | Brad King | Resolution | open => fixed | |||||||
2011-01-12 07:42 | David Cole | Fixed in Version | => CMake 2.8.4 | |||||||
2011-04-08 08:56 | Brad King | Relationship added | has duplicate 0012057 |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|