Document and test CMAKE_[CURRENT_](BINARY|SOURCE)_DIR in script mode
This commit is contained in:
parent
3709e950f4
commit
8bb908b108
|
@ -6,3 +6,8 @@ The path to the top level of the build tree.
|
||||||
This is the full path to the top level of the current CMake build
|
This is the full path to the top level of the current CMake build
|
||||||
tree. For an in-source build, this would be the same as
|
tree. For an in-source build, this would be the same as
|
||||||
:variable:`CMAKE_SOURCE_DIR`.
|
:variable:`CMAKE_SOURCE_DIR`.
|
||||||
|
|
||||||
|
When run in -P script mode, CMake sets the variables
|
||||||
|
:variable:`CMAKE_BINARY_DIR`, :variable:`CMAKE_SOURCE_DIR`,
|
||||||
|
:variable:`CMAKE_CURRENT_BINARY_DIR` and
|
||||||
|
:variable:`CMAKE_CURRENT_SOURCE_DIR` to the current working directory.
|
||||||
|
|
|
@ -8,3 +8,8 @@ processed by cmake. Each directory added by :command:`add_subdirectory` will
|
||||||
create a binary directory in the build tree, and as it is being
|
create a binary directory in the build tree, and as it is being
|
||||||
processed this variable will be set. For in-source builds this is the
|
processed this variable will be set. For in-source builds this is the
|
||||||
current source directory being processed.
|
current source directory being processed.
|
||||||
|
|
||||||
|
When run in -P script mode, CMake sets the variables
|
||||||
|
:variable:`CMAKE_BINARY_DIR`, :variable:`CMAKE_SOURCE_DIR`,
|
||||||
|
:variable:`CMAKE_CURRENT_BINARY_DIR` and
|
||||||
|
:variable:`CMAKE_CURRENT_SOURCE_DIR` to the current working directory.
|
||||||
|
|
|
@ -5,3 +5,8 @@ The path to the source directory currently being processed.
|
||||||
|
|
||||||
This the full path to the source directory that is currently being
|
This the full path to the source directory that is currently being
|
||||||
processed by cmake.
|
processed by cmake.
|
||||||
|
|
||||||
|
When run in -P script mode, CMake sets the variables
|
||||||
|
:variable:`CMAKE_BINARY_DIR`, :variable:`CMAKE_SOURCE_DIR`,
|
||||||
|
:variable:`CMAKE_CURRENT_BINARY_DIR` and
|
||||||
|
:variable:`CMAKE_CURRENT_SOURCE_DIR` to the current working directory.
|
||||||
|
|
|
@ -6,3 +6,8 @@ The path to the top level of the source tree.
|
||||||
This is the full path to the top level of the current CMake source
|
This is the full path to the top level of the current CMake source
|
||||||
tree. For an in-source build, this would be the same as
|
tree. For an in-source build, this would be the same as
|
||||||
:variable:`CMAKE_BINARY_DIR`.
|
:variable:`CMAKE_BINARY_DIR`.
|
||||||
|
|
||||||
|
When run in -P script mode, CMake sets the variables
|
||||||
|
:variable:`CMAKE_BINARY_DIR`, :variable:`CMAKE_SOURCE_DIR`,
|
||||||
|
:variable:`CMAKE_CURRENT_BINARY_DIR` and
|
||||||
|
:variable:`CMAKE_CURRENT_SOURCE_DIR` to the current working directory.
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
if(NOT IS_DIRECTORY "${EXPECTED_WORKING_DIR}")
|
||||||
|
message(FATAL_ERROR "EXPECTED_WORKING_DIR is not a directory: ${EXPECTED_WORKING_DIR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
foreach(d CMAKE_BINARY_DIR CMAKE_CURRENT_BINARY_DIR CMAKE_SOURCE_DIR CMAKE_CURRENT_SOURCE_DIR)
|
||||||
|
if(NOT DEFINED ${d})
|
||||||
|
message(FATAL_ERROR "${d} is not defined")
|
||||||
|
endif()
|
||||||
|
if(EXPECTED_WORKING_DIR STREQUAL "${${d}}")
|
||||||
|
message(STATUS "${d} is the expected working directory (${EXPECTED_WORKING_DIR})")
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "${d} = \"${${d}}\" is not the expected working directory (${EXPECTED_WORKING_DIR})")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
|
@ -115,6 +115,7 @@ run_cmake_command(E_sleep-bad-arg2 ${CMAKE_COMMAND} -E sleep 1 -1)
|
||||||
run_cmake_command(E_sleep-one-tenth ${CMAKE_COMMAND} -E sleep 0.1)
|
run_cmake_command(E_sleep-one-tenth ${CMAKE_COMMAND} -E sleep 0.1)
|
||||||
|
|
||||||
run_cmake_command(P_directory ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR})
|
run_cmake_command(P_directory ${CMAKE_COMMAND} -P ${RunCMake_SOURCE_DIR})
|
||||||
|
run_cmake_command(P_working-dir ${CMAKE_COMMAND} -DEXPECTED_WORKING_DIR=${RunCMake_BINARY_DIR}/P_working-dir-build -P ${RunCMake_SOURCE_DIR}/P_working-dir.cmake)
|
||||||
|
|
||||||
set(RunCMake_TEST_OPTIONS
|
set(RunCMake_TEST_OPTIONS
|
||||||
"-DFOO=-DBAR:BOOL=BAZ")
|
"-DFOO=-DBAR:BOOL=BAZ")
|
||||||
|
|
Loading…
Reference in New Issue