summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorJordan Williams <jordan@jwillikers.com>2022-07-23 06:21:44 -0500
committerJordan Williams <jordan@jwillikers.com>2022-07-25 14:14:57 -0500
commitfac146f44d235a1c8c810de09c9582a0dd28b406 (patch)
treed3cf0a07fc883e29bfacd3cdc68d33647126d295 /cmake
parentad5836cb0d24b0f4f35ee6d57392e21570f56689 (diff)
downloaddbus-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.cmake6
-rw-r--r--cmake/modules/Macros.cmake8
-rw-r--r--cmake/modules/Win32Macros.cmake6
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()