Fix USE_SSL=1 make/cmake on OSX and CMake tests (#789)
* Fix linker problems when building with SSL enabled on OSX * Corrects `HIREDIS_SSL=ON` to `USE_SSL=ON` so we test building with SSL enabled on travis.
This commit is contained in:
parent
0184caac9d
commit
b484021859
14
.travis.yml
14
.travis.yml
|
@ -15,7 +15,7 @@ branches:
|
||||||
- /^release\/.*$/
|
- /^release\/.*$/
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- if [ "$TRAVIS_OS_NAME" == "osx" ] ; then brew update; brew install redis; fi
|
- if [ "$TRAVIS_OS_NAME" == "osx" ] ; then brew update; brew install redis openssl; fi
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
|
@ -27,6 +27,8 @@ addons:
|
||||||
- libc6-dbg:i386
|
- libc6-dbg:i386
|
||||||
- gcc-multilib
|
- gcc-multilib
|
||||||
- g++-multilib
|
- g++-multilib
|
||||||
|
- libssl-dev
|
||||||
|
- libssl-dev:i386
|
||||||
- valgrind
|
- valgrind
|
||||||
|
|
||||||
env:
|
env:
|
||||||
|
@ -34,7 +36,7 @@ env:
|
||||||
- BITS="64"
|
- BITS="64"
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- EXTRA_CMAKE_OPTS="-DENABLE_EXAMPLES:BOOL=ON -DHIREDIS_SSL:BOOL=ON";
|
- EXTRA_CMAKE_OPTS="-DENABLE_EXAMPLES:BOOL=ON -DENABLE_SSL:BOOL=ON";
|
||||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||||
if [ "$BITS" == "32" ]; then
|
if [ "$BITS" == "32" ]; then
|
||||||
CFLAGS="-m32 -Werror";
|
CFLAGS="-m32 -Werror";
|
||||||
|
@ -58,6 +60,14 @@ script:
|
||||||
fi;
|
fi;
|
||||||
fi;
|
fi;
|
||||||
export CFLAGS CXXFLAGS LDFLAGS TEST_PREFIX EXTRA_CMAKE_OPTS
|
export CFLAGS CXXFLAGS LDFLAGS TEST_PREFIX EXTRA_CMAKE_OPTS
|
||||||
|
- make && make clean;
|
||||||
|
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||||
|
if [ "$BITS" == "64" ]; then
|
||||||
|
OPENSSL_PREFIX="$(ls -d /usr/local/Cellar/openssl@1.1/*)" USE_SSL=1 make;
|
||||||
|
fi;
|
||||||
|
else
|
||||||
|
USE_SSL=1 make;
|
||||||
|
fi;
|
||||||
- mkdir build/ && cd build/
|
- mkdir build/ && cd build/
|
||||||
- cmake .. ${EXTRA_CMAKE_OPTS}
|
- cmake .. ${EXTRA_CMAKE_OPTS}
|
||||||
- make VERBOSE=1
|
- make VERBOSE=1
|
||||||
|
|
|
@ -98,10 +98,15 @@ IF(ENABLE_SSL)
|
||||||
ssl.c)
|
ssl.c)
|
||||||
ADD_LIBRARY(hiredis_ssl SHARED
|
ADD_LIBRARY(hiredis_ssl SHARED
|
||||||
${hiredis_ssl_sources})
|
${hiredis_ssl_sources})
|
||||||
SET_TARGET_PROPERTIES(hiredis_ssl
|
|
||||||
PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE
|
|
||||||
VERSION "${HIREDIS_SONAME}")
|
|
||||||
|
|
||||||
|
IF (APPLE)
|
||||||
|
SET_PROPERTY(TARGET hiredis_ssl PROPERTY LINK_FLAGS "-Wl,-undefined -Wl,dynamic_lookup")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET_TARGET_PROPERTIES(hiredis_ssl
|
||||||
|
PROPERTIES
|
||||||
|
WINDOWS_EXPORT_ALL_SYMBOLS TRUE
|
||||||
|
VERSION "${HIREDIS_SONAME}")
|
||||||
|
|
||||||
TARGET_INCLUDE_DIRECTORIES(hiredis_ssl PRIVATE "${OPENSSL_INCLUDE_DIR}")
|
TARGET_INCLUDE_DIRECTORIES(hiredis_ssl PRIVATE "${OPENSSL_INCLUDE_DIR}")
|
||||||
TARGET_LINK_LIBRARIES(hiredis_ssl PRIVATE ${OPENSSL_LIBRARIES})
|
TARGET_LINK_LIBRARIES(hiredis_ssl PRIVATE ${OPENSSL_LIBRARIES})
|
||||||
|
|
8
Makefile
8
Makefile
|
@ -87,6 +87,7 @@ ifeq ($(uname_S),Darwin)
|
||||||
DYLIBSUFFIX=dylib
|
DYLIBSUFFIX=dylib
|
||||||
DYLIB_MINOR_NAME=$(LIBNAME).$(HIREDIS_SONAME).$(DYLIBSUFFIX)
|
DYLIB_MINOR_NAME=$(LIBNAME).$(HIREDIS_SONAME).$(DYLIBSUFFIX)
|
||||||
DYLIB_MAKE_CMD=$(CC) -dynamiclib -Wl,-install_name,$(PREFIX)/$(LIBRARY_PATH)/$(DYLIB_MINOR_NAME) -o $(DYLIBNAME) $(LDFLAGS)
|
DYLIB_MAKE_CMD=$(CC) -dynamiclib -Wl,-install_name,$(PREFIX)/$(LIBRARY_PATH)/$(DYLIB_MINOR_NAME) -o $(DYLIBNAME) $(LDFLAGS)
|
||||||
|
DYLIB_PLUGIN=-Wl,-undefined -Wl,dynamic_lookup
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all: $(DYLIBNAME) $(STLIBNAME) hiredis-test $(PKGCONFNAME)
|
all: $(DYLIBNAME) $(STLIBNAME) hiredis-test $(PKGCONFNAME)
|
||||||
|
@ -113,7 +114,7 @@ $(STLIBNAME): $(OBJ)
|
||||||
$(STLIB_MAKE_CMD) $(STLIBNAME) $(OBJ)
|
$(STLIB_MAKE_CMD) $(STLIBNAME) $(OBJ)
|
||||||
|
|
||||||
$(SSL_DYLIBNAME): $(SSL_OBJ)
|
$(SSL_DYLIBNAME): $(SSL_OBJ)
|
||||||
$(DYLIB_MAKE_CMD) -o $(SSL_DYLIBNAME) $(SSL_OBJ) $(REAL_LDFLAGS) $(SSL_LDFLAGS)
|
$(DYLIB_MAKE_CMD) $(DYLIB_PLUGIN) -o $(SSL_DYLIBNAME) $(SSL_OBJ) $(REAL_LDFLAGS) $(SSL_LDFLAGS)
|
||||||
|
|
||||||
$(SSL_STLIBNAME): $(SSL_OBJ)
|
$(SSL_STLIBNAME): $(SSL_OBJ)
|
||||||
$(STLIB_MAKE_CMD) $(SSL_STLIBNAME) $(SSL_OBJ)
|
$(STLIB_MAKE_CMD) $(SSL_STLIBNAME) $(SSL_OBJ)
|
||||||
|
@ -185,9 +186,12 @@ examples: $(EXAMPLES)
|
||||||
|
|
||||||
TEST_LIBS = $(STLIBNAME)
|
TEST_LIBS = $(STLIBNAME)
|
||||||
ifeq ($(USE_SSL),1)
|
ifeq ($(USE_SSL),1)
|
||||||
TEST_LIBS += $(SSL_STLIBNAME) -lssl -lcrypto -lpthread
|
TEST_LIBS += $(SSL_STLIBNAME)
|
||||||
|
TEST_LDFLAGS = $(SSL_LDFLAGS) -lssl -lcrypto -lpthread
|
||||||
endif
|
endif
|
||||||
|
|
||||||
hiredis-test: test.o $(TEST_LIBS)
|
hiredis-test: test.o $(TEST_LIBS)
|
||||||
|
$(CC) -o $@ $(REAL_CFLAGS) -I. $^ $(REAL_LDFLAGS) $(TEST_LDFLAGS)
|
||||||
|
|
||||||
hiredis-%: %.o $(STLIBNAME)
|
hiredis-%: %.o $(STLIBNAME)
|
||||||
$(CC) $(REAL_CFLAGS) -o $@ $< $(TEST_LIBS) $(REAL_LDFLAGS)
|
$(CC) $(REAL_CFLAGS) -o $@ $< $(TEST_LIBS) $(REAL_LDFLAGS)
|
||||||
|
|
Loading…
Reference in New Issue