Skip to content

Commit 21189ca

Browse files
committed
hunterized
1 parent 56203f1 commit 21189ca

29 files changed

+596
-176
lines changed

.gitignore

+5-10
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
bin/
2-
build/
3-
blocks/
4-
bii/build
5-
bii/cmake
6-
bii/deps
7-
bii/lib
8-
bii/.hive.db
9-
build.log
1+
*.dat
102
.idea/
11-
cmake-build-debug/
3+
*.swp
4+
.DS_Store
5+
*build*/
6+
*install*/

CMake/curlcppConfig.cmake.in

-5
This file was deleted.

CMakeLists.txt

100644100755
+77-27
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,86 @@
1-
IF(BIICODE)
2-
INCLUDE(biicode/cmake/tools)
1+
cmake_minimum_required(VERSION 3.3)
32

4-
ACTIVATE_CPP11()
5-
ADD_BIICODE_TARGETS()
6-
ELSE()
7-
cmake_minimum_required(VERSION 2.8)
8-
#if using an older VERSION of curl ocsp stapling can be disabled
9-
set(CURL_MIN_VERSION "7.28.0")
10-
# Setting up project
11-
project(CURLCPP)
3+
include("cmake/HunterGate.cmake")
4+
HunterGate(
5+
URL "https://github.com/ruslo/hunter/archive/v0.19.51.tar.gz"
6+
SHA1 "d238dc1dd4db83e45a592f96fdb95d17c688600a"
7+
)
128

9+
set(CURLCPP_VERSION_MAJOR 1)
10+
set(CURLCPP_VERSION_MINOR 0)
11+
set(CURLCPP_VERSION_PATCH 0)
12+
set(CURLCPP_VERSION ${CURLCPP_VERSION_MAJOR}.${CURLCPP_VERSION_MINOR}.${CURLCPP_VERSION_PATCH})
1313

14-
# Add MacPorts
15-
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
16-
set(CMAKE_PREFIX_PATH /opt/local ${CMAKE_PREFIX_PATH})
17-
endif()
14+
project(CURLCPP VERSION ${CURLCPP_VERSION})
1815

19-
# Checking for dependencies
20-
find_package(CURL ${CURL_MIN_VERSION} REQUIRED)
16+
set(CMAKE_CXX_STANDARD 11)
17+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
18+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
2119

22-
# Set up include pathes
23-
include_directories(${CURL_INCLUDE_DIRS}
24-
${CURLCPP_SOURCE_DIR}/include)
20+
option(BUILD_TESTS "Build tests" OFF)
2521

26-
file(GLOB HEADER_LIST "${CMAKE_SOURCE_DIR}/include/*.h")
27-
install (FILES ${HEADER_LIST} DESTINATION include)
22+
hunter_add_package(CURL)
23+
find_package(CURL CONFIG REQUIRED)
2824

29-
# Set up source directories
30-
add_subdirectory(src)
25+
file(GLOB ${PROJECT_NAME}_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/sources/*.cpp")
26+
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/)
3127

32-
set(CURLCPP_LIB_LOCATION "$<TARGET_FILE:${curlcpp}>")
28+
add_library(libcurlcpp ${${PROJECT_NAME}_SOURCES})
29+
set_target_properties(libcurlcpp PROPERTIES PREFIX "")
30+
set_target_properties(libcurlcpp PROPERTIES IMPORT_PREFIX "")
3331

34-
configure_file(CMake/curlcppConfig.cmake.in
35-
${CURLCPP_BINARY_DIR}/curlcppConfig.cmake @ONLY)
36-
ENDIF()
32+
target_link_libraries(libcurlcpp CURL::libcurl)
33+
34+
target_include_directories(libcurlcpp PUBLIC
35+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
36+
$<INSTALL_INTERFACE:include>
37+
)
38+
# Install
39+
40+
set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
41+
42+
set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}")
43+
set(INCLUDE_INSTALL_DIR "include")
44+
45+
set(VERSION_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake")
46+
set(PROJECT_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}Config.cmake")
47+
set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
48+
set(NAMESPACE "${PROJECT_NAME}::")
49+
50+
include(CMakePackageConfigHelpers)
51+
write_basic_package_version_file(
52+
"${VERSION_CONFIG}" COMPATIBILITY SameMajorVersion
53+
)
54+
55+
configure_package_config_file(
56+
"${PROJECT_SOURCE_DIR}/cmake/Config.cmake.in"
57+
"${PROJECT_CONFIG}"
58+
INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}"
59+
)
60+
61+
install(TARGETS libcurlcpp
62+
EXPORT "${TARGETS_EXPORT_NAME}"
63+
RUNTIME DESTINATION bin
64+
ARCHIVE DESTINATION lib
65+
LIBRARY DESTINATION lib
66+
)
67+
68+
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include)
69+
70+
install(
71+
FILES "${PROJECT_CONFIG}" "${VERSION_CONFIG}"
72+
DESTINATION "${CONFIG_INSTALL_DIR}"
73+
)
74+
75+
install(EXPORT "${TARGETS_EXPORT_NAME}"
76+
NAMESPACE "${NAMESPACE}"
77+
DESTINATION "${CONFIG_INSTALL_DIR}"
78+
)
79+
80+
if(BUILD_TESTS)
81+
enable_testing()
82+
file(GLOB ${PROJECT_NAME}_TEST_SOURCES tests/*.cpp)
83+
add_executable(check ${${PROJECT_NAME}_TEST_SOURCES})
84+
target_link_libraries(check libcurlcpp)
85+
add_test(NAME check COMMAND check)
86+
endif()

bii/layout.bii

-12
This file was deleted.

bii/policies.bii

-49
This file was deleted.

bii/settings.bii

-2
This file was deleted.

biicode.conf

-44
This file was deleted.

cmake/Config.cmake.in

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
@PACKAGE_INIT@
2+
3+
find_package(CURL CONFIG REQUIRED)
4+
5+
include("${CMAKE_CURRENT_LIST_DIR}/@[email protected]")
6+
check_required_components("@PROJECT_NAME@")

0 commit comments

Comments
 (0)