Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita74a79b

Browse files
committed
Boost include directories are now tied to targets directly
Boost is required for cppnetlib & related projects. Thus, it shouldtransitively provided include directories to its own source as wellas the include directories to its dependencies (Boost in this case).That way if there are other CMake targets that depend on cppnetlibbut not Boost directly, it will still be able to compile cppnetlibheaders that include boost headers.The include directories are tied to respective targets via the newtarget_include_directories() CMake command. This requires a newerversion of CMake (v3.0 minimum).
1 parent769e5c6 commita74a79b

File tree

10 files changed

+19
-3
lines changed

10 files changed

+19
-3
lines changed

‎CMakeLists.txt‎

Lines changed: 3 additions & 3 deletions
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(VERSION2.8)
8+
cmake_minimum_required(VERSION3.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(cppnetlibPUBLIC${all_include_dirs}${Boost_INCLUDE_DIRS})
197197
endif()

‎concurrency/src/CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions
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-concurrencyPUBLIC${Boost_INCLUDE_DIRS})
1314
endif()
1415

1516
# prepend current directory to make paths absolute

‎concurrency/test/CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions
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_testPUBLIC${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‎

Lines changed: 1 addition & 0 deletions
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} PROPERTIESRUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/example)
3738
endforeach(example)

‎http/src/CMakeLists.txt‎

Lines changed: 5 additions & 0 deletions
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-messagePUBLIC${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-wrappersPUBLIC${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-constantsPUBLIC${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-serverPUBLIC${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-clientPUBLIC${Boost_INCLUDE_DIRS})
6772
if (OPENSSL_FOUND)
6873
target_link_libraries(network-http-v2-client${OPENSSL_LIBRARIES})
6974
endif()

‎http/test/CMakeLists.txt‎

Lines changed: 2 additions & 0 deletions
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
PROPERTIESRUNTIME_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‎

Lines changed: 1 addition & 0 deletions
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
PROPERTIESRUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
3233
add_test(cpp-netlib-http-v2-${test}

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

Lines changed: 1 addition & 0 deletions
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
PROPERTIESRUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
3435
add_test(cpp-netlib-http-v2-${test}

‎logging/test/CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions
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
PROPERTIESRUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/tests)
3334
add_test(cpp-netlib-${test}

‎message/src/CMakeLists.txt‎

Lines changed: 3 additions & 0 deletions
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-messagePUBLIC${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-directivesPUBLIC${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-wrappersPUBLIC${Boost_INCLUDE_DIRS})
2528

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

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp