summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/CMakeLists.txt6
-rw-r--r--cmake/modules/Macros.cmake7
2 files changed, 12 insertions, 1 deletions
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 93402e0b..429205b3 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -484,6 +484,12 @@ add_definitions(${DBUS_BUS_CFLAGS})
if (DBUS_BUILD_TESTS)
# set variables used for the .in files (substituted by configure_file) in test/data:
set(DBUS_TEST_EXEC ${Z_DRIVE_IF_WINE}${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN})
+ # Working directory for build-time tests, so that they'll pick up
+ # the correct libdbus-1-3.dll on Windows.
+ # This happens to be the same as DBUS_TEST_EXEC, but its meaning is
+ # different, and it has no direct Autotools equivalent (Autotools
+ # tests automatically get their own ${builddir} as working directory).
+ set(DBUS_TEST_WORKING_DIR ${Z_DRIVE_IF_WINE}${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN})
set(DBUS_TEST_DATA ${Z_DRIVE_IF_WINE}${CMAKE_BINARY_DIR}/test/data)
set(DBUS_TEST_DAEMON ${Z_DRIVE_IF_WINE}${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN}/dbus-daemon${EXEEXT})
set(DBUS_TEST_DBUS_LAUNCH ${Z_DRIVE_IF_WINE}${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN}/dbus-launch${EXEEXT})
diff --git a/cmake/modules/Macros.cmake b/cmake/modules/Macros.cmake
index 4e635057..3b93eb99 100644
--- a/cmake/modules/Macros.cmake
+++ b/cmake/modules/Macros.cmake
@@ -54,7 +54,11 @@ macro(add_test_executable _target _source)
add_test(NAME ${_target} COMMAND ${TEST_WRAPPER} ${Z_DRIVE_IF_WINE}$<TARGET_FILE:${_target}> --tap)
endif()
else()
- add_test(NAME ${_target} COMMAND $<TARGET_FILE:${_target}> --tap)
+ add_test(
+ NAME ${_target}
+ COMMAND $<TARGET_FILE:${_target}> --tap
+ WORKING_DIRECTORY ${DBUS_TEST_WORKING_DIR}
+ )
endif()
set(_env)
list(APPEND _env "DBUS_SESSION_BUS_ADDRESS=")
@@ -94,6 +98,7 @@ macro(add_session_test_executable _target _source)
--dbus-daemon=${DBUS_TEST_DAEMON}
${Z_DRIVE_IF_WINE}$<TARGET_FILE:${_target}>
--tap
+ WORKING_DIRECTORY ${DBUS_TEST_WORKING_DIR}
)
set(_env)
list(APPEND _env "DBUS_SESSION_BUS_PID=")