You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rm...@apache.org on 2020/09/05 20:51:37 UTC
[logging-log4cxx] 06/07: Add CMAKE_PROGRAM_PATH to path for tests
This is an automated email from the ASF dual-hosted git repository.
rmiddleton pushed a commit to branch logcxx_510_rm_vs2019
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git
commit f1bf48bdab448f40706d4968a2c457471354c4fd
Author: Robert Middleton <ro...@rm5248.com>
AuthorDate: Thu Sep 3 20:04:57 2020 -0700
Add CMAKE_PROGRAM_PATH to path for tests
ensured that things work with expat
Updated documentation and made sure varaibles are correct
---
src/cmake/FindAPR-Util.cmake | 1 -
src/site/apt/building/cmake.apt | 15 +++++++++++++++
src/test/cpp/CMakeLists.txt | 7 ++++---
3 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/src/cmake/FindAPR-Util.cmake b/src/cmake/FindAPR-Util.cmake
index aecb240..b2da4b4 100644
--- a/src/cmake/FindAPR-Util.cmake
+++ b/src/cmake/FindAPR-Util.cmake
@@ -48,7 +48,6 @@ else()
if (APU_STATIC OR NOT BUILD_SHARED_LIBS)
set(APR_UTIL_COMPILE_DEFINITIONS APU_DECLARE_STATIC)
find_library(APR_UTIL_LIBRARIES NAMES aprutil-1)
- find_library(XMLLIB_LIBRARIES NAMES expat)
else()
find_library(APR_UTIL_LIBRARIES NAMES libaprutil-1)
find_program(APR_UTIL_DLL libaprutil-1.dll)
diff --git a/src/site/apt/building/cmake.apt b/src/site/apt/building/cmake.apt
index fbbecac..9bfb794 100644
--- a/src/site/apt/building/cmake.apt
+++ b/src/site/apt/building/cmake.apt
@@ -57,6 +57,9 @@ $ sudo make install
| -DAPR_STATIC=yes | Link to the APR static library. By default, the log4cxx shared library is linked to the |
| | APR shared library. If BUILD_SHARED_LIBS=off, the static APR library is always used. |
*------------------------+---------------------------------------------------------------------------------------------+
+|-DLOG4CXX_TEST_PROGRAM_PATH=path| An extra path to prepend to the PATH for test programs. Log4cxx requires zip, |
+| | sed, and grep on the PATH in order for the tests to work properly. |
+*------------------------+---------------------------------------------------------------------------------------------+
Building and testing log4cxx on a Microsoft Windows with APR, Expat and APR-Util built from source
extracted into apr-1.7.0, libexpat(from github) and apr-util-1.6.1 in %HOMEPATH%\Libraries.
@@ -117,6 +120,18 @@ $ make
$ make install
+----+
+** Windows:
+
+The easiest way to get dependencies installed is to use vcpkg(for APR/expat), and msys2 for the command-line
+utilities(zip, grep, sed).
+
+Msys2 can be downloaded from: https://www.msys2.org/
+By default, this will be installed under C:\msys2, so you can add that to the build PATH by setting
+LOG4CXX_TEST_PROGRAM_PATH=C:/msys64/usr/bin in your build settings.
+
+For vcpkg, follow the directions at https://github.com/microsoft/vcpkg#quick-start-windows and then install
+the dependencies needed using `vcpkg install apr apr-util`.
+
* Using log4cxx in a CMake build
A log4cxxConfig.cmake and log4cxxConfigVersion.cmake is installed to allow use of find_package()
diff --git a/src/test/cpp/CMakeLists.txt b/src/test/cpp/CMakeLists.txt
index 2e847d5..72fdc27 100644
--- a/src/test/cpp/CMakeLists.txt
+++ b/src/test/cpp/CMakeLists.txt
@@ -6,7 +6,7 @@ add_subdirectory(util)
target_sources(testingUtilities PRIVATE xml/xlevel.cpp)
set( LOG4CXX_TEST_PROGRAM_PATH "" CACHE PATH "Extra path for test programs" )
-set( CMAKE_PROGRAM_PATH "${CMAKE_PROGRAM_PATH}" ${LOG4CXX_PROGRAM_PATH} )
+set( CMAKE_PROGRAM_PATH "${LOG4CXX_TEST_PROGRAM_PATH};${CMAKE_PROGRAM_PATH}" )
# sed, zip, and gzip are needed for the tests to work properly
# Note: option 'required' not available until cmake 3.18, however adding
@@ -71,10 +71,11 @@ add_subdirectory(xml)
if( WIN32 )
get_filename_component(APR_DLL_DIR "${APR_DLL}" DIRECTORY)
get_filename_component(APR_UTIL_DLL_DIR "${APR_UTIL_DLL}" DIRECTORY)
- get_filename_component(XMLLIB_DLL_DIR "${XMLLIB_DLL}" DIRECTORY)
+ get_filename_component(EXPAT_LIB_DIR "${EXPAT_LIBRARY}" DIRECTORY)
+ set(EXPAT_DLL_DIR "${EXPAT_LIB_DIR}/../bin")
set(LOG4CXX_DLL_DIR "$<SHELL_PATH:$<TARGET_FILE_DIR:log4cxx>>;")
- set(PATH_FOR_TESTS ${APR_DLL_DIR};${APR_UTIL_DLL_DIR};${LOG4CXX_DLL_DIR};${XMLLIB_DLL_DIR}\;)
+ set(PATH_FOR_TESTS ${CMAKE_PROGRAM_PATH};${APR_DLL_DIR};${APR_UTIL_DLL_DIR};${LOG4CXX_DLL_DIR};${EXPAT_DLL_DIR}\;)
list(REMOVE_DUPLICATES PATH_FOR_TESTS)
set(NORMAL_PATH $ENV{PATH})
set(ESCAPED_PATH "")