From ad5836cb0d24b0f4f35ee6d57392e21570f56689 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 22 Jul 2022 14:27:14 -0500 Subject: [PATCH 1/4] Bump CMake version to 3.4 With the minimum version set to 3.4, none of the policies need to be set explicitly to the `NEW` behavior. Each of the policies removed here was introduced before CMake version 3.4. By default then, each of them will be set to NEW automatically. This is part of the behavior of cmake_minimum_required. The cmake_policy commands are therefore redundant and have been removed. --- CMakeLists.txt | 16 ++-------------- README.cmake | 2 +- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c7090d01..0773cecc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,5 @@ +cmake_minimum_required(VERSION 3.4) + # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") @@ -7,20 +9,6 @@ set(CMAKE_LEGACY_CYGWIN_WIN32 0) project(dbus) -# we need to be up to date -cmake_minimum_required(VERSION 3.4 FATAL_ERROR) -if(COMMAND cmake_policy) - cmake_policy(SET CMP0003 NEW) -endif() - -if(CMAKE_MAJOR_VERSION GREATER 2) - cmake_policy(SET CMP0026 NEW) - if(CMAKE_MAJOR_VERSION GREATER 4 OR CMAKE_MINOR_VERSION GREATER 1) - cmake_policy(SET CMP0053 NEW) - cmake_policy(SET CMP0054 NEW) - endif() -endif() - option(DBUS_BUILD_TESTS "enable unit test code" ON) # detect version diff --git a/README.cmake b/README.cmake index 281b730d..03e5f27b 100644 --- a/README.cmake +++ b/README.cmake @@ -2,7 +2,7 @@ This file describes how to compile dbus using the cmake build system Requirements ------------ -- cmake version >= 2.6.0 see http://www.cmake.org +- cmake version >= 3.4 see http://www.cmake.org - installed libexpat see http://sourceforge.net/projects/expat/ unsupported RelWithDebInfo builds could be fetched from http://sourceforge.net/projects/kde-windows/files/expat/ From fac146f44d235a1c8c810de09c9582a0dd28b406 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sat, 23 Jul 2022 06:21:44 -0500 Subject: [PATCH 2/4] Use project relative paths in CMake files This makes it possible for projects to incorporate D-Bus as a CMake sub-project in a larger CMake project. Before this PR, doing so would result in many errors. This is because CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR would point to directories above the D-Bus project. Using paths relative to the project directory, PROJECT_SOURCE_DIR and PROJECT_BINARY_DIR, corrects for this. --- CMakeLists.txt | 54 +++++++++++++------------- bus/CMakeLists.txt | 4 +- cmake/modules/CPackInstallConfig.cmake | 6 +-- cmake/modules/Macros.cmake | 8 ++-- cmake/modules/Win32Macros.cmake | 6 +-- dbus/CMakeLists.txt | 2 +- doc/CMakeLists.txt | 16 ++++---- test/CMakeLists.txt | 6 +-- 8 files changed, 51 insertions(+), 51 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0773cecc..2deada7c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,14 +1,14 @@ cmake_minimum_required(VERSION 3.4) -# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked -list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") -list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") - # we do not need to have WIN32 defined set(CMAKE_LEGACY_CYGWIN_WIN32 0) project(dbus) +# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked +list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") +list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules") + option(DBUS_BUILD_TESTS "enable unit test code" ON) # detect version @@ -20,8 +20,8 @@ autoversion(dbus) include (TestBigEndian) test_big_endian(WORDS_BIGENDIAN) -if(EXISTS ${CMAKE_SOURCE_DIR}/config.h.in) - autoheaderchecks(${CMAKE_SOURCE_DIR}/config.h.in ${CMAKE_SOURCE_DIR}/cmake/ConfigureChecks.cmake ${CMAKE_SOURCE_DIR}/cmake/config.h.cmake) +if(EXISTS ${PROJECT_SOURCE_DIR}/config.h.in) + autoheaderchecks(${PROJECT_SOURCE_DIR}/config.h.in ${PROJECT_SOURCE_DIR}/cmake/ConfigureChecks.cmake ${PROJECT_SOURCE_DIR}/cmake/config.h.cmake) else() message(STATUS "Generate config.h.in with autogen.sh to enable cmake header difference check.") endif() @@ -117,7 +117,7 @@ endif() # search for required packages if(WIN32) # include local header first to avoid using old installed header - set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} ${CMAKE_SOURCE_DIR}/..) + set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} ${PROJECT_SOURCE_DIR}) include(Win32Macros) addExplorerWrapper(${CMAKE_PROJECT_NAME}) endif() @@ -416,23 +416,23 @@ enable_testing() #macro_ensure_out_of_source_build("dbus requires an out of source build. Please create a separate build directory and run 'cmake path_to_dbus [options]' there.") # ... and warn in case of an earlier in-source build -#set(generatedFileInSourceDir EXISTS ${CMAKE_SOURCE_DIR}/config.h) +#set(generatedFileInSourceDir EXISTS ${PROJECT_SOURCE_DIR}/config.h) #if(${generatedFileInSourceDir}) # message(STATUS "config.h exists in your source directory.") #endif(${generatedFileInSourceDir}) ######################################################################### ########### build output path definitions ############### -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) if(WIN32 OR CYGWIN) - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) else() - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) endif() -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) # for including config.h and for includes like -include_directories(. ${CMAKE_BINARY_DIR} ${CMAKE_INCLUDE_PATH}) +include_directories(. ${PROJECT_BINARY_DIR} ${CMAKE_INCLUDE_PATH}) # linker search directories link_directories(${DBUS_LIB_DIR} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ) @@ -560,7 +560,7 @@ if(MSVC_IDE) message(STATUS) endif() set(TEST_PATH_FORCE FORCE) - file(REMOVE ${CMAKE_BINARY_DIR}/data/dbus-1/services) + file(REMOVE ${PROJECT_BINARY_DIR}/data/dbus-1/services) endif() #### Find socket directories @@ -637,10 +637,10 @@ if(DBUS_BUILD_TESTS) # different, and it has no direct Autotools equivalent (Autotools # tests automatically get their own ${builddir} as working directory). set(DBUS_TEST_WORKING_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN}) - set(DBUS_TEST_DATA ${Z_DRIVE_IF_WINE}${CMAKE_BINARY_DIR}/test/data) + set(DBUS_TEST_DATA ${Z_DRIVE_IF_WINE}${PROJECT_BINARY_DIR}/test/data) set(DBUS_TEST_DAEMON ${Z_DRIVE_IF_WINE}${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN}/dbus-daemon${EXEEXT}) set(DBUS_TEST_DBUS_LAUNCH ${Z_DRIVE_IF_WINE}${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN}/dbus-launch${EXEEXT}) - set(DBUS_TEST_HOMEDIR ${Z_DRIVE_IF_WINE}${CMAKE_BINARY_DIR}/dbus) + set(DBUS_TEST_HOMEDIR ${Z_DRIVE_IF_WINE}${PROJECT_BINARY_DIR}/dbus) set(DBUS_TEST_RUN_SESSION ${Z_DRIVE_IF_WINE}${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN}/dbus-run-session${EXEEXT}) set(TEST_LAUNCH_HELPER_BINARY ${Z_DRIVE_IF_WINE}${DBUS_TEST_EXEC}/dbus-daemon-launch-helper-for-tests${EXEEXT}) if(UNIX) @@ -658,11 +658,11 @@ set(DBUS_INTERNAL_LIBRARIES dbus-internal) set(DBUS_INTERNAL_ADD_LIBRARY_OPTIONS STATIC) set(DBUS_INTERNAL_CLIENT_DEFINITIONS "-DDBUS_COMPILATION") -configure_file(cmake/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h ) +configure_file(cmake/config.h.cmake ${PROJECT_BINARY_DIR}/config.h ) if(WIN32) -configure_file(cmake/dbus-env.bat.cmake ${CMAKE_BINARY_DIR}/bin/dbus-env.bat ) - install(FILES ${CMAKE_BINARY_DIR}/bin/dbus-env.bat DESTINATION ${CMAKE_INSTALL_BINDIR}) +configure_file(cmake/dbus-env.bat.cmake ${PROJECT_BINARY_DIR}/bin/dbus-env.bat ) + install(FILES ${PROJECT_BINARY_DIR}/bin/dbus-env.bat DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() # @@ -670,14 +670,14 @@ endif() # set(INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/DBus1) if(WIN32) - configure_file(cmake/DBus1Config.cmake.in "${CMAKE_BINARY_DIR}/DBus1Config.cmake" @ONLY) + configure_file(cmake/DBus1Config.cmake.in "${PROJECT_BINARY_DIR}/DBus1Config.cmake" @ONLY) else() - configure_file(cmake/DBus1Config.pkgconfig.in "${CMAKE_BINARY_DIR}/DBus1Config.cmake" @ONLY) + configure_file(cmake/DBus1Config.pkgconfig.in "${PROJECT_BINARY_DIR}/DBus1Config.cmake" @ONLY) endif() -configure_file(cmake/DBus1ConfigVersion.cmake.in "${CMAKE_BINARY_DIR}/DBus1ConfigVersion.cmake" @ONLY) +configure_file(cmake/DBus1ConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/DBus1ConfigVersion.cmake" @ONLY) install(FILES - "${CMAKE_BINARY_DIR}/DBus1Config.cmake" - "${CMAKE_BINARY_DIR}/DBus1ConfigVersion.cmake" + "${PROJECT_BINARY_DIR}/DBus1Config.cmake" + "${PROJECT_BINARY_DIR}/DBus1ConfigVersion.cmake" DESTINATION "${INSTALL_CMAKE_DIR}" ) @@ -808,7 +808,7 @@ include(CPackInstallConfig) add_custom_target(help-options cmake -LH - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + WORKING_DIRECTORY ${PROJECT_BINARY_DIR} ) # @@ -835,7 +835,7 @@ if(DBUS_ENABLE_PKGCONFIG) set(datadir "\${prefix}/${CMAKE_INSTALL_DATADIR}") set(datarootdir "\${prefix}/${CMAKE_INSTALL_DATADIR}") set(dbus_daemondir "\${prefix}/${CMAKE_INSTALL_BINDIR}") - configure_file(dbus-1.pc.in ${CMAKE_BINARY_DIR}/dbus-1.pc @ONLY) - install(FILES ${CMAKE_BINARY_DIR}/dbus-1.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + configure_file(dbus-1.pc.in ${PROJECT_BINARY_DIR}/dbus-1.pc @ONLY) + install(FILES ${PROJECT_BINARY_DIR}/dbus-1.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) endif() endif() diff --git a/bus/CMakeLists.txt b/bus/CMakeLists.txt index dafee593..febfaeb0 100644 --- a/bus/CMakeLists.txt +++ b/bus/CMakeLists.txt @@ -18,7 +18,7 @@ set(SERVICE_FILES test/data/valid-service-files) file(GLOB FILES "${SERVICE_FILES}/*.service.in" ) foreach(FILE ${FILES}) get_filename_component(FILENAME ${FILE} NAME_WE) - set(TARGET ${CMAKE_BINARY_DIR}/data/dbus-1/services/${FILENAME}.service) + set(TARGET ${PROJECT_BINARY_DIR}/data/dbus-1/services/${FILENAME}.service) if(CONFIG_VERBOSE) message("FROM: ${FILE}\nTO: ${TARGET}\n") endif() @@ -84,7 +84,7 @@ if(DBUS_ENABLE_STATS) endif() include_directories( - ${CMAKE_BINARY_DIR} + ${PROJECT_BINARY_DIR} ${EXPAT_INCLUDE_DIR} ) diff --git a/cmake/modules/CPackInstallConfig.cmake b/cmake/modules/CPackInstallConfig.cmake index 221a7938..b68bea67 100644 --- a/cmake/modules/CPackInstallConfig.cmake +++ b/cmake/modules/CPackInstallConfig.cmake @@ -9,8 +9,8 @@ endif() set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "D-BUS For Windows") set(CPACK_PACKAGE_VENDOR "D-BUS Windows Team") -set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README") -set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README") +set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/COPYING") # duplicated from VERSION set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) @@ -22,7 +22,7 @@ if(WIN32 AND NOT UNIX) set(CPACK_NSIS_COMPRESSOR "/SOLID lzma") # There is a bug in NSI that does not handle full unix paths properly. Make # sure there is at least one set of four (4) backlasshes. -# SET(CPACK_PACKAGE_ICON "${CMake_SOURCE_DIR}/Utilities/Release\\\\InstallIcon.bmp") +# SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/Utilities/Release\\\\InstallIcon.bmp") set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\dbus-launch.bat") set(CPACK_NSIS_DISPLAY_NAME "D-Bus for Windows") set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\sourceforge.net/projects/windbus") diff --git a/cmake/modules/Macros.cmake b/cmake/modules/Macros.cmake index f581508f..d4c26460 100644 --- a/cmake/modules/Macros.cmake +++ b/cmake/modules/Macros.cmake @@ -233,8 +233,8 @@ macro(add_uac_manifest _sources) # 24 is the resource type, RT_MANIFEST # constants are used because of a bug in windres # see https://stackoverflow.com/questions/33000158/embed-manifest-file-to-require-administrator-execution-level-with-mingw32 - get_filename_component(UAC_FILE ${CMAKE_SOURCE_DIR}/tools/Win32.Manifest REALPATH) - set(outfile ${CMAKE_BINARY_DIR}/disable-uac.rc) + get_filename_component(UAC_FILE ${PROJECT_SOURCE_DIR}/tools/Win32.Manifest REALPATH) + set(outfile ${PROJECT_BINARY_DIR}/disable-uac.rc) if(NOT EXISTS outfile) file(WRITE ${outfile} "1 24 \"${UAC_FILE}\"\n") endif() @@ -245,7 +245,7 @@ macro(add_executable_version_info _sources _name) set(DBUS_VER_INTERNAL_NAME "${_name}") set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_EXECUTABLE_SUFFIX}") set(DBUS_VER_FILE_TYPE "VFT_APP") - configure_file(${CMAKE_SOURCE_DIR}/dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc) + configure_file(${PROJECT_SOURCE_DIR}/dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc) # version info and uac manifest can be combined in a binary because they use different resource types list(APPEND ${_sources} ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc) endmacro() @@ -254,7 +254,7 @@ macro(add_library_version_info _sources _name) set(DBUS_VER_INTERNAL_NAME "${_name}") set(DBUS_VER_ORIGINAL_NAME "${DBUS_VER_INTERNAL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}") set(DBUS_VER_FILE_TYPE "VFT_DLL") - configure_file(${CMAKE_SOURCE_DIR}/dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc) + configure_file(${PROJECT_SOURCE_DIR}/dbus/versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc) # version info and uac manifest can be combined in a binary because they use different resource types list(APPEND ${_sources} ${CMAKE_CURRENT_BINARY_DIR}/versioninfo-${DBUS_VER_INTERNAL_NAME}.rc) endmacro() diff --git a/cmake/modules/Win32Macros.cmake b/cmake/modules/Win32Macros.cmake index 0946b037..c5054c67 100644 --- a/cmake/modules/Win32Macros.cmake +++ b/cmake/modules/Win32Macros.cmake @@ -31,13 +31,13 @@ if(WIN32) if(MINGW) get_filename_component(MINGW_BIN_PATH ${CMAKE_CXX_COMPILER} PATH) set(ADD_PATH "${ADD_PATH};${MINGW_BIN_PATH}") - write_file(${CMAKE_BINARY_DIR}/${_projectname}-shell.bat "set PATH=${ADD_PATH};%PATH%\ncmd.exe") + write_file(${PROJECT_BINARY_DIR}/${_projectname}-shell.bat "set PATH=${ADD_PATH};%PATH%\ncmd.exe") else(MINGW) if(CMAKE_BUILD_TOOL STREQUAL "nmake") get_filename_component(VC_BIN_PATH ${CMAKE_CXX_COMPILER} PATH) - write_file(${CMAKE_BINARY_DIR}/${_projectname}-shell.bat "set PATH=${ADD_PATH};%PATH%\ncall \"${VC_BIN_PATH}\\vcvars32.bat\"\ncmd.exe") + write_file(${PROJECT_BINARY_DIR}/${_projectname}-shell.bat "set PATH=${ADD_PATH};%PATH%\ncall \"${VC_BIN_PATH}\\vcvars32.bat\"\ncmd.exe") else(CMAKE_BUILD_TOOL STREQUAL "nmake") - write_file(${CMAKE_BINARY_DIR}/${_projectname}-sln.bat "set PATH=${ADD_PATH};%PATH%\nstart ${_projectname}.sln") + write_file(${PROJECT_BINARY_DIR}/${_projectname}-sln.bat "set PATH=${ADD_PATH};%PATH%\nstart ${_projectname}.sln") endif() endif() endmacro() diff --git a/dbus/CMakeLists.txt b/dbus/CMakeLists.txt index 4d92b79f..42442cce 100644 --- a/dbus/CMakeLists.txt +++ b/dbus/CMakeLists.txt @@ -97,7 +97,7 @@ set(DBUS_LIB_HEADERS dbus-transport-protected.h dbus-uuidgen.h dbus-watch.h - ${CMAKE_BINARY_DIR}/config.h + ${PROJECT_BINARY_DIR}/config.h ) if(UNIX) set(DBUS_LIB_HEADERS ${DBUS_LIB_HEADERS} diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index cdc58a07..db93daec 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -12,8 +12,8 @@ if(DOXYGEN_EXECUTABLE) endif() if(DBUS_ENABLE_DOXYGEN_DOCS) - set(top_srcdir ${CMAKE_SOURCE_DIR}) - set(top_builddir ${CMAKE_BINARY_DIR}) + set(top_srcdir ${PROJECT_SOURCE_DIR}) + set(top_builddir ${PROJECT_BINARY_DIR}) if(WIN32) set(DBUS_GENERATE_MAN NO) else() @@ -35,15 +35,15 @@ if(DBUS_ENABLE_DOXYGEN_DOCS) set(DOXYGEN_GENERATE_QHP NO) set(DBUS_ENABLE_QTHELP_DOCS OFF PARENT_SCOPE) endif() - configure_file(../Doxyfile.in ${CMAKE_BINARY_DIR}/Doxyfile ) - file(GLOB dbus_files "${CMAKE_SOURCE_DIR}/dbus/*.[ch]*") + configure_file(../Doxyfile.in ${PROJECT_BINARY_DIR}/Doxyfile ) + file(GLOB dbus_files "${PROJECT_SOURCE_DIR}/dbus/*.[ch]*") add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/doxygen.stamp - DEPENDS ${CMAKE_SOURCE_DIR}/Doxyfile.in ${CMAKE_BINARY_DIR}/Doxyfile ${dbus_files} + DEPENDS ${PROJECT_SOURCE_DIR}/Doxyfile.in ${PROJECT_BINARY_DIR}/Doxyfile ${dbus_files} COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/api/html COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/api/man COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/api/xml - COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile + COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/doxygen.stamp WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Generating API documentation with Doxygen" @@ -149,10 +149,10 @@ macro(COPYDIR _src _type) foreach(FILE_TYPE ${_type}) foreach(DIR ${_src}) file(GLOB FILES "${DIR}/${FILE_TYPE}" ) - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${DIR}) + file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/${DIR}) foreach(FILE ${FILES}) get_filename_component(FILENAME ${FILE} NAME) - set(TARGET ${CMAKE_BINARY_DIR}/${DIR}/${FILENAME}) + set(TARGET ${PROJECT_BINARY_DIR}/${DIR}/${FILENAME}) configure_file(${FILE} ${TARGET} COPYONLY) if(CONFIG_VERBOSE) message("FROM: ${FILE}\nTO: ${TARGET}\n") diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 8ea3bb52..cd338a07 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -242,7 +242,7 @@ set(TESTDIRS ) foreach(DIR ${TESTDIRS}) - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${DIR}) + file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/${DIR}) endforeach() ### copy tests to builddir so that generated tests and static tests @@ -287,5 +287,5 @@ foreach(FILE_TYPE *.conf.in *.service.in) endforeach() message(STATUS "Copying generated bus config files to test directory${HINT}") -dbus_configure_file(../bus/session.conf.in ${CMAKE_BINARY_DIR}/test/data/valid-config-files/session.conf @ONLY) -dbus_configure_file(../bus/system.conf.in ${CMAKE_BINARY_DIR}/test/data/valid-config-files-system/system.conf @ONLY) +dbus_configure_file(../bus/session.conf.in ${PROJECT_BINARY_DIR}/test/data/valid-config-files/session.conf @ONLY) +dbus_configure_file(../bus/system.conf.in ${PROJECT_BINARY_DIR}/test/data/valid-config-files-system/system.conf @ONLY) From e62e42f84cfaccf6c5f7975d9ebd98fc619c0920 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 22 Jul 2022 15:30:00 -0500 Subject: [PATCH 3/4] Add name to AUTHORS --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index ed6b1bd2..9fdcae9a 100644 --- a/AUTHORS +++ b/AUTHORS @@ -100,6 +100,7 @@ John Johansen Jonathan Perkin Jon Gosting Jon Trowbridge +Jordan Williams Julien Schueller Justin Lee Kay Sievers From 625366dd0efaa103e9d9abdf2fdbeae024f345b3 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 22 Jul 2022 15:40:49 -0500 Subject: [PATCH 4/4] Update NEWS --- NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NEWS b/NEWS index fa98354f..3aa7c3ad 100644 --- a/NEWS +++ b/NEWS @@ -138,6 +138,9 @@ Fixes: · Fix detection of atomic operations (dbus!306, Alex Richardson) · Use DWARF 2 instead of STABS for debug symbols on Windows, for compatibility with newer gcc versions (dbus!323, Marc-André Lureau) + · Fix use of paths relative to the dbus project directory when dbus is + vendored into a larger CMake project (dbus!332, Jordan Williams) + Tests and CI enhancements: