Merge topic 'cmake-script-mode-directory-vars'
8bb908b1
Document and test CMAKE_[CURRENT_](BINARY|SOURCE)_DIR in script mode
This commit is contained in:
commit
45e9f48f9c
|
@ -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
|
||||
tree. For an in-source build, this would be the same as
|
||||
: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
|
||||
processed this variable will be set. For in-source builds this is the
|
||||
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
|
||||
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
|
||||
tree. For an in-source build, this would be the same as
|
||||
: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(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
|
||||
"-DFOO=-DBAR:BOOL=BAZ")
|
||||
|
|
Loading…
Reference in New Issue