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]

Reply via email to