Skip to content

Commit 11cf2da

Browse files
authored
Merge pull request #444 from accelerated/cmake
Added header subdir install capability
2 parents 15ae249 + d6d552c commit 11cf2da

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ option(CASS_BUILD_TESTS "Build tests" OFF)
3333
option(CASS_BUILD_UNIT_TESTS "Build unit tests" OFF)
3434
option(CASS_DEBUG_CUSTOM_ALLOC "Debug custom allocator" OFF)
3535
option(CASS_INSTALL_HEADER "Install header file" ON)
36+
option(CASS_INSTALL_HEADER_IN_SUBDIR "Install header file under 'include/cassandra'" OFF)
3637
option(CASS_INSTALL_PKG_CONFIG "Install pkg-config file(s)" ON)
3738
option(CASS_MULTICORE_COMPILATION "Enable multicore compilation" ON)
3839
option(CASS_USE_BOOST_ATOMIC "Use Boost atomics library" OFF)

cmake/modules/CppDriver.cmake

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,22 +234,36 @@ macro(CassConfigureInstall var_prefix pkg_config_stem)
234234
# Create a binary directory executable and DLLs (windows only)
235235
set(INSTALL_DLL_EXE_DIR "bin")
236236

237+
# Determine the header install dir
238+
if (CASS_INSTALL_HEADER_IN_SUBDIR)
239+
if (CASS_INSTALL_HEADER_SUBDIR_NAME)
240+
# User-specified include sub-dir
241+
set(INSTALL_HEADER_DIR "include/${CASS_INSTALL_HEADER_SUBDIR_NAME}")
242+
else()
243+
# Default subdir location is 'include/cassandra'
244+
set(INSTALL_HEADER_DIR "include/${PROJECT_NAME_STRING}")
245+
endif()
246+
else()
247+
# Default header install location is 'include'
248+
set(INSTALL_HEADER_DIR "include")
249+
endif()
250+
237251
if(${var_prefix}_INSTALL_PKG_CONFIG)
238252
if(NOT WIN32)
239253
find_package(PkgConfig)
240254
if(PKG_CONFIG_FOUND)
241255
set(prefix ${CMAKE_INSTALL_PREFIX})
242256
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
243257
set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
244-
set(includedir ${CMAKE_INSTALL_PREFIX}/include)
258+
set(includedir ${CMAKE_INSTALL_PREFIX}/${INSTALL_HEADER_DIR})
245259
set(version ${PROJECT_VERSION_STRING})
246260
endif()
247261
endif()
248262
endif()
249263

250264
# Determine if the header should be installed
251265
if(${var_prefix}_INSTALL_HEADER)
252-
install(FILES ${${var_prefix}_API_HEADER_FILES} DESTINATION "include")
266+
install(FILES ${${var_prefix}_API_HEADER_FILES} DESTINATION ${INSTALL_HEADER_DIR})
253267
endif()
254268

255269
# Install the dynamic/shared library

0 commit comments

Comments
 (0)