Merge topic 'test-makefile-custom-target-includes'

434f5cef Tests: Add case for IMPLICIT_DEPENDS in custom target
6d1be6e3 Tests: Split RunCMake.BuildDepends make-only condition

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !766
This commit is contained in:
Brad King
2017-04-27 13:00:12 +00:00
committed by Kitware Robot
5 changed files with 30 additions and 3 deletions

View File

@@ -0,0 +1,13 @@
add_custom_command(
OUTPUT output.cxx
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/MakeCustomIncludes.cxx output.cxx
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/MakeCustomIncludes.cxx
IMPLICIT_DEPENDS CXX ${CMAKE_CURRENT_SOURCE_DIR}/MakeCustomIncludes.cxx)
add_custom_target(generate ALL DEPENDS output.cxx)
set_property(TARGET generate PROPERTY INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR})
file(GENERATE OUTPUT check-$<LOWER_CASE:$<CONFIG>>.cmake CONTENT "
set(check_pairs
\"${CMAKE_CURRENT_BINARY_DIR}/output.cxx|${CMAKE_CURRENT_BINARY_DIR}/MakeCustomIncludes.h\"
)
")

View File

@@ -0,0 +1,6 @@
#include "MakeCustomIncludes.h"
int main()
{
return MakeCustomIncludes();
}

View File

@@ -0,0 +1,3 @@
file(WRITE "${RunCMake_TEST_BINARY_DIR}/MakeCustomIncludes.h" [[
inline int MakeCustomIncludes() { return 1; }
]])

View File

@@ -0,0 +1,3 @@
file(WRITE "${RunCMake_TEST_BINARY_DIR}/MakeCustomIncludes.h" [[
inline int MakeCustomIncludes() { return 2; }
]])

View File

@@ -43,9 +43,11 @@ endif()
run_BuildDepends(Custom-Symbolic-and-Byproduct)
run_BuildDepends(Custom-Always)
if(RunCMake_GENERATOR MATCHES "Make" AND
NOT "${RunCMake_BINARY_DIR}" STREQUAL "${RunCMake_SOURCE_DIR}")
run_BuildDepends(MakeInProjectOnly)
if(RunCMake_GENERATOR MATCHES "Make")
run_BuildDepends(MakeCustomIncludes)
if(NOT "${RunCMake_BINARY_DIR}" STREQUAL "${RunCMake_SOURCE_DIR}")
run_BuildDepends(MakeInProjectOnly)
endif()
endif()
function(run_ReGeneration)