@@ -20,6 +20,7 @@ if(VERSION_PRERELEASE)
2020 set (VERSION ${VERSION} -${VERSION_PRERELEASE} )
2121endif ()
2222
23+ set (LIBPMEMOBJCPP_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR} )
2324set (LIBPMEMOBJ_REQUIRED_VERSION 1.9)
2425set (LIBPMEM_REQUIRED_VERSION 1.7)
2526# Only pmreorder in ver. >= 1.9 guarantees reliable output
@@ -43,7 +44,7 @@ if(NOT CMAKE_BUILD_TYPE)
4344 set (CMAKE_BUILD_TYPE "Debug" )
4445endif ()
4546
46- set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR } /cmake)
47+ set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LIBPMEMOBJCPP_ROOT_DIR } /cmake)
4748
4849# ----------------------------------------------------------------- #
4950## CMake build options
@@ -94,7 +95,7 @@ include(CheckCXXSourceCompiles)
9495include (CheckCXXCompilerFlag )
9596include (GNUInstallDirs )
9697
97- include (${CMAKE_SOURCE_DIR } /cmake/functions.cmake )
98+ include (${LIBPMEMOBJCPP_ROOT_DIR } /cmake/functions.cmake )
9899# set SRCVERSION, it's more accurate and "current" than VERSION
99100set_source_ver (SRCVERSION )
100101
@@ -165,8 +166,8 @@ add_custom_target(cppstyle)
165166add_custom_target (cppformat )
166167add_custom_target (check-whitespace )
167168add_custom_target (check-license
168- COMMAND ${CMAKE_SOURCE_DIR } /utils/check_license/check-headers.sh
169- ${CMAKE_SOURCE_DIR }
169+ COMMAND ${LIBPMEMOBJCPP_ROOT_DIR } /utils/check_license/check-headers.sh
170+ ${LIBPMEMOBJCPP_ROOT_DIR }
170171 BSD-3-Clause )
171172
172173if (CHECK_CPP_STYLE)
@@ -217,8 +218,8 @@ add_cppstyle(include-container-detail ${CMAKE_CURRENT_SOURCE_DIR}/include/libpme
217218add_cppstyle (include -detail ${CMAKE_CURRENT_SOURCE_DIR} /include/libpmemobj++/detail/*.hpp )
218219add_cppstyle (include -experimental ${CMAKE_CURRENT_SOURCE_DIR} /include/libpmemobj++/experimental/*.hpp )
219220
220- add_check_whitespace (main ${CMAKE_SOURCE_DIR } /utils/check_license/*.sh
221- ${CMAKE_SOURCE_DIR} /README .md )
221+ add_check_whitespace (main ${LIBPMEMOBJCPP_ROOT_DIR } /utils/check_license/*.sh
222+ ${LIBPMEMOBJCPP_ROOT_DIR} /* .md )
222223add_check_whitespace (include ${CMAKE_CURRENT_SOURCE_DIR} /include/libpmemobj++/*.hpp )
223224add_check_whitespace (include -container ${CMAKE_CURRENT_SOURCE_DIR} /include/libpmemobj++/container/*.hpp )
224225add_check_whitespace (include -container-detail ${CMAKE_CURRENT_SOURCE_DIR} /include/libpmemobj++/container/detail/*.hpp )
@@ -230,7 +231,7 @@ add_check_whitespace(cmake-helpers ${CMAKE_CURRENT_SOURCE_DIR}/cmake/*.cmake)
230231# ----------------------------------------------------------------- #
231232## Configure make install/uninstall and packages
232233# ----------------------------------------------------------------- #
233- configure_file (${CMAKE_SOURCE_DIR } /cmake/version.hpp.in
234+ configure_file (${LIBPMEMOBJCPP_ROOT_DIR } /cmake/version.hpp.in
234235 ${CMAKE_CURRENT_BINARY_DIR} /version.hpp @ONLY )
235236
236237install (FILES ${CMAKE_CURRENT_BINARY_DIR} /version.hpp
@@ -242,21 +243,21 @@ install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
242243install (DIRECTORY examples/ DESTINATION ${CMAKE_INSTALL_DOCDIR} /examples
243244 FILES_MATCHING PATTERN "*.*pp" )
244245
245- configure_file (${CMAKE_SOURCE_DIR } /cmake/libpmemobj++.pc.in
246+ configure_file (${LIBPMEMOBJCPP_ROOT_DIR } /cmake/libpmemobj++.pc.in
246247 ${CMAKE_CURRENT_BINARY_DIR} /libpmemobj++.pc @ONLY )
247248
248249install (FILES ${CMAKE_CURRENT_BINARY_DIR} /libpmemobj++.pc
249250 DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig)
250251
251252configure_file (
252- "${CMAKE_SOURCE_DIR } /cmake/cmake_uninstall.cmake.in"
253+ "${LIBPMEMOBJCPP_ROOT_DIR } /cmake/cmake_uninstall.cmake.in"
253254 "${CMAKE_CURRENT_BINARY_DIR} /cmake_uninstall.cmake"
254255 IMMEDIATE @ONLY )
255256
256257add_custom_target (uninstall
257258 COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR} /cmake_uninstall.cmake )
258259
259- configure_package_config_file (${CMAKE_SOURCE_DIR } /cmake/libpmemobj++-config.cmake.in
260+ configure_package_config_file (${LIBPMEMOBJCPP_ROOT_DIR } /cmake/libpmemobj++-config.cmake.in
260261 ${CMAKE_CURRENT_BINARY_DIR} /libpmemobj++-config.cmake
261262 INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR} /libpmemobj++/cmake
262263 PATH_VARS CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_INCLUDEDIR )
@@ -275,7 +276,7 @@ include_directories(include)
275276# Run checks for known issues, it's required to enable/disable some tests and examples.
276277# It has to be executed (included) here, when environment is fully set up,
277278# all packages are found and all paths/variables are set.
278- include (${CMAKE_SOURCE_DIR } /cmake/check_compiling_issues.cmake )
279+ include (${LIBPMEMOBJCPP_ROOT_DIR } /cmake/check_compiling_issues.cmake )
279280
280281# ----------------------------------------------------------------- #
281282## Add/include sub-directories if build options enabled them
@@ -305,5 +306,5 @@ elseif(BUILD_EXAMPLES)
305306endif ()
306307
307308if (NOT "${CPACK_GENERATOR} " STREQUAL "" )
308- include (${CMAKE_SOURCE_DIR } /cmake/packages.cmake )
309+ include (${LIBPMEMOBJCPP_ROOT_DIR } /cmake/packages.cmake )
309310endif ()
0 commit comments