Skip to content

Commit d0b0a6f

Browse files
committed
Merge pull request cpp-netlib#549 from rcdailey/cmake-include-directories
Boost include directories are now tied to targets directly
2 parents 1adee30 + 2adcf66 commit d0b0a6f

File tree

12 files changed

+22
-5
lines changed

12 files changed

+22
-5
lines changed

.travis.yml

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ install:
2323
- sudo apt-get install libboost-system1.53-dev
2424
- sudo apt-get install libboost-regex1.53-dev
2525
- sudo apt-get install libboost-filesystem1.53-dev
26+
- wget -qO- http://www.cmake.org/files/v3.3/cmake-3.3.2-Linux-x86_64.tar.gz | tar xvz && sudo cp -fR cmake-3.3.2-Linux-x86_64/* /usr
2627

2728
before_script:
2829
# update compilers

CMakeLists.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# (See accompanying file LICENSE_1_0.txt or copy at
66
# http://www.boost.org/LICENSE_1_0.txt)
77

8-
cmake_minimum_required(VERSION 2.8)
8+
cmake_minimum_required(VERSION 3.0)
99
project(CPP-NETLIB)
1010

1111
option( CPP-NETLIB_BUILD_SHARED_LIBS "Build cpp-netlib as shared libraries." OFF )
@@ -84,7 +84,6 @@ endif(MSVC)
8484
if (WIN32)
8585
add_definitions(-D_WIN32_WINNT=0x0501)
8686
endif(WIN32)
87-
include_directories(${Boost_INCLUDE_DIRS})
8887

8988
message(STATUS "CPP-NETLIB options selected:")
9089
message(STATUS " CPP-NETLIB_BUILD_SHARED_LIBS: ${CPP-NETLIB_BUILD_SHARED_LIBS}\t(Build cpp-netlib as shared libraries: OFF, ON)")
@@ -157,7 +156,7 @@ if (DOXYGEN_FOUND)
157156
endif(DOXYGEN_FOUND)
158157

