diff --git a/.github/workflows/linux-builds.yml b/.github/workflows/linux-builds.yml index be567cf..c4c22d2 100644 --- a/.github/workflows/linux-builds.yml +++ b/.github/workflows/linux-builds.yml @@ -41,21 +41,59 @@ 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}} \ -DCMAKE_CXX_STANDARD_REQUIRED=ON \ - -DCMAKE_PREFIX_PATH=./install \ + -DCMAKE_INSTALL_PREFIX:PATH=./install \ -DWITH_CUSTOM_PREFIX=${{matrix.custom_prefix}} + - name: Build run: | cmake --build build_${{matrix.build_type}} \ --config ${{matrix.build_type}} + + - name: Install + run: | + cmake --build build_${{matrix.build_type}} \ + --config ${{matrix.build_type}} \ + --target install + + 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: | + 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/AUTHORS b/AUTHORS index 5f74a7a..5d8cc0d 100644 --- a/AUTHORS +++ b/AUTHORS @@ -19,7 +19,6 @@ Guillaume Dumont Marco Wang Michael Tanner MiniLight -Niklas Hambuechen romange Roman Perepelitsa Sergiu Deitsch diff --git a/CMakeLists.txt b/CMakeLists.txt index 990daa4..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 - \"${_glog_CMake_INSTALLDIR}\") + \"\${glog_DATADIR_DESTINATION}\") " COMPONENT Development ) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index b125035..571fd96 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -39,7 +39,6 @@ Marco Wang Michael Darr Michael Tanner MiniLight -Niklas Hambuechen Peter Collingbourne Rodrigo Queiro romange