[Cmake] ADD_CUSTOM_COMMAND etc
Neil Killeen
Neil.Killeen at atnf.csiro.au
Mon Apr 14 00:50:51 EDT 2003
Andy
I don't know what is happening. I have used your example exactly, and made
an in source build (usually I do out of source) and still the Makefile
(attached) contains no custom commands
I did
. Create file (your example)
. Run cmake in location of file
% cmake .
On looking at the resultant Makefile there are no custom commands
(no sign of Latex etc). I am using CMake 1.6. I did this with both
Solaris and Linux with the same outcome.
Can you send me the Makefile you got (and tell me what
platform you generated it on) so I can see how it differs from mine.
regards
Neil
On 10 Apr 2003, Andy Cedilnik wrote:
> Hi Neil,
>
> I just tried this:
>
> PROJECT(Test)
>
> SET (LATEX_COMPILE latex)
>
> SET(DOC_ROOT ${Test_SOURCE_DIR}/Documentation)
>
> ADD_CUSTOM_TARGET (LaTeXDocument ALL)
> ADD_CUSTOM_COMMAND(
> SOURCE ${DOC_ROOT}/junk.tex
> COMMAND ${LATEX_COMPILE}
> ARGS ${DOC_ROOT}/junk.tex
> TARGET LaTeXDocument
> OUTPUTS ${Test_BINARY_DIR}/junk.dvi
> )
> ADD_CUSTOM_COMMAND(
> SOURCE LaTeXDocument
> TARGET LaTeXDocument
> DEPENDS ${Test_BINARY_DIR}/junk.dvi
> )
>
> And it works fine.
>
-------------- next part --------------
# CMAKE generated Makefile, DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 1.6
# Generated from the following files:
# /DATA/ELARA_3/mitk/Source/Documentation/CMakeCache.txt
# /DATA/ELARA_3/mitk/Source/Documentation/CMakeCCompiler.cmake
# /DATA/ELARA_3/mitk/Source/Documentation/CMakeCXXCompiler.cmake
# /DATA/ELARA_3/mitk/Source/Documentation/CMakeLists.txt
# /DATA/ELARA_3/mitk/Source/Documentation/CMakeSystem.cmake
# /usr/local/share/CMake/Modules/CMakeDefaultMakeRuleVariables.cmake
# /usr/local/share/CMake/Modules/CMakeSystemSpecificInformation.cmake
# /usr/local/share/CMake/Modules/Platform/SunOS.cmake
# Suppresses display of executed commands
.SILENT:
# disable some common implicit rules to speed things up
.SUFFIXES:
.SUFFIXES:.hpuxmakemusthaverule
CMAKE_MAKEFILE_SOURCES = /DATA/ELARA_3/mitk/Source/Documentation/CMakeCCompiler.cmake /DATA/ELARA_3/mitk/Source/Documentation/CMakeCXXCompiler.cmake /DATA/ELARA_3/mitk/Source/Documentation/CMakeLists.txt /DATA/ELARA_3/mitk/Source/Documentation/CMakeSystem.cmake /usr/local/share/CMake/Modules/CMakeDefaultMakeRuleVariables.cmake /usr/local/share/CMake/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/CMake/Modules/Platform/SunOS.cmake /DATA/ELARA_3/mitk/Source/Documentation/CMakeCache.txt
# the standard shell for make
SHELL = /bin/sh
CMAKE_COMMAND = /usr/local/bin/cmake
RM = /usr/local/bin/cmake -E remove -f
CMAKE_EDIT_COMMAND = /usr/local/bin/ccmake
CMAKE_CURRENT_SOURCE = /DATA/ELARA_3/mitk/Source/Documentation
CMAKE_CURRENT_BINARY = /DATA/ELARA_3/mitk/Source/Documentation
CMAKE_SOURCE_DIR = /DATA/ELARA_3/mitk/Source/Documentation
CMAKE_BINARY_DIR = /DATA/ELARA_3/mitk/Source/Documentation
INCLUDE_FLAGS = -I/DATA/ELARA_3/mitk/Source/Documentation
#---------------------------------------------------------
# Default target executed when no arguments are given to make, first make sure cmake.depends exists, cmake.check_depends is up-to-date, check the sources, then build the all target
#
default_target: /DATA/ELARA_3/mitk/Source/Documentation/cmake.check_cache
$(MAKE) $(MAKESILENT) cmake.depends
$(MAKE) $(MAKESILENT) cmake.check_depends
$(MAKE) $(MAKESILENT) -f cmake.check_depends
$(MAKE) $(MAKESILENT) all
TARGETS =
CLEAN_OBJECT_FILES =
#---------------------------------------------------------
# default build rule
#
all: cmake.depends $(TARGETS) $(SUBDIR_BUILD)
#---------------------------------------------------------
# clean generated files
#
clean: $(SUBDIR_CLEAN)
-@ $(RM) $(CLEAN_OBJECT_FILES) $(TARGETS) $(GENERATED_QT_FILES) $(GENERATED_FLTK_FILES)
#---------------------------------------------------------
# dependencies.
#
cmake.depends: $(CMAKE_MAKEFILE_SOURCES)
echo "Building dependencies. cmake.depends..."
$(CMAKE_COMMAND) -S$(CMAKE_CURRENT_SOURCE) -O$(CMAKE_CURRENT_BINARY) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
#---------------------------------------------------------
# dependencies
#
cmake.check_depends:
echo "Building dependencies cmake.check_depends..."
$(CMAKE_COMMAND) -S$(CMAKE_CURRENT_SOURCE) -O$(CMAKE_CURRENT_BINARY) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
#---------------------------------------------------------
# dependencies
#
depend: $(SUBDIR_DEPEND)
echo "Building dependencies depend..."
$(CMAKE_COMMAND) -S$(CMAKE_CURRENT_SOURCE) -O$(CMAKE_CURRENT_BINARY) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
#---------------------------------------------------------
# dependencies
#
dependlocal:
echo "Building dependencies dependlocal..."
$(CMAKE_COMMAND) -S$(CMAKE_CURRENT_SOURCE) -O$(CMAKE_CURRENT_BINARY) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
#---------------------------------------------------------
# CMakeCache.txt
#
rebuild_cache: $(CMAKE_BINARY_DIR)/CMakeCache.txt
echo "Building CMakeCache.txt rebuild_cache..."
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
#---------------------------------------------------------
# CMakeCache.txt because out-of-date:
#
/DATA/ELARA_3/mitk/Source/Documentation/cmake.check_cache: /DATA/ELARA_3/mitk/Source/Documentation/CMakeCache.txt
echo "Building CMakeCache.txt because out-of-date: /DATA/ELARA_3/mitk/Source/Documentation/cmake.check_cache..."
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
#---------------------------------------------------------
# edit CMakeCache.txt
#
edit_cache:
echo "Building edit CMakeCache.txt edit_cache..."
$(CMAKE_EDIT_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
#---------------------------------------------------------
# CMakeCache.txt
#
$(CMAKE_BINARY_DIR)/CMakeCache.txt:
echo "Building CMakeCache.txt $(CMAKE_BINARY_DIR)/CMakeCache.txt..."
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
#---------------------------------------------------------
# Rule to keep make from removing Makefiles if control-C is hit during a run of cmake.
#
.PRECIOUS: Makefile cmake.depends
# Rules to build .o files from their sources:
#---------------------------------------------------------
# tests
#
test:
echo "Building tests test..."
/usr/local/bin/ctest
INSTALL = /usr/local/share/CMake/Templates/install-sh -c
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA = $(INSTALL) -m 644
install: $(SUBDIR_INSTALL)
@echo "Installing ..."
include cmake.depends
More information about the CMake
mailing list