Skip to content

Commit 7a3bc13

Browse files
author
DenverM80
committed
Update Docker config; tweak cmake paths for posix builds
1 parent 6d98a4c commit 7a3bc13

File tree

5 files changed

+96
-66
lines changed

5 files changed

+96
-66
lines changed

docker/Dockerfile

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,20 @@
11
FROM ubuntu:latest
22

3-
RUN apt-get update
4-
5-
RUN apt-get install -y vim
6-
7-
RUN apt-get install -y build-essential
8-
9-
RUN apt-get install -y libxml2-dev
10-
11-
RUN apt-get install -y libcurl4-openssl-dev
12-
13-
RUN apt-get install -y libglib2.0-dev
14-
15-
RUN apt-get install -y autoconf
16-
17-
RUN apt-get install -y git
18-
19-
RUN apt-get install -y cmake
20-
21-
RUN apt-get install -y libtool
22-
23-
RUN apt-get install -y curl
24-
25-
RUN apt-get install -y libboost-test-dev
26-
27-
RUN apt-get install -y valgrind
3+
# Combine all apt-get install commands or Docker will attempt to use cache
4+
RUN apt-get update && apt-get install -y \
5+
autoconf \
6+
build-essential \
7+
cmake \
8+
curl \
9+
git \
10+
libboost-test-dev \
11+
libcurl4-openssl-dev \
12+
libglib2.0-dev \
13+
libtool \
14+
libxml2-dev \
15+
pkg-config \
16+
valgrind \
17+
vim
2818

2919
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
3020

docker/run_tests.sh

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,28 @@ else
1717
git clone ${GIT_REPO}
1818
fi
1919

20-
echo "cd ds3_c_sdk/test"
21-
cd ds3_c_sdk/test
20+
echo "cd ds3_c_sdk"
21+
cd ds3_c_sdk
2222

23-
echo "./build_local.sh"
24-
./build_local.sh
23+
echo "cmake ."
24+
cmake .
2525

26-
echo "make mem"
27-
make mem
26+
echo "make"
27+
make
28+
29+
echo "make install"
30+
make install
31+
ldconfig
32+
33+
echo "cd test"
34+
cd test
35+
36+
echo "cmake ."
37+
cmake .
38+
39+
echo "make"
40+
make
41+
echo "make test"
42+
make test
43+
44+
cat Testing/Temporary/LastTest.log

modules/FindGLIB2.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ ELSE (GLIB2_LIBRARIES AND GLIB2_INCLUDE_DIRS )
6868
/sw/lib/
6969
/usr/lib64
7070
/usr/lib
71+
/usr/lib/x86_64-linux-gnu
7172
/usr/local/include
7273
/usr/local/lib
7374
${CMAKE_LIBRARY_PATH}

src/CMakeLists.txt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,16 @@ if (GLIB2_FOUND)
6666
target_link_libraries (ds3 ${GLIB2_LIBRARIES})
6767
endif(GLIB2_FOUND)
6868

69-
install(FILES "ds3.h" "ds3_utils.h" "ds3_net.h" "ds3_request.h" "ds3_string_multimap_impl.h" "ds3_string_multimap.h" "ds3_string.h" "ds3_connection.h"
70-
DESTINATION "/usr/local/include")
69+
install(FILES
70+
"ds3.h"
71+
"ds3_connection.h"
72+
"ds3_net.h"
73+
"ds3_request.h"
74+
"ds3_string.h"
75+
"ds3_string_multimap.h"
76+
"ds3_string_multimap_impl.h"
77+
"ds3_utils.h"
78+
DESTINATION
79+
"/usr/local/include")
7180
install(TARGETS ds3 DESTINATION lib)
7281
endif(WIN32)

test/CMakeLists.txt

Lines changed: 46 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,64 +5,77 @@ enable_testing()
55

66
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/../modules/")
77

8-
#add_executable(test test.cpp metadata_tests.cpp service_tests.cpp search_tests.cpp bucket_tests.cpp deletes_test.cpp job_tests.cpp bulk_get.cpp get_physical_placement.cpp negative_tests.cpp multimap_tests.cpp checksum.cpp)
9-
# checksum.cpp includes sys/mman.h, which is unix only
10-
# multimap_tests.cpp is never built (and wasn't being built)
11-
12-
# some of this stuff really should be gotten from pkg-config
13-
#CFLAGS=`$(PKG_CONFIG) --cflags libds3`
14-
#CFLAGS+= -g -Wall# Debug flags
15-
#CFLAGS+= -DBOOST_TEST_DYN_LINK -lboost_unit_test_framework
168

179
add_definitions(-DCURL_STATICLIB)
1810

1911
if (WIN32)
12+
find_package(Boost 1.59.0)
13+
include_directories(${Boost_INCLUDE_DIRS})
2014

