Skip to content

Commit

Permalink
Conditionally link libdl to libpdalutil for dladdr.
Browse files Browse the repository at this point in the history
  • Loading branch information
abellgithub committed Oct 27, 2016
1 parent e595e72 commit 95407c1
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 20 deletions.
17 changes: 16 additions & 1 deletion cmake/macros.cmake
Expand Up @@ -53,7 +53,6 @@ endmacro(PDAL_ADD_INCLUDES)
###############################################################################
# Add a library target.
# _name The library name.
# _component The part of PDAL that this library belongs to.
# ARGN The source files for the library.
#
# The "generate_dimension_hpp" ensures that Dimension.hpp is built before
Expand All @@ -71,6 +70,22 @@ macro(PDAL_ADD_LIBRARY _name)
ARCHIVE DESTINATION ${PDAL_LIB_INSTALL_DIR})
endmacro(PDAL_ADD_LIBRARY)

###############################################################################
# Add a free library target (one that doesn't depend on PDAL).
# _name The library name.
# ARGN The source files for the library.
#
macro(PDAL_ADD_FREE_LIBRARY _name)
add_library(${_name} ${PDAL_LIB_TYPE} ${ARGN})
set_property(TARGET ${_name} PROPERTY FOLDER "Libraries")

install(TARGETS ${_name}
EXPORT PDALTargets
RUNTIME DESTINATION ${PDAL_BIN_INSTALL_DIR}
LIBRARY DESTINATION ${PDAL_LIB_INSTALL_DIR}
ARCHIVE DESTINATION ${PDAL_LIB_INSTALL_DIR})
endmacro(PDAL_ADD_FREE_LIBRARY)

###############################################################################
# Add an executable target.
# _name The executable name.
Expand Down
13 changes: 2 additions & 11 deletions dimbuilder/CMakeLists.txt
Expand Up @@ -15,22 +15,13 @@ include(${ROOT_DIR}/cmake/common.cmake NO_POLICY_SCOPE)

include_directories(${PDAL_JSONCPP_INCLUDE_DIR})


set (SOURCES
DimBuilder.cpp
${PDAL_JSONCPP_SRC}
${PDAL_UTIL_DIR}/Utils.cpp
)

set (HEADERS
DimBuilder.hpp
${PDAL_INCLUDE_DIR}/pdal/util/Utils.hpp
)

add_executable(dimbuilder ${SOURCES} ${HEADERS})
add_executable(dimbuilder ${SOURCES})
target_link_libraries(dimbuilder PRIVATE ${PDAL_UTIL_LIB_NAME})
if (PDAL_HAVE_JSONCPP)
target_link_libraries(dimbuilder ${PDAL_JSONCPP_LIB_NAME})
endif()
if (UNIX AND NOT APPLE)
target_link_libraries(dimbuilder PUBLIC dl)
endif()
4 changes: 0 additions & 4 deletions src/CMakeLists.txt
Expand Up @@ -207,10 +207,6 @@ if (WIN32)
target_link_libraries(${PDAL_BASE_LIB_NAME} PUBLIC ws2_32)
endif()

if (UNIX)
target_link_libraries(${PDAL_BASE_LIB_NAME} PUBLIC dl)
endif()

###############################################################################
# Targets installation

Expand Down
9 changes: 8 additions & 1 deletion src/util/CMakeLists.txt
Expand Up @@ -32,12 +32,19 @@ set(PDAL_UTIL_SOURCES
${PDAL_UTIL_CPP}
${PDAL_UTIL_HPP})

PDAL_ADD_LIBRARY(${PDAL_UTIL_LIB_NAME} SHARED ${PDAL_UTIL_SOURCES})
PDAL_ADD_FREE_LIBRARY(${PDAL_UTIL_LIB_NAME} SHARED ${PDAL_UTIL_SOURCES})
target_link_libraries(${PDAL_UTIL_LIB_NAME}
PRIVATE
${PDAL_BOOST_LIB_NAME}
)

if (UNIX AND NOT APPLE)
target_link_libraries(${PDAL_UTIL_LIB_NAME}
PRIVATE
dl
)
endif()

set_target_properties(${PDAL_UTIL_LIB_NAME} PROPERTIES
VERSION "${PDAL_BUILD_VERSION}"
SOVERSION "${PDAL_API_VERSION}"
Expand Down
2 changes: 1 addition & 1 deletion vendor/arbiter/CMakeLists.txt
Expand Up @@ -21,7 +21,7 @@ if(UNIX)
endif()


PDAL_ADD_LIBRARY(${PDAL_ARBITER_LIB_NAME} STATIC "${PDAL_ARBITER_SOURCES}")
PDAL_ADD_FREE_LIBRARY(${PDAL_ARBITER_LIB_NAME} STATIC "${PDAL_ARBITER_SOURCES}")
target_link_libraries(${PDAL_ARBITER_LIB_NAME} )

set_target_properties(${PDAL_ARBITER_LIB_NAME} PROPERTIES
Expand Down
2 changes: 1 addition & 1 deletion vendor/jsoncpp/dist/CMakeLists.txt
Expand Up @@ -10,7 +10,7 @@ file(GLOB PDAL_JSONCPP_SOURCES
"jsoncpp.cpp"
)

PDAL_ADD_LIBRARY(${PDAL_JSONCPP_LIB_NAME} STATIC "${PDAL_JSONCPP_SOURCES}")
PDAL_ADD_FREE_LIBRARY(${PDAL_JSONCPP_LIB_NAME} STATIC "${PDAL_JSONCPP_SOURCES}")

if (UNIX)
target_compile_options(${PDAL_JSONCPP_LIB_NAME} PRIVATE -fPIC)
Expand Down
2 changes: 1 addition & 1 deletion vendor/pdalboost/CMakeLists.txt
Expand Up @@ -25,7 +25,7 @@ endif()

add_definitions(-DBOOST_SYSTEM_NO_DEPRECATED)

PDAL_ADD_LIBRARY(${PDAL_BOOST_LIB_NAME} STATIC "${PDAL_BOOST_SOURCES}")
PDAL_ADD_FREE_LIBRARY(${PDAL_BOOST_LIB_NAME} STATIC "${PDAL_BOOST_SOURCES}")

set_target_properties(${PDAL_BOOST_LIB_NAME} PROPERTIES
VERSION "${PDAL_BUILD_VERSION}"
Expand Down

0 comments on commit 95407c1

Please sign in to comment.