Allow tests on Windows to be run from ctest
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0b46e1e..280d50d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,15 +8,9 @@
# Find Apache Runtime
find_package(APR QUIET)
-# If APR find module sets the cache, the following will do nothing
-find_path(APR_INCLUDE_DIR apr.h PATH_SUFFIXES apr-1)
-find_library(APR_LIBRARIES NAMES libapr-1 apr-1)
# Find Apache Runtime Utilities
find_package(APR-Util QUIET)
-# If APR-UTIL find module sets the cache, the following will do nothing
-find_path(APR_UTIL_INCLUDE_DIR apu.h PATH_SUFFIXES apr-1)
-find_library(APR_UTIL_LIBRARIES NAMES libaprutil-1 aprutil-1)
# Building
add_subdirectory(src)
diff --git a/src/cmake/FindAPR-Util.cmake b/src/cmake/FindAPR-Util.cmake
index 3485911..9b1ec68 100644
--- a/src/cmake/FindAPR-Util.cmake
+++ b/src/cmake/FindAPR-Util.cmake
@@ -4,6 +4,7 @@
# This module defines
# APR_UTIL_INCLUDE_DIR, where to find apr.h, etc.
# APR_UTIL_LIBRARIES, the libraries to link against to use APR.
+# APR_UTIL_DLL_DIR, where to find libaprutil-1.dll
# APR_UTIL_FOUND, set to yes if found
macro(_apu_invoke _varname)
@@ -34,6 +35,10 @@
if(EXISTS ${APR_UTIL_CONFIG_EXECUTABLE})
_apu_invoke(APR_UTIL_INCLUDE_DIR --includedir)
_apu_invoke(APR_UTIL_LIBRARIES --link-ld)
+else()
+ find_path(APR_UTIL_INCLUDE_DIR apu.h PATH_SUFFIXES apr-1)
+ find_library(APR_UTIL_LIBRARIES NAMES libaprutil-1 aprutil-1)
+ find_path(APR_UTIL_DLL_DIR libaprutil-1.dll)
endif()
find_package_handle_standard_args(apr-util DEFAULT_MSG
diff --git a/src/cmake/FindAPR.cmake b/src/cmake/FindAPR.cmake
index 171d745..7678519 100644
--- a/src/cmake/FindAPR.cmake
+++ b/src/cmake/FindAPR.cmake
@@ -4,6 +4,7 @@
# This module defines
# APR_INCLUDE_DIR, where to find apr.h, etc.
# APR_LIBRARIES, the libraries to link against to use APR.
+# APR_DLL_DIR, where to find libapr-1.dll
# APR_FOUND, set to 'yes' if found
macro(_apr_invoke _varname)
execute_process(
@@ -33,6 +34,10 @@
if(EXISTS ${APR_CONFIG_EXECUTABLE})
_apr_invoke(APR_INCLUDE_DIR --includedir)
_apr_invoke(APR_LIBRARIES --link-ld)
+else()
+ find_path(APR_INCLUDE_DIR apr.h PATH_SUFFIXES apr-1)
+ find_library(APR_LIBRARIES NAMES libapr-1 apr-1)
+ find_path(APR_DLL_DIR libapr-1.dll)
endif()
find_package_handle_standard_args(apr
diff --git a/src/test/cpp/CMakeLists.txt b/src/test/cpp/CMakeLists.txt
index bbe01e3..8d5cfbe 100644
--- a/src/test/cpp/CMakeLists.txt
+++ b/src/test/cpp/CMakeLists.txt
@@ -57,18 +57,26 @@
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../resources
)
- if(${testName} STREQUAL socketservertestcase)
- set_tests_properties(socketservertestcase PROPERTIES
- ENVIRONMENT "SOCKET_SERVER_COMMAND=$<JOIN:${START_SOCKET_SERVER_COMMAND}, >"
- )
- else()
- set_tests_properties(${testName} PROPERTIES
- ENVIRONMENT "TOTO=wonderful;key1=value1;key2=value2"
- )
- endif()
if(WIN32)
- set_tests_properties(${testName} PROPERTIES ENVIRONMENT
- "PATH=$<SHELL_PATH:$<TARGET_FILE_DIR:log4cxx>>$<SEMICOLON>$ENV{PATH}"
- )
+ set(LOG4CXX_DLL_DIR "$<SHELL_PATH:$<TARGET_FILE_DIR:log4cxx>>")
+ if(${testName} STREQUAL socketservertestcase)
+ set_tests_properties(socketservertestcase PROPERTIES
+ ENVIRONMENT "SOCKET_SERVER_COMMAND=$<JOIN:${START_SOCKET_SERVER_COMMAND}, >;PATH=${LOG4CXX_DLL_DIR}\;${APR_DLL_DIR}\;${APR_UTIL_DLL_DIR}"
+ )
+ else()
+ set_tests_properties(${testName} PROPERTIES
+ ENVIRONMENT "TOTO=wonderful;key1=value1;key2=value2;PATH==${LOG4CXX_DLL_DIR}\;${APR_DLL_DIR}\;${APR_UTIL_DLL_DIR}"
+ )
+ endif()
+ else()
+ if(${testName} STREQUAL socketservertestcase)
+ set_tests_properties(socketservertestcase PROPERTIES
+ ENVIRONMENT "SOCKET_SERVER_COMMAND=$<JOIN:${START_SOCKET_SERVER_COMMAND}, >"
+ )
+ else()
+ set_tests_properties(${testName} PROPERTIES
+ ENVIRONMENT "TOTO=wonderful;key1=value1;key2=value2"
+ )
+ endif()
endif()
endforeach()