21-
find_package(Boost 1.59.0)
22-
include_directories(${Boost_INCLUDE_DIRS})
23-
24-
include_directories("${PROJECT_SOURCE_DIR}/../src")
25-
include_directories(SYSTEM "${PROJECT_SOURCE_DIR}/../win32/deps/install/include")
26-
include_directories("${PROJECT_SOURCE_DIR}/../win32/deps/install/include")
27-
include_directories("${PROJECT_SOURCE_DIR}/../win32/deps/install/include/glib-2.0")
28-
include_directories("${PROJECT_SOURCE_DIR}/../win32/deps/install/lib/glib-2.0/include")
15+
include_directories("${PROJECT_SOURCE_DIR}/../src")
16+
include_directories(SYSTEM "${PROJECT_SOURCE_DIR}/../win32/deps/install/include")
17+
include_directories("${PROJECT_SOURCE_DIR}/../win32/deps/install/include")
18+
include_directories("${PROJECT_SOURCE_DIR}/../win32/deps/install/include/glib-2.0")
19+
include_directories("${PROJECT_SOURCE_DIR}/../win32/deps/install/lib/glib-2.0/include")
2920

30-
link_directories("${PROJECT_SOURCE_DIR}/../win32/output/bin" "${PROJECT_SOURCE_DIR}/../win32/deps/install/lib")
21+
link_directories("${PROJECT_SOURCE_DIR}/../win32/output/bin" "${PROJECT_SOURCE_DIR}/../win32/deps/install/lib")
3122

32-
set(WINDOWS_VS_OUTPUT_DIR ${PROJECT_SOURCE_DIR}/bin)
23+
set(WINDOWS_VS_OUTPUT_DIR ${PROJECT_SOURCE_DIR}/bin)
3324

34-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${WINDOWS_VS_OUTPUT_DIR})
35-
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${WINDOWS_VS_OUTPUT_DIR})
36-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${WINDOWS_VS_OUTPUT_DIR})
25+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${WINDOWS_VS_OUTPUT_DIR})
26+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${WINDOWS_VS_OUTPUT_DIR})
27+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${WINDOWS_VS_OUTPUT_DIR})
3728

38-
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
29+
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
3930
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
4031
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${WINDOWS_VS_OUTPUT_DIR} )
4132
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${WINDOWS_VS_OUTPUT_DIR} )
4233
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${WINDOWS_VS_OUTPUT_DIR} )
43-
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
34+
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
4435

45-
else(WIN32)
46-
add_definitions(-DBOOST_TEST_DYN_LINK)
36+
else(WIN32) # POSIX
37+
add_definitions(-DBOOST_TEST_DYN_LINK)
4738
set(CMAKE_CXX_FLAGS "-g -Wall")
4839

49-
find_package(GLIB2 2.34 REQUIRED)
40+
find_package(PkgConfig REQUIRED)
41+
pkg_check_modules(GLIB2 glib-2.0>=2.34)
5042

5143
if (GLIB2_FOUND)
44+
message(STATUS "Found glib-2.0")
5245
include_directories(${GLIB2_INCLUDE_DIRS})
5346
endif(GLIB2_FOUND)
5447

55-
link_directories("${PROJECT_SOURCE_DIR}/../install/lib")
56-
include_directories("${PROJECT_SOURCE_DIR}/../install/include")
48+
find_path(GLIB_CONFIG_INCLUDE_DIR
49+
NAMES glibconfig.h
50+
PATH_SUFFIXES glib-2.0/include
51+
PATHS ${GLIB2_INCLUDE_DIRS})
52+
53+
if (GLIB_CONFIG_INCLUDE_DIR)
54+
SET ( GLIB2_INCLUDE_DIRS ${GLIB2_INCLUDE_DIRS} ${GLIB_CONFIG_INCLUDE_DIR} )
55+
else (GLIB_CONFIG_INCLUDE_DIR)
56+
message(STATUS "Could not find glibconfig.h in ${GLIB2_INCLUDE_DIRS.")
57+
endif (GLIB_CONFIG_INCLUDE_DIR)
5758

59+
link_directories("${PROJECT_SOURCE_DIR}/../install/lib")
60+
include_directories("${PROJECT_SOURCE_DIR}/../install/include")
5861
endif(WIN32)
5962

60-
add_executable(ds3_c_test test.cpp service_tests.cpp checksum.cpp bucket_tests.cpp job_tests.cpp bulk_put.cpp bulk_get.cpp get_physical_placement.cpp negative_tests.cpp multimap_tests.cpp metadata_tests.cpp deletes_test.cpp search_tests.cpp)
63+
add_executable(ds3_c_test
64+
bucket_tests.cpp
65+
bulk_get.cpp
66+
bulk_put.cpp
67+
checksum.cpp
68+
deletes_test.cpp
69+
get_physical_placement.cpp
70+
job_tests.cpp
71+
metadata_tests.cpp
72+
multimap_tests.cpp
73+
negative_tests.cpp
74+
search_tests.cpp
75+
service_tests.cpp
76+
test.cpp)
77+
6178
add_test(regression_tests ds3_c_test)
6279

6380
target_link_libraries(ds3_c_test ds3 glib-2.0 boost_unit_test_framework)
6481

65-
#test.cpp metadata_tests.cpp service_tests.cpp search_tests.cpp bucket_tests.cpp deletes_test.cpp job_tests.cpp bulk_get.cpp get_physical_placement.cpp negative_tests.cpp multimap_tests.cpp checksum.cpp
66-
#set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/modules/")
67-
68-
#set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/_build/binaries)

0 commit comments

Comments
 (0)