diff options
author | Jordan Williams <jordan@jwillikers.com> | 2022-07-23 06:21:44 -0500 |
---|---|---|
committer | Jordan Williams <jordan@jwillikers.com> | 2022-07-25 14:14:57 -0500 |
commit | fac146f44d235a1c8c810de09c9582a0dd28b406 (patch) | |
tree | d3cf0a07fc883e29bfacd3cdc68d33647126d295 /cmake | |
parent | ad5836cb0d24b0f4f35ee6d57392e21570f56689 (diff) | |
download | dbus-fac146f44d235a1c8c810de09c9582a0dd28b406.tar.gz |
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.
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/CPackInstallConfig.cmake | 6 | ||||
-rw-r--r-- | cmake/modules/Macros.cmake | 8 | ||||
-rw-r--r-- | cmake/modules/Win32Macros.cmake | 6 |
3 files changed, 10 insertions, 10 deletions
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() |