[Cmake] ADD_CUSTOM_COMMAND + SWIG

Mathieu Malaterre Mathieu . Malaterre at creatis . insa-lyon . fr
Thu, 09 Oct 2003 17:45:00 +0200


Hi all,

	Yet another question of the day. I tried following the indications on page:

http://www . cmake . org/pipermail/cmake/2003-January/003221 . html

	But I can't make it works:

###########################
SET(GDCM_PYTHON_SOURCES
   gdcm_wrap.cxx
)

SET_SOURCE_FILES_PROPERTIES(gdcm_wrap.cxx GENERATED)

ADD_LIBRARY(pygdcm ${GDCM_PYTHON_SOURCES})

ADD_CUSTOM_COMMAND(
SOURCE    ${GDCM_SOURCE_DIR}/gdcmPython/gdcm.i
COMMAND   swig
ARGS      -python -c++ -I${GDCM_SOURCE_DIR}/src -o gdcm_wrap.cxx
${GDCM_SOURCE_DIR}/gdcmPython/gdcm.i
OUTPUTS   gdcm_wrap.cxx
TARGET    pygdcm
)
###########################

cmake complains :

Building dependencies. cmake.depends...
/home/malat/Kitware/CMakeBin/bin/cmake -S/tmp/cmake/gdcm/gdcmPython
-O/tmp/cmake/gdcm/bin/gdcmPython -H/tmp/cmake/gdcm -B/tmp/cmake/gdcm/bin
make  cmake.depends
make[1]: Entre dans le répertoire `/tmp/cmake/gdcm/bin/gdcmPython'
make[1]: `cmake.depends' est à jour.
make[1]: Quitte le répertoire `/tmp/cmake/gdcm/bin/gdcmPython'
make  cmake.check_depends
make[1]: Entre dans le répertoire `/tmp/cmake/gdcm/bin/gdcmPython'
make[1]: *** Pas de règle pour fabriquer la cible
`/tmp/cmake/gdcm/bin/gdcmPython/gdcm_wrap.cxx', nécessaire pour
`cmake.check_depends'. Arrêt.
make[1]: Quitte le répertoire `/tmp/cmake/gdcm/bin/gdcmPython'
make: *** [default_target] Erreur 2


...which means in english;
*** No rule to make target 
'/tmp/cmake/gdcm/bin/gdcmPython/gdcm_wrap.cxx' ...

However the Makefile looks ok:

...
#---------------------------------------------------------
# Custom command
#

gdcm_wrap.cxx:  /tmp/cmake/gdcm/gdcmPython/gdcm.i
	@echo "Building Custom command gdcm_wrap.cxx..."
	swig -python -c++ -I/tmp/cmake/gdcm/src -o gdcm_wrap.cxx
/tmp/cmake/gdcm/gdcmPython/gdcm.i

...

Thanks,
mathieu