Commit 52664912 authored by Brad King's avatar Brad King 💬
Browse files

ENH: Added test for generated header included by non-generated source.

parent 4cbcd085
......@@ -61,7 +61,7 @@ INCLUDE_DIRECTORIES(BEFORE
${Complex_BINARY_DIR}
)
INCLUDE_REGULAR_EXPRESSION("^(cmTest|file|sharedFile).*$" ".*")
INCLUDE_REGULAR_EXPRESSION("^(cmTest|file|sharedFile).*$" "^$")
LINK_DIRECTORIES(
${Complex_BINARY_DIR}/Library
......
......@@ -3,8 +3,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 1.3)
# Create exe.
#
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
SET_SOURCE_FILES_PROPERTIES(complex COMPILE_FLAGS
"-DFILE_HAS_EXTRA_COMPILE_FLAGS")
# Link to CMake lib
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
# Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
......@@ -22,6 +21,21 @@ ELSE(UNIX)
ENDIF(NOT BORLAND)
ENDIF (UNIX)
SET_SOURCE_FILES_PROPERTIES(complex
COMPILE_FLAGS "-DFILE_HAS_EXTRA_COMPILE_FLAGS"
OBJECT_DEPENDS ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
)
ADD_CUSTOM_COMMAND(
TARGET complex
SOURCE ${Complex_SOURCE_DIR}/cmTestGeneratedHeader.h.in
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${Complex_SOURCE_DIR}/cmTestGeneratedHeader.h.in
${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
OUTPUTS ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
DEPENDS ${CMAKE_COMMAND}
)
#
# Output the files required by 'complex' to a file.
#
......
#include "cmTestConfigure.h"
#include "cmTestConfigureEscape.h"
#include "cmTestGeneratedHeader.h"
#include "cmVersion.h"
#include "ExtraSources/file1.h"
#include "file2.h"
......@@ -808,6 +809,12 @@ int main()
#else
cmFailed("IF inside a FOREACH block is broken");
#endif
#if defined(GENERATED_HEADER_INCLUDED)
cmPassed("Generated header included by non-generated source works.");
#else
cmFailed("Generated header included by non-generated source failed.");
#endif
#ifdef FORCE_TEST
cmFailed("CMake SET CACHE FORCE");
......
#define GENERATED_HEADER_INCLUDED
......@@ -61,7 +61,7 @@ INCLUDE_DIRECTORIES(BEFORE
${Complex_BINARY_DIR}
)
INCLUDE_REGULAR_EXPRESSION("^(cmTest|file|sharedFile).*$" ".*")
INCLUDE_REGULAR_EXPRESSION("^(cmTest|file|sharedFile).*$" "^$")
LINK_DIRECTORIES(
${Complex_BINARY_DIR}/Library
......
......@@ -3,8 +3,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 1.3)
# Create exe.
#
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
SET_SOURCE_FILES_PROPERTIES(complex COMPILE_FLAGS
"-DFILE_HAS_EXTRA_COMPILE_FLAGS")
# Link to CMake lib
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
# Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
......@@ -22,6 +21,21 @@ ELSE(UNIX)
ENDIF(NOT BORLAND)
ENDIF (UNIX)
SET_SOURCE_FILES_PROPERTIES(complex
COMPILE_FLAGS "-DFILE_HAS_EXTRA_COMPILE_FLAGS"
OBJECT_DEPENDS ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
)
ADD_CUSTOM_COMMAND(
TARGET complex
SOURCE ${Complex_SOURCE_DIR}/cmTestGeneratedHeader.h.in
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${Complex_SOURCE_DIR}/cmTestGeneratedHeader.h.in
${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
OUTPUTS ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
DEPENDS ${CMAKE_COMMAND}
)
#
# Output the files required by 'complex' to a file.
#
......
#include "cmTestConfigure.h"
#include "cmTestConfigureEscape.h"
#include "cmTestGeneratedHeader.h"
#include "cmVersion.h"
#include "ExtraSources/file1.h"
#include "file2.h"
......@@ -808,6 +809,12 @@ int main()
#else
cmFailed("IF inside a FOREACH block is broken");
#endif
#if defined(GENERATED_HEADER_INCLUDED)
cmPassed("Generated header included by non-generated source works.");
#else
cmFailed("Generated header included by non-generated source failed.");
#endif
#ifdef FORCE_TEST
cmFailed("CMake SET CACHE FORCE");
......
......@@ -61,7 +61,7 @@ INCLUDE_DIRECTORIES(BEFORE
${Complex_BINARY_DIR}
)
INCLUDE_REGULAR_EXPRESSION("^(cmTest|file|sharedFile).*$" ".*")
INCLUDE_REGULAR_EXPRESSION("^(cmTest|file|sharedFile).*$" "^$")
LINK_DIRECTORIES(
${Complex_BINARY_DIR}/Library
......
......@@ -3,8 +3,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 1.3)
# Create exe.
#
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
SET_SOURCE_FILES_PROPERTIES(complex COMPILE_FLAGS
"-DFILE_HAS_EXTRA_COMPILE_FLAGS")
# Link to CMake lib
LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
# Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
......@@ -22,6 +21,21 @@ ELSE(UNIX)
ENDIF(NOT BORLAND)
ENDIF (UNIX)
SET_SOURCE_FILES_PROPERTIES(complex
COMPILE_FLAGS "-DFILE_HAS_EXTRA_COMPILE_FLAGS"
OBJECT_DEPENDS ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
)
ADD_CUSTOM_COMMAND(
TARGET complex
SOURCE ${Complex_SOURCE_DIR}/cmTestGeneratedHeader.h.in
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${Complex_SOURCE_DIR}/cmTestGeneratedHeader.h.in
${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
OUTPUTS ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
DEPENDS ${CMAKE_COMMAND}
)
#
# Output the files required by 'complex' to a file.
#
......
#include "cmTestConfigure.h"
#include "cmTestConfigureEscape.h"
#include "cmTestGeneratedHeader.h"
#include "cmVersion.h"
#include "ExtraSources/file1.h"
#include "file2.h"
......@@ -808,6 +809,12 @@ int main()
#else
cmFailed("IF inside a FOREACH block is broken");
#endif
#if defined(GENERATED_HEADER_INCLUDED)
cmPassed("Generated header included by non-generated source works.");
#else
cmFailed("Generated header included by non-generated source failed.");
#endif
#ifdef FORCE_TEST
cmFailed("CMake SET CACHE FORCE");
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment