diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b81e529e8..7bc24254f3 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__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 53b9124371..5567abf0f9 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 62f114aa86..2cc1c69b4d 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 2b9ec35c98..3bb12a336a 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=$") 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 "$:$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 4ef8a71d1a..b7d61c5562 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 850adec3fd..ab8004bb8c 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 ff2fb17670..bbe9c67875 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 a13a2e1e45..8c63c24b65 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 14d81f4440..eaaac7aa1d 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 7f4bd2aa83..a4c85ccbed 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 e86d59bd2f..b4f61d56fd 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 dd23602423..baad0955b3 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 3021c00bdf..deb74a8c6b 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 582f2856e0..14e483a581 100644 --- a/ruby/CMakeLists.txt +++ b/ruby/CMakeLists.txt @@ -24,7 +24,7 @@ set(c_lib_dir "$") # 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 c8c9077fac..09fd0c09a2 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 $") - 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 $") + 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 $") - 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 $") + 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 68bffcc478..4675810498 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 6291d6f53c..4fbae677b7 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 d7a942a423..84278835ee 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})