aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Leoshkevich <iii@linux.ibm.com>2020-11-03 01:36:12 +0100
committerVitaly Buka <vitalybuka@gmail.com>2020-11-02 18:29:48 -0800
commit92204dfe68ea3e0fc4b0d61dc76be3fbe9f8341f (patch)
treebfd5d620d6717031d17f8b34db24acf5c13a1333
parent918dafea39ec8ecbec6623c4ec43c9d788db8882 (diff)
downloadlibprotobuf-mutator-92204dfe68ea3e0fc4b0d61dc76be3fbe9f8341f.tar.gz
Fix CI
Commit 918dafea39ec ("Fix building on Fedora") introduced usage of CMAKE_INSTALL_LIBDIR in order to predict where gtest and libprotobuf will put their libraries. Unfortunately, the value of this variable depends on the value of CMAKE_INSTALL_PREFIX, specifically, whether it points to /usr. CI uses precisely -DCMAKE_INSTALL_PREFIX=/usr and was therefore broken by this change. In order to fix CI and keep Fedora working, just ask gtest and libprotobuf to put their libraries into "lib".
-rw-r--r--cmake/external/googletest.cmake9
-rw-r--r--cmake/external/protobuf.cmake7
2 files changed, 7 insertions, 9 deletions
diff --git a/cmake/external/googletest.cmake b/cmake/external/googletest.cmake
index 978a2ca..825ff9a 100644
--- a/cmake/external/googletest.cmake
+++ b/cmake/external/googletest.cmake
@@ -12,8 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-include(GNUInstallDirs)
-
set(GTEST_TARGET external.googletest)
set(GTEST_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/${GTEST_TARGET})
@@ -27,12 +25,12 @@ set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES})
foreach(lib IN LISTS GTEST_BOTH_LIBRARIES)
if (MSVC)
if (CMAKE_BUILD_TYPE MATCHES Debug)
- set(LIB_PATH ${GTEST_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${lib}d.lib)
+ set(LIB_PATH ${GTEST_INSTALL_DIR}/lib/${lib}d.lib)
else()
- set(LIB_PATH ${GTEST_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${lib}.lib)
+ set(LIB_PATH ${GTEST_INSTALL_DIR}/lib/${lib}.lib)
endif()
else()
- set(LIB_PATH ${GTEST_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/lib${lib}.a)
+ set(LIB_PATH ${GTEST_INSTALL_DIR}/lib/lib${lib}.a)
endif()
list(APPEND GTEST_BUILD_BYPRODUCTS ${LIB_PATH})
@@ -52,5 +50,6 @@ ExternalProject_Add(${GTEST_TARGET}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
CMAKE_ARGS ${CMAKE_ARGS}
-DCMAKE_INSTALL_PREFIX=${GTEST_INSTALL_DIR}
+ -DCMAKE_INSTALL_LIBDIR=lib
BUILD_BYPRODUCTS ${GTEST_BUILD_BYPRODUCTS}
)
diff --git a/cmake/external/protobuf.cmake b/cmake/external/protobuf.cmake
index d05db04..0b64519 100644
--- a/cmake/external/protobuf.cmake
+++ b/cmake/external/protobuf.cmake
@@ -12,8 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-include(GNUInstallDirs)
-
# We only need protobuf_generate_cpp from FindProtobuf, and we are going to
# override the rest with ExternalProject version.
include (FindProtobuf)
@@ -33,9 +31,9 @@ ENDIF()
foreach(lib ${PROTOBUF_LIBRARIES})
if (MSVC)
- set(LIB_PATH ${PROTOBUF_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/lib${lib}.lib)
+ set(LIB_PATH ${PROTOBUF_INSTALL_DIR}/lib/lib${lib}.lib)
else()
- set(LIB_PATH ${PROTOBUF_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/lib${lib}.a)
+ set(LIB_PATH ${PROTOBUF_INSTALL_DIR}/lib/lib${lib}.a)
endif()
list(APPEND PROTOBUF_BUILD_BYPRODUCTS ${LIB_PATH})
@@ -70,6 +68,7 @@ ExternalProject_Add(${PROTOBUF_TARGET}
CONFIGURE_COMMAND ${CMAKE_COMMAND} ${PROTOBUF_INSTALL_DIR}/src/${PROTOBUF_TARGET}/cmake
-G${CMAKE_GENERATOR}
-DCMAKE_INSTALL_PREFIX=${PROTOBUF_INSTALL_DIR}
+ -DCMAKE_INSTALL_LIBDIR=lib
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}