2002-01-17 23:49:08 +03:00
|
|
|
#
|
2002-01-19 03:21:43 +03:00
|
|
|
# A more complex test case
|
2002-01-17 23:49:08 +03:00
|
|
|
#
|
2001-08-23 21:57:45 +04:00
|
|
|
PROJECT (Complex)
|
|
|
|
|
2002-01-17 23:49:08 +03:00
|
|
|
#
|
|
|
|
# Use the ansi CXX compile flag for building cmake
|
|
|
|
#
|
2001-08-29 00:06:52 +04:00
|
|
|
IF (CMAKE_ANSI_CXXFLAGS)
|
|
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}")
|
|
|
|
ENDIF (CMAKE_ANSI_CXXFLAGS)
|
2001-08-27 18:11:48 +04:00
|
|
|
|
2001-08-23 21:57:45 +04:00
|
|
|
ADD_DEFINITIONS(-DCMAKE_IS_FUN)
|
|
|
|
|
2002-01-19 04:32:06 +03:00
|
|
|
IF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
|
|
|
|
INCLUDE(${Complex_SOURCE_DIR}/VarTests.cmake)
|
|
|
|
ENDIF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
|
2001-08-23 21:57:45 +04:00
|
|
|
|
2002-01-19 03:21:43 +03:00
|
|
|
LOAD_CACHE(${Complex_SOURCE_DIR})
|
|
|
|
|
2001-08-23 21:57:45 +04:00
|
|
|
CONFIGURE_FILE(
|
2002-01-17 23:49:08 +03:00
|
|
|
${Complex_SOURCE_DIR}/cmTestConfigure.h.in
|
|
|
|
${Complex_BINARY_DIR}/cmTestConfigure.h)
|
2001-08-23 21:57:45 +04:00
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES(
|
2002-01-17 23:49:08 +03:00
|
|
|
${Complex_BINARY_DIR}
|
|
|
|
${Complex_SOURCE_DIR}/Library
|
|
|
|
${Complex_SOURCE_DIR}/../../Source
|
2001-08-23 21:57:45 +04:00
|
|
|
)
|
2002-01-17 23:49:08 +03:00
|
|
|
|
2001-08-23 21:57:45 +04:00
|
|
|
LINK_DIRECTORIES(
|
2002-01-17 23:49:08 +03:00
|
|
|
${Complex_BINARY_DIR}/Library
|
2001-08-23 21:57:45 +04:00
|
|
|
)
|
|
|
|
|
|
|
|
INCLUDE_REGULAR_EXPRESSION("^(cmTest|file|sharedFile).*$")
|
|
|
|
|
2002-01-17 23:49:08 +03:00
|
|
|
SET (LIBRARY_OUTPUT_PATH
|
|
|
|
${Complex_BINARY_DIR}/bin/ CACHE PATH
|
|
|
|
"Single output directory for building all libraries.")
|
|
|
|
|
|
|
|
SET (EXECUTABLE_OUTPUT_PATH
|
|
|
|
${Complex_BINARY_DIR}/bin/ CACHE PATH
|
|
|
|
"Single output directory for building all executables.")
|
|
|
|
|
|
|
|
#
|
|
|
|
# Where will executable tests be written ?
|
|
|
|
#
|
|
|
|
IF (EXECUTABLE_OUTPUT_PATH)
|
|
|
|
SET (CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
|
|
|
|
ELSE (EXECUTABLE_OUTPUT_PATH)
|
|
|
|
SET (CXX_TEST_PATH .)
|
|
|
|
ENDIF (EXECUTABLE_OUTPUT_PATH)
|
|
|
|
|
|
|
|
SUBDIRS(Library Executable)
|
|
|
|
SUBDIR_DEPENDS(Executable Library)
|
|
|
|
|
2002-01-18 20:03:32 +03:00
|
|
|
#
|
2002-01-19 04:32:06 +03:00
|
|
|
# Exec program (TODO: test a result)
|
2002-01-18 20:03:32 +03:00
|
|
|
# Increase coverage.
|
|
|
|
#
|
2002-01-19 04:32:06 +03:00
|
|
|
OPTION(NO_EXEC_PROGRAM "Do not test EXEC_PROGRAM" 0)
|
|
|
|
IF (NOT NO_EXEC_PROGRAM)
|
|
|
|
EXEC_PROGRAM("echo NO_EXEC_PROGRAM" "${Complex_BINARY_DIR}")
|
|
|
|
ELSE (NOT NO_EXEC_PROGRAM)
|
|
|
|
MESSAGE("Set this option ON")
|
|
|
|
ENDIF (NOT NO_EXEC_PROGRAM)
|
|
|
|
|
|
|
|
MARK_AS_ADVANCED(NO_EXEC_PROGRAM)
|
|
|
|
MARK_AS_ADVANCED(CLEAR NO_EXEC_PROGRAM)
|
2002-01-17 23:49:08 +03:00
|
|
|
|
2002-01-19 03:21:43 +03:00
|
|
|
#
|
|
|
|
# More coverage
|
|
|
|
#
|
|
|
|
ABSTRACT_FILES(
|
|
|
|
ExtraSources/file1.cxx
|
|
|
|
)
|
|
|
|
|
|
|
|
INSTALL_FILES(/tmp .h ${Complex_BINARY_DIR}/cmTestConfigure.h)
|
|
|
|
|
|
|
|
#
|
|
|
|
# Create directory.
|
|
|
|
# The 'complex' executable will then test if this dir exists,
|
|
|
|
# sadly it won't be able to remove it.
|
|
|
|
#
|
|
|
|
MAKE_DIRECTORY("${Complex_BINARY_DIR}/make_dir")
|
|
|
|
|
2002-01-19 04:32:06 +03:00
|
|
|
#
|
|
|
|
# Testing
|
|
|
|
#
|
|
|
|
ENABLE_TESTING()
|
|
|
|
|
2002-01-19 03:21:43 +03:00
|
|
|
#
|
|
|
|
# Test Cable
|
|
|
|
#
|
|
|
|
CABLE_CLASS_SET(Float float)
|
|
|
|
CABLE_CLASS_SET(Mesh "itk::Mesh<$Float>")
|
|
|
|
|