[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