Merge branch 'fix-empty-target-property-queries' into release
This commit is contained in:
commit
ca5fe169aa
|
@ -7,9 +7,9 @@ Get a property of the test.
|
||||||
|
|
||||||
get_test_property(test property VAR)
|
get_test_property(test property VAR)
|
||||||
|
|
||||||
Get a property from the Test. The value of the property is stored in
|
Get a property from the test. The value of the property is stored in
|
||||||
the variable VAR. If the property is not found, VAR will be set to
|
the variable VAR. If the test or property is not found, VAR will be
|
||||||
"NOTFOUND". For a list of standard properties you can type cmake
|
set to "NOTFOUND". For a list of standard properties you can type cmake
|
||||||
--help-property-list
|
--help-property-list.
|
||||||
|
|
||||||
See also the more general get_property() command.
|
See also the more general get_property() command.
|
||||||
|
|
|
@ -7,7 +7,7 @@ Set a property of the tests.
|
||||||
|
|
||||||
set_tests_properties(test1 [test2...] PROPERTIES prop1 value1 prop2 value2)
|
set_tests_properties(test1 [test2...] PROPERTIES prop1 value1 prop2 value2)
|
||||||
|
|
||||||
Set a property for the tests. If the property is not found, CMake
|
Set a property for the tests. If the test is not found, CMake
|
||||||
will report an error. Generator expressions will be expanded the same
|
will report an error. Generator expressions will be expanded the same
|
||||||
as supported by the test's add_test call. The properties include:
|
as supported by the test's add_test call. The properties include:
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ bool cmGetTargetPropertyCommand
|
||||||
std::string var = args[0];
|
std::string var = args[0];
|
||||||
const std::string& targetName = args[1];
|
const std::string& targetName = args[1];
|
||||||
std::string prop;
|
std::string prop;
|
||||||
|
bool prop_exists = false;
|
||||||
|
|
||||||
if(args[2] == "ALIASED_TARGET")
|
if(args[2] == "ALIASED_TARGET")
|
||||||
{
|
{
|
||||||
|
@ -32,6 +33,7 @@ bool cmGetTargetPropertyCommand
|
||||||
this->Makefile->FindTargetToUse(targetName))
|
this->Makefile->FindTargetToUse(targetName))
|
||||||
{
|
{
|
||||||
prop = target->GetName();
|
prop = target->GetName();
|
||||||
|
prop_exists = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,6 +44,7 @@ bool cmGetTargetPropertyCommand
|
||||||
if(prop_cstr)
|
if(prop_cstr)
|
||||||
{
|
{
|
||||||
prop = prop_cstr;
|
prop = prop_cstr;
|
||||||
|
prop_exists = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -74,7 +77,7 @@ bool cmGetTargetPropertyCommand
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!prop.empty())
|
if (prop_exists)
|
||||||
{
|
{
|
||||||
this->Makefile->AddDefinition(var, prop.c_str());
|
this->Makefile->AddDefinition(var, prop.c_str());
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -102,6 +102,7 @@ add_RunCMake_test(cmake_minimum_required)
|
||||||
add_RunCMake_test(file)
|
add_RunCMake_test(file)
|
||||||
add_RunCMake_test(find_package)
|
add_RunCMake_test(find_package)
|
||||||
add_RunCMake_test(get_filename_component)
|
add_RunCMake_test(get_filename_component)
|
||||||
|
add_RunCMake_test(get_property)
|
||||||
add_RunCMake_test(if)
|
add_RunCMake_test(if)
|
||||||
add_RunCMake_test(include)
|
add_RunCMake_test(include)
|
||||||
add_RunCMake_test(include_directories)
|
add_RunCMake_test(include_directories)
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
cmake_minimum_required(VERSION 2.8.4)
|
||||||
|
project(${RunCMake_TEST} NONE)
|
||||||
|
include(${RunCMake_TEST}.cmake)
|
|
@ -0,0 +1,9 @@
|
||||||
|
include(RunCMake)
|
||||||
|
|
||||||
|
run_cmake(cache_properties)
|
||||||
|
run_cmake(directory_properties)
|
||||||
|
run_cmake(global_properties)
|
||||||
|
run_cmake(install_properties)
|
||||||
|
run_cmake(source_properties)
|
||||||
|
run_cmake(target_properties)
|
||||||
|
run_cmake(test_properties)
|
|
@ -0,0 +1,3 @@
|
||||||
|
^get_property: --><--
|
||||||
|
get_property: -->TRUE<--
|
||||||
|
get_property: --><--$
|
|
@ -0,0 +1,15 @@
|
||||||
|
function (check_cache_property var prop)
|
||||||
|
get_property(gp_val
|
||||||
|
CACHE "${var}"
|
||||||
|
PROPERTY "${prop}")
|
||||||
|
|
||||||
|
message("get_property: -->${gp_val}<--")
|
||||||
|
endfunction ()
|
||||||
|
|
||||||
|
set(var val CACHE STRING "doc")
|
||||||
|
set_property(CACHE var PROPERTY VALUE "") # empty
|
||||||
|
set_property(CACHE var PROPERTY ADVANCED TRUE)
|
||||||
|
|
||||||
|
check_cache_property(var VALUE)
|
||||||
|
check_cache_property(var ADVANCED)
|
||||||
|
check_cache_property(var noexist)
|
|
@ -0,0 +1,6 @@
|
||||||
|
^get_directory_property: --><--
|
||||||
|
get_property: --><--
|
||||||
|
get_directory_property: -->value<--
|
||||||
|
get_property: -->value<--
|
||||||
|
get_directory_property: --><--
|
||||||
|
get_property: --><--$
|
|
@ -0,0 +1,15 @@
|
||||||
|
function (check_directory_property dir prop)
|
||||||
|
get_directory_property(gdp_val DIRECTORY "${dir}" "${prop}")
|
||||||
|
get_property(gp_val
|
||||||
|
DIRECTORY "${dir}"
|
||||||
|
PROPERTY "${prop}")
|
||||||
|
|
||||||
|
message("get_directory_property: -->${gdp_val}<--")
|
||||||
|
message("get_property: -->${gp_val}<--")
|
||||||
|
endfunction ()
|
||||||
|
|
||||||
|
set_directory_properties(PROPERTIES empty "" custom value)
|
||||||
|
|
||||||
|
check_directory_property("${CMAKE_CURRENT_SOURCE_DIR}" empty)
|
||||||
|
check_directory_property("${CMAKE_CURRENT_SOURCE_DIR}" custom)
|
||||||
|
check_directory_property("${CMAKE_CURRENT_SOURCE_DIR}" noexist)
|
|
@ -0,0 +1,6 @@
|
||||||
|
^get_cmake_property: --><--
|
||||||
|
get_property: --><--
|
||||||
|
get_cmake_property: -->value<--
|
||||||
|
get_property: -->value<--
|
||||||
|
get_cmake_property: -->NOTFOUND<--
|
||||||
|
get_property: --><--$
|
|
@ -0,0 +1,16 @@
|
||||||
|
function (check_global_property prop)
|
||||||
|
get_cmake_property(gcp_val "${prop}")
|
||||||
|
get_property(gp_val
|
||||||
|
GLOBAL
|
||||||
|
PROPERTY "${prop}")
|
||||||
|
|
||||||
|
message("get_cmake_property: -->${gcp_val}<--")
|
||||||
|
message("get_property: -->${gp_val}<--")
|
||||||
|
endfunction ()
|
||||||
|
|
||||||
|
set_property(GLOBAL PROPERTY empty "")
|
||||||
|
set_property(GLOBAL PROPERTY custom value)
|
||||||
|
|
||||||
|
check_global_property(empty)
|
||||||
|
check_global_property(custom)
|
||||||
|
check_global_property(noexist)
|
|
@ -0,0 +1,3 @@
|
||||||
|
^get_property: --><--
|
||||||
|
get_property: -->value<--
|
||||||
|
get_property: --><--$
|
|
@ -0,0 +1,18 @@
|
||||||
|
function (check_install_property file prop)
|
||||||
|
get_property(gp_val
|
||||||
|
INSTALL "${file}"
|
||||||
|
PROPERTY "${prop}")
|
||||||
|
|
||||||
|
message("get_property: -->${gp_val}<--")
|
||||||
|
endfunction ()
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES "${CMAKE_CURRENT_LIST_FILE}"
|
||||||
|
DESTINATION "${CMAKE_CURRENT_LIST_DIR}"
|
||||||
|
RENAME "installed-file-dest")
|
||||||
|
set_property(INSTALL "${CMAKE_CURRENT_LIST_FILE}" PROPERTY empty "")
|
||||||
|
set_property(INSTALL "${CMAKE_CURRENT_LIST_FILE}" PROPERTY custom value)
|
||||||
|
|
||||||
|
check_install_property("${CMAKE_CURRENT_LIST_FILE}" empty)
|
||||||
|
check_install_property("${CMAKE_CURRENT_LIST_FILE}" custom)
|
||||||
|
check_install_property("${CMAKE_CURRENT_LIST_FILE}" noexist)
|
|
@ -0,0 +1,6 @@
|
||||||
|
^get_source_file_property: --><--
|
||||||
|
get_property: --><--
|
||||||
|
get_source_file_property: -->value<--
|
||||||
|
get_property: -->value<--
|
||||||
|
get_source_file_property: -->NOTFOUND<--
|
||||||
|
get_property: --><--$
|
|
@ -0,0 +1,15 @@
|
||||||
|
function (check_source_file_property file prop)
|
||||||
|
get_source_file_property(gsfp_val "${file}" "${prop}")
|
||||||
|
get_property(gp_val
|
||||||
|
SOURCE "${file}"
|
||||||
|
PROPERTY "${prop}")
|
||||||
|
|
||||||
|
message("get_source_file_property: -->${gsfp_val}<--")
|
||||||
|
message("get_property: -->${gp_val}<--")
|
||||||
|
endfunction ()
|
||||||
|
|
||||||
|
set_source_files_properties(file.c PROPERTIES empty "" custom value)
|
||||||
|
|
||||||
|
check_source_file_property(file.c empty)
|
||||||
|
check_source_file_property(file.c custom)
|
||||||
|
check_source_file_property(file.c noexist)
|
|
@ -0,0 +1,6 @@
|
||||||
|
^get_target_property: --><--
|
||||||
|
get_property: --><--
|
||||||
|
get_target_property: -->value<--
|
||||||
|
get_property: -->value<--
|
||||||
|
get_target_property: -->gtp_val-NOTFOUND<--
|
||||||
|
get_property: --><--$
|
|
@ -0,0 +1,16 @@
|
||||||
|
function (check_target_property target prop)
|
||||||
|
get_target_property(gtp_val "${target}" "${prop}")
|
||||||
|
get_property(gp_val
|
||||||
|
TARGET "${target}"
|
||||||
|
PROPERTY "${prop}")
|
||||||
|
|
||||||
|
message("get_target_property: -->${gtp_val}<--")
|
||||||
|
message("get_property: -->${gp_val}<--")
|
||||||
|
endfunction ()
|
||||||
|
|
||||||
|
add_custom_target(tgt)
|
||||||
|
set_target_properties(tgt PROPERTIES empty "" custom value)
|
||||||
|
|
||||||
|
check_target_property(tgt empty)
|
||||||
|
check_target_property(tgt custom)
|
||||||
|
check_target_property(tgt noexist)
|
|
@ -0,0 +1,6 @@
|
||||||
|
^get_test_property: --><--
|
||||||
|
get_property: --><--
|
||||||
|
get_test_property: -->value<--
|
||||||
|
get_property: -->value<--
|
||||||
|
get_test_property: -->NOTFOUND<--
|
||||||
|
get_property: --><--$
|
|
@ -0,0 +1,17 @@
|
||||||
|
function (check_test_property test prop)
|
||||||
|
get_test_property("${test}" "${prop}" gtp_val)
|
||||||
|
get_property(gp_val
|
||||||
|
TEST "${test}"
|
||||||
|
PROPERTY "${prop}")
|
||||||
|
|
||||||
|
message("get_test_property: -->${gtp_val}<--")
|
||||||
|
message("get_property: -->${gp_val}<--")
|
||||||
|
endfunction ()
|
||||||
|
|
||||||
|
include(CTest)
|
||||||
|
add_test(NAME test COMMAND "${CMAKE_COMMAND}" --help)
|
||||||
|
set_tests_properties(test PROPERTIES empty "" custom value)
|
||||||
|
|
||||||
|
check_test_property(test empty)
|
||||||
|
check_test_property(test custom)
|
||||||
|
check_test_property(test noexist)
|
Loading…
Reference in New Issue