159158
if(CPP-NETLIB_BUILD_SINGLE_LIB)
160-
include_directories(
159+
set( all_include_dirs
161160
${CMAKE_CURRENT_SOURCE_DIR}/config/src
162161
${CMAKE_CURRENT_SOURCE_DIR}/concurrency/src
163162
${CMAKE_CURRENT_SOURCE_DIR}/http/src
@@ -194,4 +193,5 @@ if(CPP-NETLIB_BUILD_SINGLE_LIB)
194193
${CPP-NETLIB_CONCURRENCY_SRCS}
195194
)
196195
target_link_libraries(cppnetlib ${Boost_LIBRARIES})
196+
target_include_directories(cppnetlib PUBLIC ${all_include_dirs} ${Boost_INCLUDE_DIRS})
197197
endif()

README.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,13 @@ Building with CMake
5353
~~~~~~~~~~~~~~~~~~~
5454

5555
To build the libraries and run the tests with CMake, you will need to
56-
have CMake version 2.8.10 or higher installed appropriately in your
56+
have CMake version 3.0 or higher installed appropriately in your
5757
system.
5858

5959
::
6060

6161
$ cmake --version
62-
cmake version 2.8.10
62+
cmake version 3.2.2
6363

6464
Inside the cpp-netlib directory, you can issue the following statements to
6565
configure and generate the Makefiles, and build the tests::

concurrency/src/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ set(CPP-NETLIB_CONCURRENCY_SRCS
1010

1111
if(NOT CPP-NETLIB_BUILD_SINGLE_LIB)
1212
add_library(network-concurrency ${CPP-NETLIB_CONCURRENCY_SRCS})
13+
target_include_directories(network-concurrency PUBLIC ${Boost_INCLUDE_DIRS})
1314
endif()
1415

1516
# prepend current directory to make paths absolute

concurrency/test/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ if (CPP-NETLIB_BUILD_TESTS)
1414
${Boost_LIBRARIES}
1515
${GTEST_BOTH_LIBRARIES}
1616
${CMAKE_THREAD_LIBS_INIT})
17+
target_include_directories(cpp-netlib-thread_pool_test PUBLIC ${Boost_INCLUDE_DIRS})
1718
set_target_properties(cpp-netlib-thread_pool_test PROPERTIES
1819
RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
1920
add_test(cpp-netlib-thread_pool_test

contrib/http_examples/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,6 @@ foreach(example ${EXAMPLES})
3333
${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}
3434
${CMAKE_THREAD_LIBS_INIT}
3535
)
36+
target_include_directories(${example} PUBLIC ${Boost_INCLUDE_DIRS})
3637
set_target_properties(${example} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/example)
3738
endforeach(example)

http/src/CMakeLists.txt

+5
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,23 @@ if(NOT CPP-NETLIB_BUILD_SINGLE_LIB)
2828
target_link_libraries(network-http-message
2929
${Boost_LIBRARIES}
3030
network-message)
31+
target_include_directories(network-http-message PUBLIC ${Boost_INCLUDE_DIRS})
3132
endif()
3233

3334
set(CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS
3435
http/message/wrappers.cpp)
3536

3637
if(NOT CPP-NETLIB_BUILD_SINGLE_LIB)
3738
add_library(network-http-message-wrappers ${CPP-NETLIB_HTTP_MESSAGE_WRAPPERS_SRCS})
39+
target_include_directories(network-http-message-wrappers PUBLIC ${Boost_INCLUDE_DIRS})
3840
endif()
3941

4042
set(CPP-NETLIB_CONSTANTS_SRCS
4143
constants.cpp)
4244

4345
if(NOT CPP-NETLIB_BUILD_SINGLE_LIB)
4446
add_library(network-constants ${CPP-NETLIB_CONSTANTS_SRCS})
47+
target_include_directories(network-constants PUBLIC ${Boost_INCLUDE_DIRS})
4548
endif()
4649

4750
# Server implementation files.
@@ -52,6 +55,7 @@ set(CPP-NETLIB_HTTP_SERVER_SRCS
5255

5356
if (NOT CPP-NETLIB_BUILD_SINGLE_LIB)
5457
add_library(network-http-server ${CPP-NETLIB_HTTP_SERVER_SRCS})
58+
target_include_directories(network-http-server PUBLIC ${Boost_INCLUDE_DIRS})
5559
endif()
5660

5761
# HTTP client
@@ -64,6 +68,7 @@ target_link_libraries(network-http-v2-client
6468
${Boost_LIBRARIES}
6569
network-uri
6670
)
71+
target_include_directories(network-http-v2-client PUBLIC ${Boost_INCLUDE_DIRS})
6772
if (OPENSSL_FOUND)
6873
target_link_libraries(network-http-v2-client ${OPENSSL_LIBRARIES})
6974
endif()

http/test/CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ if (CPP-NETLIB_BUILD_TESTS)
5858
${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}
5959
${CMAKE_THREAD_LIBS_INIT}
6060
${CPPNETLIB_LIBRARIES} )
61+
target_include_directories(cpp-netlib-http-${test} PUBLIC ${Boost_INCLUDE_DIRS})
6162
set_target_properties(cpp-netlib-http-${test}
6263
PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
6364
add_test(cpp-netlib-http-${test}
@@ -91,6 +92,7 @@ if (CPP-NETLIB_BUILD_TESTS)
9192
${GTEST_BOTH_LIBRARIES}
9293
${CMAKE_THREAD_LIBS_INIT}
9394
${CPPNETLIB_SERVER_LIBRARIES} )
95+
target_include_directories(cpp-netlib-http-${test} PUBLIC ${Boost_INCLUDE_DIRS})
9496
set_target_properties(cpp-netlib-http-${test} PROPERTIES
9597
RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
9698
add_test(cpp-netlib-http-${test}

http/test/v2/client/features/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ foreach(test ${CPP-NETLIB_CLIENT_TESTS})
2727
${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}
2828
${CMAKE_THREAD_LIBS_INIT}
2929
)
30+
target_include_directories(cpp-netlib-http-v2-${test} PUBLIC ${Boost_INCLUDE_DIRS})
3031
set_target_properties(cpp-netlib-http-v2-${test}
3132
PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
3233
add_test(cpp-netlib-http-v2-${test}

http/test/v2/client/units/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ foreach(test ${CPP-NETLIB_CLIENT_TESTS})
2929
${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES}
3030
${CMAKE_THREAD_LIBS_INIT}
3131
)
32+
target_include_directories(cpp-netlib-http-v2-${test} PUBLIC ${Boost_INCLUDE_DIRS})
3233
set_target_properties(cpp-netlib-http-v2-${test}
3334
PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
3435
add_test(cpp-netlib-http-v2-${test}

logging/test/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ if (CPP-NETLIB_BUILD_TESTS)
2828
add_executable(cpp-netlib-${test} ${test}.cpp)
2929
target_link_libraries(cpp-netlib-${test}
3030
${Boost_LIBRARIES} ${GTEST_BOTH_LIBRARIES} ${link_cppnetlib_lib})
31+
target_include_directories(cpp-netlib-${test} PUBLIC ${Boost_INCLUDE_DIRS})
3132
set_target_properties(cpp-netlib-${test}
3233
PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
3334
add_test(cpp-netlib-${test}

message/src/CMakeLists.txt

+3
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,20 @@ set(CPP-NETLIB_MESSAGE_SRCS
1111
message.cpp)
1212

1313
add_library(network-message ${CPP-NETLIB_MESSAGE_SRCS})
14+
target_include_directories(network-message PUBLIC ${Boost_INCLUDE_DIRS})
1415
target_link_libraries(network-message network-uri)
1516

1617
set(CPP-NETLIB_MESSAGE_DIRECTIVES_SRCS
1718
directives.cpp)
1819

1920
add_library(network-message-directives ${CPP-NETLIB_MESSAGE_DIRECTIVES_SRCS})
21+
target_include_directories(network-message-directives PUBLIC ${Boost_INCLUDE_DIRS})
2022

2123
set(CPP-NETLIB_MESSAGE_WRAPPERS_SRCS
2224
wrappers.cpp)
2325

2426
add_library(network-message-wrappers ${CPP-NETLIB_MESSAGE_WRAPPERS_SRCS})
27+
target_include_directories(network-message-wrappers PUBLIC ${Boost_INCLUDE_DIRS})
2528

2629
# prepend current directory to make paths absolute
2730
prependToElements( "${CMAKE_CURRENT_SOURCE_DIR}/"

0 commit comments

Comments
 (0)