Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
CMake
CMake
Commits
5e9ecaae
Commit
5e9ecaae
authored
Nov 12, 2019
by
Charles Barto
Committed by
Brad King
Nov 19, 2019
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
load_cache: Allow READ_WITH_PREFIX mode in cmake scripts
parent
7e62ffc0
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
79 additions
and
2 deletions
+79
-2
Help/release/dev/load_cache-script-mode.rst
Help/release/dev/load_cache-script-mode.rst
+5
-0
Source/cmCommands.cxx
Source/cmCommands.cxx
+1
-2
Source/cmLoadCacheCommand.cxx
Source/cmLoadCacheCommand.cxx
+8
-0
Tests/RunCMake/CMakeLists.txt
Tests/RunCMake/CMakeLists.txt
+1
-0
Tests/RunCMake/load_cache/CMakeLists.txt
Tests/RunCMake/load_cache/CMakeLists.txt
+3
-0
Tests/RunCMake/load_cache/NewForm_Project.cmake
Tests/RunCMake/load_cache/NewForm_Project.cmake
+16
-0
Tests/RunCMake/load_cache/NewForm_Script.cmake
Tests/RunCMake/load_cache/NewForm_Script.cmake
+16
-0
Tests/RunCMake/load_cache/OldForm_Script-result.txt
Tests/RunCMake/load_cache/OldForm_Script-result.txt
+1
-0
Tests/RunCMake/load_cache/OldForm_Script-stderr.txt
Tests/RunCMake/load_cache/OldForm_Script-stderr.txt
+2
-0
Tests/RunCMake/load_cache/OldForm_Script.cmake
Tests/RunCMake/load_cache/OldForm_Script.cmake
+13
-0
Tests/RunCMake/load_cache/RunCMakeTest.cmake
Tests/RunCMake/load_cache/RunCMakeTest.cmake
+13
-0
No files found.
Help/release/dev/load_cache-script-mode.rst
0 → 100644
View file @
5e9ecaae
load_cache-script-mode
----------------------
* The :command:`load_cache(READ_WITH_PREFIX)` command mode is now allowed
when using ``cmake -P`` to :ref:`Run a Script <Script Processing Mode>`.
Source/cmCommands.cxx
View file @
5e9ecaae
...
...
@@ -198,6 +198,7 @@ void GetScriptingCommands(cmState* state)
#if !defined(CMAKE_BOOTSTRAP)
state
->
AddBuiltinCommand
(
"cmake_host_system_information"
,
cmCMakeHostSystemInformationCommand
);
state
->
AddBuiltinCommand
(
"load_cache"
,
cmLoadCacheCommand
);
state
->
AddBuiltinCommand
(
"remove"
,
cmRemoveCommand
);
state
->
AddBuiltinCommand
(
"variable_watch"
,
cmVariableWatchCommand
);
state
->
AddBuiltinCommand
(
"write_file"
,
cmWriteFileCommand
);
...
...
@@ -279,7 +280,6 @@ void GetProjectCommands(cmState* state)
state
->
AddBuiltinCommand
(
"target_link_options"
,
cmTargetLinkOptionsCommand
);
state
->
AddBuiltinCommand
(
"target_link_directories"
,
cmTargetLinkDirectoriesCommand
);
state
->
AddBuiltinCommand
(
"load_cache"
,
cmLoadCacheCommand
);
state
->
AddBuiltinCommand
(
"qt_wrap_cpp"
,
cmQTWrapCPPCommand
);
state
->
AddBuiltinCommand
(
"qt_wrap_ui"
,
cmQTWrapUICommand
);
state
->
AddBuiltinCommand
(
"remove_definitions"
,
cmRemoveDefinitionsCommand
);
...
...
@@ -339,7 +339,6 @@ void GetProjectCommandsInScriptMode(cmState* state)
CM_UNEXPECTED_PROJECT_COMMAND
(
"install"
);
CM_UNEXPECTED_PROJECT_COMMAND
(
"link_directories"
);
CM_UNEXPECTED_PROJECT_COMMAND
(
"link_libraries"
);
CM_UNEXPECTED_PROJECT_COMMAND
(
"load_cache"
);
CM_UNEXPECTED_PROJECT_COMMAND
(
"project"
);
CM_UNEXPECTED_PROJECT_COMMAND
(
"qt_wrap_cpp"
);
CM_UNEXPECTED_PROJECT_COMMAND
(
"qt_wrap_ui"
);
...
...
Source/cmLoadCacheCommand.cxx
View file @
5e9ecaae
...
...
@@ -24,12 +24,20 @@ bool cmLoadCacheCommand(std::vector<std::string> const& args,
{
if
(
args
.
empty
())
{
status
.
SetError
(
"called with wrong number of arguments."
);
return
false
;
}
if
(
args
.
size
()
>=
2
&&
args
[
1
]
==
"READ_WITH_PREFIX"
)
{
return
ReadWithPrefix
(
args
,
status
);
}
if
(
status
.
GetMakefile
().
GetCMakeInstance
()
->
GetWorkingMode
()
==
cmake
::
SCRIPT_MODE
)
{
status
.
SetError
(
"Only load_cache(READ_WITH_PREFIX) may be used in script mode"
);
return
false
;
}
// Cache entries to be excluded from the import list.
// If this set is empty, all cache entries are brought in
// and they can not be overridden.
...
...
Tests/RunCMake/CMakeLists.txt
View file @
5e9ecaae
...
...
@@ -279,6 +279,7 @@ add_RunCMake_test(include)
add_RunCMake_test
(
include_directories
)
add_RunCMake_test
(
include_guard
)
add_RunCMake_test
(
list
)
add_RunCMake_test
(
load_cache
)
add_RunCMake_test
(
math
)
add_RunCMake_test
(
message
)
add_RunCMake_test
(
option
)
...
...
Tests/RunCMake/load_cache/CMakeLists.txt
0 → 100644
View file @
5e9ecaae
cmake_minimum_required
(
VERSION 3.16
)
project
(
${
RunCMake_TEST
}
NONE
)
include
(
${
RunCMake_TEST
}
.cmake
)
Tests/RunCMake/load_cache/NewForm_Project.cmake
0 → 100644
View file @
5e9ecaae
load_cache
(
${
CMAKE_CURRENT_BINARY_DIR
}
/../test_project READ_WITH_PREFIX LOAD_CACHE_TEST_
CACHE_STRING
CACHE_BOOL
CACHE_INTERNAL
)
if
(
NOT LOAD_CACHE_TEST_CACHE_STRING STREQUAL
"cache string"
)
message
(
FATAL_ERROR
"CACHE_STRING: was
${
CACHE_STRING
}
, expected
\"
cache string
\"
"
)
endif
()
if
(
NOT LOAD_CACHE_TEST_CACHE_BOOL
)
message
(
FATAL_ERROR
"CACHE_BOOL: was falsey, expected ON"
)
endif
()
if
(
NOT LOAD_CACHE_TEST_CACHE_INTERNAL STREQUAL
"cache internal"
)
message
(
FATAL_ERROR
"CACHE_INTERNAL: was
${
CACHE_INTENRAL
}
, expected
\"
cache internal
\"
"
)
endif
()
Tests/RunCMake/load_cache/NewForm_Script.cmake
0 → 100644
View file @
5e9ecaae
load_cache
(
${
RunCMake_BINARY_DIR
}
/test_project READ_WITH_PREFIX LOAD_CACHE_TEST_
CACHE_STRING
CACHE_BOOL
CACHE_INTERNAL
)
if
(
NOT LOAD_CACHE_TEST_CACHE_STRING STREQUAL
"cache string"
)
message
(
FATAL_ERROR
"CACHE_STRING: was
${
CACHE_STRING
}
, expected
\"
cache string
\"
"
)
endif
()
if
(
NOT LOAD_CACHE_TEST_CACHE_BOOL
)
message
(
FATAL_ERROR
"CACHE_BOOL: was falsey, expected ON"
)
endif
()
if
(
NOT LOAD_CACHE_TEST_CACHE_INTERNAL STREQUAL
"cache internal"
)
message
(
FATAL_ERROR
"CACHE_INTERNAL: was
${
CACHE_INTENRAL
}
, expected
\"
cache internal
\"
"
)
endif
()
Tests/RunCMake/load_cache/OldForm_Script-result.txt
0 → 100644
View file @
5e9ecaae
1
Tests/RunCMake/load_cache/OldForm_Script-stderr.txt
0 → 100644
View file @
5e9ecaae
^CMake Error at.*/Tests/RunCMake/load_cache/OldForm_Script.cmake:1 \(load_cache\):
load_cache Only load_cache\(READ_WITH_PREFIX\) may be used in script mode$
Tests/RunCMake/load_cache/OldForm_Script.cmake
0 → 100644
View file @
5e9ecaae
load_cache
(
${
RunCMake_BINARY_DIR
}
/test_project INCLUDE_INTERNALS CACHE_INTERNAL
)
if
(
NOT CACHE_STRING STREQUAL
"cache string"
)
message
(
FATAL_ERROR
"CACHE_STRING: was
${
CACHE_STRING
}
, expected
\"
cache string
\"
"
)
endif
()
if
(
NOT CACHE_BOOL
)
message
(
FATAL_ERROR
"CACHE_BOOL: was falsey, expected ON"
)
endif
()
if
(
NOT CACHE_INTERNAL STREQUAL
"cache internal"
)
message
(
FATAL_ERROR
"CACHE_INTERNAL: was
${
CACHE_INTENRAL
}
, expected
\"
cache internal
\"
"
)
endif
()
Tests/RunCMake/load_cache/RunCMakeTest.cmake
0 → 100644
View file @
5e9ecaae
include
(
RunCMake
)
file
(
WRITE
${
RunCMake_BINARY_DIR
}
/test_project/CMakeCache.txt
[[
CACHE_STRING:STRING=cache string
CACHE_BOOL:BOOL=ON
CACHE_INTERNAL:INTERNAL=cache internal
]]
)
run_cmake
(
NewForm_Project
)
run_cmake_command
(
NewForm_Script
${
CMAKE_COMMAND
}
-DRunCMake_BINARY_DIR=
${
RunCMake_BINARY_DIR
}
-P
"
${
RunCMake_SOURCE_DIR
}
/NewForm_Script.cmake"
)
run_cmake_command
(
OldForm_Script
${
CMAKE_COMMAND
}
-DRunCMake_BINARY_DIR=
${
RunCMake_BINARY_DIR
}
-P
"
${
RunCMake_SOURCE_DIR
}
/OldForm_Script.cmake"
)
Brad King
@brad.king
mentioned in commit
ae7d99fb
·
Nov 21, 2019
mentioned in commit
ae7d99fb
mentioned in commit ae7d99fbd51e31e012f1434ebe7ba16ea1bef060
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment