This is an automated email from the ASF dual-hosted git repository.
jdanek pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-proton.git
The following commit(s) were added to refs/heads/main by this push:
new b3d929c05 PROTON-2774: replace `CMAKE_SOURCE_DIR` variable with
`PROJECT_SOURCE_DIR` (#410)
b3d929c05 is described below
commit b3d929c05b82aff891ff63ea606f9afc37a0992d
Author: Jiri Daněk <[email protected]>
AuthorDate: Sat Oct 21 13:51:00 2023 +0200
PROTON-2774: replace `CMAKE_SOURCE_DIR` variable with `PROJECT_SOURCE_DIR`
(#410)
This change is the first step in an effort to allow the CMake build file
to work as an embedded subproject in an composite CMake build.
---
CMakeLists.txt | 22 +++++++++----------
c/CMakeLists.txt | 4 ++--
c/docs/user.doxygen.in | 32 ++++++++++++++--------------
c/tests/CMakeLists.txt | 6 +++---
cpp/CMakeLists.txt | 4 ++--
cpp/docs/user.doxygen.in | 18 ++++++++--------
cpp/testdata/sasl-conf/proton-server.conf.in | 2 +-
cpp/tests.cmake | 4 ++--
go/CMakeLists.txt | 6 +++---
go/examples/CMakeLists.txt | 4 ++--
misc/config.bat.in | 4 ++--
misc/config.sh.in | 4 ++--
python/CMakeLists.txt | 8 +++----
ruby/CMakeLists.txt | 4 ++--
tests/RuntimeCheck.cmake | 12 +++++------
tests/share/CMakeLists.txt | 2 +-
tools/cmake/config/ProtonConfig.cmake | 6 +++---
tools/cmake/config/ProtonCppConfig.cmake | 4 ++--
18 files changed, 73 insertions(+), 73 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3514f6aae..b39d597bd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,7 +21,7 @@ cmake_minimum_required (VERSION 3.16)
project (Proton C)
-set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
"${CMAKE_SOURCE_DIR}/tools/cmake/Modules")
+set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
"${PROJECT_SOURCE_DIR}/tools/cmake/Modules")
set (CMAKE_THREAD_PREFER_PTHREAD TRUE)
include (CTest)
@@ -57,10 +57,10 @@ set (ProtonCpp_DIR
${CMAKE_CURRENT_SOURCE_DIR}/tools/cmake/config)
## Variables used across components
-set (PN_ENV_SCRIPT "${Python_EXECUTABLE}" "${CMAKE_SOURCE_DIR}/scripts/env.py")
-set (PN_C_INCLUDE_DIR "${CMAKE_BINARY_DIR}/c/include")
-set (PN_C_LIBRARY_DIR "${CMAKE_BINARY_DIR}/c")
-set (PN_C_SOURCE_DIR "${CMAKE_BINARY_DIR}/c/src")
+set (PN_ENV_SCRIPT "${Python_EXECUTABLE}"
"${PROJECT_SOURCE_DIR}/scripts/env.py")
+set (PN_C_INCLUDE_DIR "${PROJECT_BINARY_DIR}/c/include")
+set (PN_C_LIBRARY_DIR "${PROJECT_BINARY_DIR}/c")
+set (PN_C_SOURCE_DIR "${PROJECT_BINARY_DIR}/c/src")
## C
set(CMAKE_C_STANDARD 99)
@@ -118,7 +118,7 @@ if (CMAKE_BUILD_TYPE MATCHES "Coverage")
make_directory(coverage_results)
add_custom_target(coverage
WORKING_DIRECTORY ./coverage_results
- COMMAND ${CMAKE_SOURCE_DIR}/scripts/record-coverage.sh ${CMAKE_SOURCE_DIR}
${CMAKE_BINARY_DIR})
+ COMMAND ${PROJECT_SOURCE_DIR}/scripts/record-coverage.sh
${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR})
endif()
# Try to keep any platform specific overrides together here:
@@ -338,7 +338,7 @@ if(SWIG_FOUND)
include(UseSWIG)
# All swig modules should include ${PROTON_HEADERS} in
SWIG_MODULE_<name>_EXTRA_DEPS
- file(GLOB PROTON_HEADERS "${CMAKE_SOURCE_DIR}/c/include/proton/*.h")
+ file(GLOB PROTON_HEADERS "${PROJECT_SOURCE_DIR}/c/include/proton/*.h")
# All swig modules should include ${BINDING_DEPS} or ${BINDING_DEPS_FULL} in
swig_link_libraries
set (BINDING_DEPS qpid-proton-core)
set (BINDING_DEPS_FULL qpid-proton)
@@ -385,10 +385,10 @@ install (FILES tests/share/examples-README.md RENAME
README.md DESTINATION ${PRO
install (DIRECTORY tests DESTINATION ${PROTON_SHARE} PATTERN share EXCLUDE)
# Generate test environment settings
-configure_file(${CMAKE_SOURCE_DIR}/misc/config.sh.in
- ${CMAKE_BINARY_DIR}/config.sh @ONLY)
-configure_file(${CMAKE_SOURCE_DIR}/misc/config.bat.in
- ${CMAKE_BINARY_DIR}/config.bat @ONLY)
+configure_file(${PROJECT_SOURCE_DIR}/misc/config.sh.in
+ ${PROJECT_BINARY_DIR}/config.sh @ONLY)
+configure_file(${PROJECT_SOURCE_DIR}/misc/config.bat.in
+ ${PROJECT_BINARY_DIR}/config.bat @ONLY)
if (BUILD_EXAMPLES)
add_subdirectory(tests/examples)
diff --git a/c/CMakeLists.txt b/c/CMakeLists.txt
index 53b912437..5567abf0f 100644
--- a/c/CMakeLists.txt
+++ b/c/CMakeLists.txt
@@ -67,7 +67,7 @@ add_custom_command (
OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/src/encodings.h
COMMAND
- ${PN_ENV_SCRIPT} PYTHONPATH=${CMAKE_SOURCE_DIR}/tools/python
${Python_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/src/encodings.h.py >
${CMAKE_CURRENT_BINARY_DIR}/src/encodings.h
+ ${PN_ENV_SCRIPT} PYTHONPATH=${PROJECT_SOURCE_DIR}/tools/python
${Python_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/src/encodings.h.py >
${CMAKE_CURRENT_BINARY_DIR}/src/encodings.h
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/src/encodings.h.py
)
@@ -76,7 +76,7 @@ add_custom_command (
OUTPUT
${CMAKE_CURRENT_BINARY_DIR}/src/protocol.h
COMMAND
- ${PN_ENV_SCRIPT} PYTHONPATH=${CMAKE_SOURCE_DIR}/tools/python
${Python_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/src/protocol.h.py >
${CMAKE_CURRENT_BINARY_DIR}/src/protocol.h
+ ${PN_ENV_SCRIPT} PYTHONPATH=${PROJECT_SOURCE_DIR}/tools/python
${Python_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/src/protocol.h.py >
${CMAKE_CURRENT_BINARY_DIR}/src/protocol.h
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/src/protocol.h.py
)
diff --git a/c/docs/user.doxygen.in b/c/docs/user.doxygen.in
index 62f114aa8..2cc1c69b4 100644
--- a/c/docs/user.doxygen.in
+++ b/c/docs/user.doxygen.in
@@ -53,26 +53,26 @@ WARNINGS = YES
# Configuration options related to the input files
-INPUT = @CMAKE_SOURCE_DIR@/c/include \
- @CMAKE_SOURCE_DIR@/c/examples \
+INPUT = @PROJECT_SOURCE_DIR@/c/include \
+ @PROJECT_SOURCE_DIR@/c/examples \
@CMAKE_CURRENT_SOURCE_DIR@
FILE_PATTERNS = *.h *.md *.dox
-EXCLUDE_PATTERNS = @CMAKE_SOURCE_DIR@/c/examples/*.c \
- @CMAKE_SOURCE_DIR@/c/examples/*.h \
- @CMAKE_SOURCE_DIR@/c/include/proton/cid.h \
- @CMAKE_SOURCE_DIR@/c/include/proton/engine.h \
- @CMAKE_SOURCE_DIR@/c/include/proton/handlers.h \
- @CMAKE_SOURCE_DIR@/c/include/proton/import_export.h \
- @CMAKE_SOURCE_DIR@/c/include/proton/log.h \
- @CMAKE_SOURCE_DIR@/c/include/proton/object.h \
- @CMAKE_SOURCE_DIR@/c/include/proton/reactor.h \
- @CMAKE_SOURCE_DIR@/c/include/proton/sasl_plugin.h \
- @CMAKE_SOURCE_DIR@/c/include/proton/selectable.h \
- @CMAKE_SOURCE_DIR@/c/include/proton/type_compat.h
+EXCLUDE_PATTERNS = @PROJECT_SOURCE_DIR@/c/examples/*.c \
+ @PROJECT_SOURCE_DIR@/c/examples/*.h \
+ @PROJECT_SOURCE_DIR@/c/include/proton/cid.h \
+ @PROJECT_SOURCE_DIR@/c/include/proton/engine.h \
+ @PROJECT_SOURCE_DIR@/c/include/proton/handlers.h \
+
@PROJECT_SOURCE_DIR@/c/include/proton/import_export.h \
+ @PROJECT_SOURCE_DIR@/c/include/proton/log.h \
+ @PROJECT_SOURCE_DIR@/c/include/proton/object.h \
+ @PROJECT_SOURCE_DIR@/c/include/proton/reactor.h \
+ @PROJECT_SOURCE_DIR@/c/include/proton/sasl_plugin.h \
+ @PROJECT_SOURCE_DIR@/c/include/proton/selectable.h \
+ @PROJECT_SOURCE_DIR@/c/include/proton/type_compat.h
FULL_PATH_NAMES = YES
RECURSIVE = YES
-STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@/c/include
-EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/c/examples
+STRIP_FROM_PATH = @PROJECT_SOURCE_DIR@/c/include
+EXAMPLE_PATH = @PROJECT_SOURCE_DIR@/c/examples
EXAMPLE_RECURSIVE = YES
# View and list options
diff --git a/c/tests/CMakeLists.txt b/c/tests/CMakeLists.txt
index 2b9ec35c9..3bb12a336 100644
--- a/c/tests/CMakeLists.txt
+++ b/c/tests/CMakeLists.txt
@@ -18,7 +18,7 @@
#
configure_file(test_config.h.in test_config.h)
-include_directories(${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/tests/include)
+include_directories(${CMAKE_CURRENT_BINARY_DIR}
${PROJECT_SOURCE_DIR}/tests/include)
if (WIN32)
set(test_env "PATH=$<TARGET_FILE_DIR:qpid-proton-core>")
else()
@@ -31,7 +31,7 @@ endif()
# use the same framework for C++ tests.
# See https://github.com/catchorg/Catch2/blob/v2.x/docs/tutorial.md for more.
#
-# ${CMAKE_SOURCE_DIR}/include/tests/catch_extra.cpp has some general
extensions to catch.
+# ${PROJECT_SOURCE_DIR}/include/tests/catch_extra.cpp has some general
extensions to catch.
# ./pn_test.hpp contains proton-C specific code to help with testing.
#
# Tests for each library are combined in a single executable.
@@ -113,7 +113,7 @@ if (CMAKE_CXX_COMPILER)
set(path "$<TARGET_FILE_DIR:c-broker>:$ENV{PATH}")
endif(WIN32)
- set(pypath "${CMAKE_SOURCE_DIR}/tests/py")
+ set(pypath "${PROJECT_SOURCE_DIR}/tests/py")
# Disable fdlimit test by default. Flaky throughout its history and
implementations.
# Very useful for proactor development, so keep around.
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 4ef8a71d1..b7d61c556 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -55,8 +55,8 @@ set(CXX_EXAMPLE_FLAGS "${CXX_WARNING_FLAGS} ${CXX_STANDARD}")
set(CXX_EXAMPLE_LINK_FLAGS "${SANITIZE_FLAGS}")
include_directories (
- "${CMAKE_SOURCE_DIR}/c/include"
- "${CMAKE_SOURCE_DIR}/c/src" # Here because of a naughty looking dependency
on message-internal.h
+ "${PROJECT_SOURCE_DIR}/c/include"
+ "${PROJECT_SOURCE_DIR}/c/src" # Here because of a naughty looking dependency
on message-internal.h
"${CMAKE_CURRENT_SOURCE_DIR}/include"
"${PN_C_INCLUDE_DIR}"
"${CMAKE_CURRENT_BINARY_DIR}"
diff --git a/cpp/docs/user.doxygen.in b/cpp/docs/user.doxygen.in
index 850adec3f..ab8004bb8 100644
--- a/cpp/docs/user.doxygen.in
+++ b/cpp/docs/user.doxygen.in
@@ -53,19 +53,19 @@ WARNINGS = YES
# Configuration options related to the input files
-INPUT = @CMAKE_SOURCE_DIR@/cpp/docs/pages.dox \
- @CMAKE_SOURCE_DIR@/cpp/docs \
- @CMAKE_SOURCE_DIR@/cpp/include \
- @CMAKE_SOURCE_DIR@/cpp/examples \
- @CMAKE_SOURCE_DIR@/docs/connect-config.md
+INPUT = @PROJECT_SOURCE_DIR@/cpp/docs/pages.dox \
+ @PROJECT_SOURCE_DIR@/cpp/docs \
+ @PROJECT_SOURCE_DIR@/cpp/include \
+ @PROJECT_SOURCE_DIR@/cpp/examples \
+ @PROJECT_SOURCE_DIR@/docs/connect-config.md
FILE_PATTERNS = *.hpp *.md *.dox
-EXCLUDE_PATTERNS = @CMAKE_SOURCE_DIR@/cpp/examples/*.?pp \
- @CMAKE_SOURCE_DIR@/cpp/include/proton/internal/*.hpp
+EXCLUDE_PATTERNS = @PROJECT_SOURCE_DIR@/cpp/examples/*.?pp \
+
@PROJECT_SOURCE_DIR@/cpp/include/proton/internal/*.hpp
FULL_PATH_NAMES = YES
RECURSIVE = YES
-STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@/cpp/include
-EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/cpp/examples
+STRIP_FROM_PATH = @PROJECT_SOURCE_DIR@/cpp/include
+EXAMPLE_PATH = @PROJECT_SOURCE_DIR@/cpp/examples
EXAMPLE_RECURSIVE = YES
# View and list options
diff --git a/cpp/testdata/sasl-conf/proton-server.conf.in
b/cpp/testdata/sasl-conf/proton-server.conf.in
index ff2fb1767..bbe9c6787 100644
--- a/cpp/testdata/sasl-conf/proton-server.conf.in
+++ b/cpp/testdata/sasl-conf/proton-server.conf.in
@@ -1,2 +1,2 @@
-sasldb_path: ${CMAKE_BINARY_DIR}/cpp/testdata/sasl-conf/proton.sasldb
+sasldb_path: ${PROJECT_BINARY_DIR}/cpp/testdata/sasl-conf/proton.sasldb
mech_list: EXTERNAL DIGEST-MD5 SCRAM-SHA-1 CRAM-MD5 PLAIN ANONYMOUS
diff --git a/cpp/tests.cmake b/cpp/tests.cmake
index a13a2e1e4..8c63c24b6 100644
--- a/cpp/tests.cmake
+++ b/cpp/tests.cmake
@@ -52,7 +52,7 @@ endmacro(add_cpp_test)
add_cpp_test(codec_test)
add_cpp_test(connection_driver_test)
-add_cpp_test(interop_test ${CMAKE_SOURCE_DIR}/tests)
+add_cpp_test(interop_test ${PROJECT_SOURCE_DIR}/tests)
add_cpp_test(message_test)
add_cpp_test(map_test)
add_cpp_test(scalar_test)
@@ -81,7 +81,7 @@ endif()
# See c/tests/ for more interesting examples.
# Eventually all the C++ tests will migrate to Catch2.
-include_directories(${CMAKE_SOURCE_DIR}/tests/include)
+include_directories(${PROJECT_SOURCE_DIR}/tests/include)
add_executable(cpp-test src/cpp-test.cpp src/url_test.cpp)
target_link_libraries(cpp-test qpid-proton-cpp ${PLATFORM_LIBS})
# tests that require access to pn_ functions in qpid-proton-core
diff --git a/go/CMakeLists.txt b/go/CMakeLists.txt
index 14d81f444..eaaac7aa1 100644
--- a/go/CMakeLists.txt
+++ b/go/CMakeLists.txt
@@ -62,7 +62,7 @@ if (BUILD_GO)
"GOPATH=${GOPATH}"
"CGO_CFLAGS=-I${PN_C_INCLUDE_DIR}"
"CGO_LDFLAGS=-L${PN_C_LIBRARY_DIR}"
- "PN_INTEROP_DIR=${CMAKE_SOURCE_DIR}/tests/interop"
+ "PN_INTEROP_DIR=${PROJECT_SOURCE_DIR}/tests/interop"
"SASLPASSWD=${CyrusSASL_Saslpasswd_EXECUTABLE}"
CACHE INTERNAL "Run a command with Go environment variables")
@@ -78,12 +78,12 @@ if (BUILD_GO)
add_custom_target(go-build ALL
COMMAND ${GO_INSTALL} ${CMAKE_CURRENT_BINARY_DIR}/pkg/...
DEPENDS qpid-proton-core go-pkg-link go-mod-link
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
add_test(
NAME go-test
COMMAND ${GO_TEST} ${CMAKE_CURRENT_BINARY_DIR}/pkg/...
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
# Clean up go output directories.
list(APPEND ADDITIONAL_MAKE_CLEAN_FILES ${GOPATH}/pkg ${GOPATH}/bin)
diff --git a/go/examples/CMakeLists.txt b/go/examples/CMakeLists.txt
index 7f4bd2aa8..a4c85ccbe 100644
--- a/go/examples/CMakeLists.txt
+++ b/go/examples/CMakeLists.txt
@@ -31,7 +31,7 @@ if(BUILD_GO)
# Otherwise it's too hard to get the dependencies right.
add_custom_target(${target} ALL
COMMAND ${GO_BUILD} ${GO_EXAMPLE_FLAGS} -o ${output}
${CMAKE_CURRENT_SOURCE_DIR}/${example}.go
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
DEPENDS go-build)
list(APPEND example_targets ${target})
endforeach()
@@ -40,7 +40,7 @@ if(BUILD_GO)
set(test_exe ${CMAKE_CURRENT_BINARY_DIR}/example_test)
add_custom_target(go_example_test ALL
COMMAND ${GO_TEST} -c -o ${test_exe}
${CMAKE_CURRENT_SOURCE_DIR}/example_test.go
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
pn_add_test(
UNWRAPPED
diff --git a/misc/config.bat.in b/misc/config.bat.in
index e86d59bd2..b4f61d56f 100644
--- a/misc/config.bat.in
+++ b/misc/config.bat.in
@@ -27,8 +27,8 @@ SET PROTON_BUILD_CONFIGURATION=relwithdebinfo
REM PROTON_HOME is the root of the proton checkout
REM PROTON_BUILD is where cmake was run
-set PROTON_HOME=@CMAKE_SOURCE_DIR@
-set PROTON_BUILD=@CMAKE_BINARY_DIR@
+set PROTON_HOME=@PROJECT_SOURCE_DIR@
+set PROTON_BUILD=@PROJECT_BINARY_DIR@
set PROTON_HOME=%PROTON_HOME:/=\%
set PROTON_BUILD=%PROTON_BUILD:/=\%
diff --git a/misc/config.sh.in b/misc/config.sh.in
index dd2360242..baad0955b 100755
--- a/misc/config.sh.in
+++ b/misc/config.sh.in
@@ -28,8 +28,8 @@ merge_paths() {
echo $newpath | sed 's/^://' # Remove leading :
}
-PROTON_HOME=@CMAKE_SOURCE_DIR@
-PROTON_BUILD=@CMAKE_BINARY_DIR@
+PROTON_HOME=@PROJECT_SOURCE_DIR@
+PROTON_BUILD=@PROJECT_BINARY_DIR@
PYTHON_BINDING=$PROTON_BUILD/python
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 3021c00bd..deb74a8c6 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -90,8 +90,8 @@ install(DIRECTORY examples/
# source distribution for Pypi/pip
#
-set(py_csrc_dir ${CMAKE_SOURCE_DIR}/c/src)
-set(py_cinc_dir ${CMAKE_SOURCE_DIR}/c/include)
+set(py_csrc_dir ${PROJECT_SOURCE_DIR}/c/src)
+set(py_cinc_dir ${PROJECT_SOURCE_DIR}/c/include)
file(GLOB_RECURSE py_csrc LIST_DIRECTORIES no
"${py_csrc_dir}/core/*.[ch]"
@@ -128,9 +128,9 @@ add_custom_command(OUTPUT .timestamp.copied_pysrc
COMMAND ${CMAKE_COMMAND} -E copy
${PN_C_SOURCE_DIR}/core/frame_generators.h src/core
COMMAND ${CMAKE_COMMAND} -E copy
${PN_C_SOURCE_DIR}/core/frame_consumers.c src/core
COMMAND ${CMAKE_COMMAND} -E copy
${PN_C_SOURCE_DIR}/core/frame_consumers.h src/core
- COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_SOURCE_DIR}/VERSION.txt .
+ COMMAND ${CMAKE_COMMAND} -E copy
${PROJECT_SOURCE_DIR}/VERSION.txt .
COMMAND ${CMAKE_COMMAND} -E touch .timestamp.copied_pysrc
- DEPENDS generated_c_files ${py_cgen} ${py_csrc} ${py_cinc}
${CMAKE_SOURCE_DIR}/VERSION.txt)
+ DEPENDS generated_c_files ${py_cgen} ${py_csrc} ${py_cinc}
${PROJECT_SOURCE_DIR}/VERSION.txt)
foreach(file IN LISTS py_dist_files pysrc)
add_custom_command(OUTPUT "${file}"
diff --git a/ruby/CMakeLists.txt b/ruby/CMakeLists.txt
index 582f2856e..14e483a58 100644
--- a/ruby/CMakeLists.txt
+++ b/ruby/CMakeLists.txt
@@ -24,7 +24,7 @@ set(c_lib_dir "$<TARGET_FILE_DIR:qpid-proton>") # Location of
qpid-proton librar
## Build the swig library
list(APPEND SWIG_MODULE_cproton-ruby_EXTRA_DEPS
- ${CMAKE_SOURCE_DIR}/c/include/proton/cproton.i
+ ${PROJECT_SOURCE_DIR}/c/include/proton/cproton.i
${PROTON_HEADERS}
)
@@ -114,7 +114,7 @@ if (result EQUAL 0) # Have minitest
NAME ${name}
PREPEND_ENVIRONMENT ${test_env}
COMMAND ${RUBY_EXECUTABLE}
-r${CMAKE_CURRENT_SOURCE_DIR}/tests/collect_coverage.rb ${script} -v
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} # simplecov doesn't report on
code not under $CWD
+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} # simplecov doesn't report on
code not under $CWD
${ARGN})
endmacro()
diff --git a/tests/RuntimeCheck.cmake b/tests/RuntimeCheck.cmake
index c8c9077fa..09fd0c09a 100644
--- a/tests/RuntimeCheck.cmake
+++ b/tests/RuntimeCheck.cmake
@@ -31,7 +31,7 @@ mark_as_advanced(TEST_EXE_PREFIX TEST_WRAP_PREFIX TEST_ENV)
# Check for valgrind
find_program(VALGRIND_EXECUTABLE valgrind DOC "location of valgrind program")
-set(VALGRIND_SUPPRESSIONS "${CMAKE_SOURCE_DIR}/tests/valgrind.supp" CACHE
STRING "Suppressions file for valgrind")
+set(VALGRIND_SUPPRESSIONS "${PROJECT_SOURCE_DIR}/tests/valgrind.supp" CACHE
STRING "Suppressions file for valgrind")
set(VALGRIND_COMMON_ARGS "--error-exitcode=42 --quiet
--suppressions=${VALGRIND_SUPPRESSIONS}")
mark_as_advanced(VALGRIND_EXECUTABLE VALGRIND_SUPPRESSIONS
VALGRIND_COMMON_ARGS)
@@ -102,16 +102,16 @@ elseif(RUNTIME_CHECK STREQUAL "asan")
endif()
set(SANITIZE_FLAGS "-g -fno-omit-frame-pointer ${CLANG_ASAN_FLAG}
-fsanitize=address,undefined -fsanitize-recover=vptr")
- set(TEST_WRAP_PREFIX "${CMAKE_SOURCE_DIR}/tests/preload_asan.sh
$<TARGET_FILE:qpid-proton-core>")
- list(APPEND TEST_ENV
"UBSAN_OPTIONS=suppressions=${CMAKE_SOURCE_DIR}/tests/ubsan.supp")
- list(APPEND TEST_ENV
"LSAN_OPTIONS=suppressions=${CMAKE_SOURCE_DIR}/tests/lsan.supp")
+ set(TEST_WRAP_PREFIX "${PROJECT_SOURCE_DIR}/tests/preload_asan.sh
$<TARGET_FILE:qpid-proton-core>")
+ list(APPEND TEST_ENV
"UBSAN_OPTIONS=suppressions=${PROJECT_SOURCE_DIR}/tests/ubsan.supp")
+ list(APPEND TEST_ENV
"LSAN_OPTIONS=suppressions=${PROJECT_SOURCE_DIR}/tests/lsan.supp")
elseif(RUNTIME_CHECK STREQUAL "tsan")
assert_has_sanitizers()
message(STATUS "Runtime race checker: gcc/clang thread sanitizer")
set(SANITIZE_FLAGS "-g -fno-omit-frame-pointer -fsanitize=thread")
- set(TEST_WRAP_PREFIX "${CMAKE_SOURCE_DIR}/tests/preload_tsan.sh
$<TARGET_FILE:qpid-proton-core>")
- list(APPEND TEST_ENV "TSAN_OPTIONS=second_deadlock_stack=1
suppressions=${CMAKE_SOURCE_DIR}/tests/tsan.supp")
+ set(TEST_WRAP_PREFIX "${PROJECT_SOURCE_DIR}/tests/preload_tsan.sh
$<TARGET_FILE:qpid-proton-core>")
+ list(APPEND TEST_ENV "TSAN_OPTIONS=second_deadlock_stack=1
suppressions=${PROJECT_SOURCE_DIR}/tests/tsan.supp")
elseif(RUNTIME_CHECK)
message(FATAL_ERROR "'RUNTIME_CHECK=${RUNTIME_CHECK}' is invalid, valid
values: ${runtime_checks}")
diff --git a/tests/share/CMakeLists.txt b/tests/share/CMakeLists.txt
index 68bffcc47..467581049 100644
--- a/tests/share/CMakeLists.txt
+++ b/tests/share/CMakeLists.txt
@@ -24,7 +24,7 @@ include(CTest)
include("tests/RuntimeCheck.cmake")
# find example sub-directories that contain "CMakeLists.txt" or "testme"
-set(ex_dir "${CMAKE_SOURCE_DIR}/examples")
+set(ex_dir "${PROJECT_SOURCE_DIR}/examples")
file(GLOB subs ${ex_dir}/*)
foreach(dir ${subs})
get_filename_component(ex "${dir}" NAME)
diff --git a/tools/cmake/config/ProtonConfig.cmake
b/tools/cmake/config/ProtonConfig.cmake
index 6291d6f53..4fbae677b 100644
--- a/tools/cmake/config/ProtonConfig.cmake
+++ b/tools/cmake/config/ProtonConfig.cmake
@@ -29,12 +29,12 @@
set (Proton_VERSION ${PN_VERSION})
-set (Proton_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/c/include)
+set (Proton_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/c/include)
set (Proton_LIBRARIES ${C_EXAMPLE_LINK_FLAGS} qpid-proton)
set (Proton_DEFINITIONS ${C_EXAMPLE_FLAGS})
set (Proton_FOUND True)
-set (Proton_Core_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/c/include)
+set (Proton_Core_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/c/include)
set (Proton_Core_LIBRARIES ${C_EXAMPLE_LINK_FLAGS} qpid-proton-core)
set (Proton_Core_DEFINITIONS ${C_EXAMPLE_FLAGS})
@@ -43,7 +43,7 @@ add_library(Proton::core ALIAS qpid-proton-core)
set (Proton_Core_FOUND True)
if (${HAS_PROACTOR})
- set (Proton_Proactor_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/c/include)
+ set (Proton_Proactor_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/c/include)
set (Proton_Proactor_LIBRARIES ${C_EXAMPLE_LINK_FLAGS}
qpid-proton-proactor)
set (Proton_Proactor_DEFINITIONS ${C_EXAMPLE_FLAGS})
diff --git a/tools/cmake/config/ProtonCppConfig.cmake
b/tools/cmake/config/ProtonCppConfig.cmake
index d7a942a42..84278835e 100644
--- a/tools/cmake/config/ProtonCppConfig.cmake
+++ b/tools/cmake/config/ProtonCppConfig.cmake
@@ -28,8 +28,8 @@
# tree build and installed in the appropriate place for cmake on that system.
set (ProtonCpp_VERSION ${PN_VERSION})
-set (ProtonCpp_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/c/include
${CMAKE_SOURCE_DIR}/cpp/include
- ${CMAKE_BINARY_DIR}/cpp)
+set (ProtonCpp_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/c/include
${PROJECT_SOURCE_DIR}/cpp/include
+ ${PROJECT_BINARY_DIR}/cpp)
set (ProtonCpp_LIBRARIES ${CXX_EXAMPLE_LINK_FLAGS} qpid-proton-cpp)
set (ProtonCpp_DEFINITIONS ${CXX_EXAMPLE_FLAGS})
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]