I'm trying to get get CMake to do the equivalent from this Makefile. I'm using
cp in this simple example, but want to use different commands in my project.
==Makefile==
srcdir=..
hij: a/efg
cp a/efg hij
a/efg: $(srcdir)/a/abc
-mkdir a
cp $(srcdir)/a/abc a/efg
==========
For this I am using two CMakeLists.txt files.
==CMakeLists.txt==
cmake_minimum_required(VERSION 2.8)
add_subdirectory(a)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/hij
COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different
${CMAKE_CURRENT_BINARY_DIR}/a/efg
${CMAKE_CURRENT_BINARY_DIR}/hij
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/a/efg
VERBATIM
)
add_custom_target(hij_target ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/hij)
==================
==a/CMakeLists.txt==
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/efg
COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different
${CMAKE_CURRENT_SOURCE_DIR}/abc
${CMAKE_CURRENT_BINARY_DIR}/efg
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/abc
VERBATIM
)
====================
This gives me the error:
make[2]: *** No rule to make target `a/efg', needed by `hij'. Stop.
make[1]: *** [CMakeFiles/hij_target.dir/all] Error 2
make: *** [all] Error 2
How can cmake be made to understand this simple dependency?
Cheers,
Jos
--
Jos van den Oever, software architect
+49 391 25 19 15 53
074 3491911
http://kogmbh.com/legal/
--
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