From 64b4e327ff6bcc5a10a7e54949cde72cdf2baa7d Mon Sep 17 00:00:00 2001 From: Sergiu Deitsch Date: Thu, 11 Nov 2021 22:22:51 +0100 Subject: [PATCH] cmake: fixed glog-modules.cmake installation --- .github/workflows/linux-builds.yml | 32 +++++++++++++++++++++++------- CMakeLists.txt | 8 +++++++- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/.github/workflows/linux-builds.yml b/.github/workflows/linux-builds.yml index 801239a..c4c22d2 100644 --- a/.github/workflows/linux-builds.yml +++ b/.github/workflows/linux-builds.yml @@ -41,11 +41,13 @@ jobs: -G Ninja cmake --build build-googletest --target install + - name: Setup Environment + if: ${{matrix.build_type == 'Debug'}} + run: | + echo 'CXXFLAGS=--coverage' >> $GITHUB_ENV + - name: Configure run: | - if [[ ${{matrix.build_type}} == "Debug" ]]; then - export CXXFLAGS=--coverage - fi cmake -S . -B build_${{matrix.build_type}} -G Ninja \ -DBUILD_SHARED_LIBS=${{matrix.shared}} \ -DCMAKE_CXX_STANDARD=${{matrix.std}} \ @@ -64,18 +66,34 @@ jobs: --config ${{matrix.build_type}} \ --target install - - name: Test CMake Package + cmake build_${{matrix.build_type}} -G Ninja \ + -DCMAKE_INSTALL_INCLUDEDIR=${{runner.workspace}}/foo/include \ + -DCMAKE_INSTALL_LIBDIR=${{runner.workspace}}/foo/lib \ + -DCMAKE_INSTALL_DATAROOTDIR=${{runner.workspace}}/foo/share + cmake --build build_${{matrix.build_type}} \ + --config ${{matrix.build_type}} \ + --target install + + - name: Test CMake Package (relative GNUInstallDirs) run: | - if [[ ${{matrix.build_type}} == "Debug" ]]; then - export CXXFLAGS=--coverage - fi cmake -S src/package_config_unittest/working_config \ -B build_${{matrix.build_type}}_package \ + -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \ -DCMAKE_PREFIX_PATH=./build_${{matrix.build_type}}/install \ -G Ninja cmake --build build_${{matrix.build_type}}_package \ --config ${{matrix.build_type}} + - name: Test CMake Package (absolute GNUInstallDirs) + run: | + cmake -S src/package_config_unittest/working_config \ + -B build_${{matrix.build_type}}_package_foo \ + -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \ + -DCMAKE_PREFIX_PATH=${{runner.workspace}}/foo \ + -G Ninja + cmake --build build_${{matrix.build_type}}_package_foo \ + --config ${{matrix.build_type}} + - name: Test run: | ctest --test-dir build_${{matrix.build_type}} -j$(nproc) --output-on-failure diff --git a/CMakeLists.txt b/CMakeLists.txt index ca93d0b..bcf04c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1022,12 +1022,18 @@ configure_file (glog-modules.cmake.in install (CODE " set (glog_FULL_CMake_DATADIR \"\\\${CMAKE_CURRENT_LIST_DIR}/${glog_REL_CMake_DATADIR}\") +set (glog_DATADIR_DESTINATION ${_glog_CMake_INSTALLDIR}) + +if (NOT IS_ABSOLUTE ${_glog_CMake_INSTALLDIR}) + set (glog_DATADIR_DESTINATION \"\${CMAKE_INSTALL_PREFIX}/\${glog_DATADIR_DESTINATION}\") +endif (NOT IS_ABSOLUTE ${_glog_CMake_INSTALLDIR}) + configure_file (\"${CMAKE_CURRENT_SOURCE_DIR}/glog-modules.cmake.in\" \"${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/glog-modules.cmake\" @ONLY) file (INSTALL \"${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/glog-modules.cmake\" DESTINATION - \"\${CMAKE_INSTALL_PREFIX}/${_glog_CMake_INSTALLDIR}\") + \"\${glog_DATADIR_DESTINATION}\") " COMPONENT Development )