Skip to content

Commit

Permalink
Add INCLUDES option to PDAL_ADD_TEST and PDAL_ADD_PLUGIN
Browse files Browse the repository at this point in the history
Close #1988
  • Loading branch information
abellgithub committed Jan 23, 2019
1 parent 0e48210 commit d49795e
Show file tree
Hide file tree
Showing 20 changed files with 359 additions and 281 deletions.
12 changes: 9 additions & 3 deletions cmake/macros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ endmacro(PDAL_ADD_EXECUTABLE)
# ARGN :
# FILES the source files for the plugin
# LINK_WITH link plugin with libraries
# INCLUDES header directories
#
# The "generate_dimension_hpp" ensures that Dimension.hpp is built before
# attempting to build anything else in the "library".
Expand All @@ -116,7 +117,7 @@ endmacro(PDAL_ADD_EXECUTABLE)
macro(PDAL_ADD_PLUGIN _name _type _shortname)
set(options)
set(oneValueArgs)
set(multiValueArgs FILES LINK_WITH)
set(multiValueArgs FILES LINK_WITH INCLUDES)
cmake_parse_arguments(PDAL_ADD_PLUGIN "${options}" "${oneValueArgs}"
"${multiValueArgs}" ${ARGN})
if(WIN32)
Expand All @@ -133,7 +134,9 @@ macro(PDAL_ADD_PLUGIN _name _type _shortname)
pdal_target_compile_settings(${${_name}})
target_include_directories(${${_name}} PRIVATE
${PROJECT_BINARY_DIR}/include
${PDAL_INCLUDE_DIR})
${PDAL_INCLUDE_DIR}
${PDAL_ADD_PLUGIN_INCLUDES}
)
target_link_libraries(${${_name}}
PRIVATE
${PDAL_BASE_LIB_NAME}
Expand Down Expand Up @@ -164,10 +167,12 @@ endmacro(PDAL_ADD_PLUGIN)
# ARGN :
# FILES the source files for the test
# LINK_WITH link test executable with libraries
# INCLUDES header file directories
#
macro(PDAL_ADD_TEST _name)
set(options)
set(oneValueArgs)
set(multiValueArgs FILES LINK_WITH)
set(multiValueArgs FILES LINK_WITH INCLUDES)
cmake_parse_arguments(PDAL_ADD_TEST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if (WIN32)
list(APPEND ${PDAL_ADD_TEST_FILES} ${PDAL_TARGET_OBJECTS})
Expand All @@ -179,6 +184,7 @@ macro(PDAL_ADD_TEST _name)
target_include_directories(${_name} PRIVATE
${ROOT_DIR}
${PDAL_INCLUDE_DIR}
${PDAL_ADD_TEST_INCLUDES}
${PROJECT_SOURCE_DIR}/test/unit
${PROJECT_BINARY_DIR}/test/unit
${PROJECT_BINARY_DIR}/include)
Expand Down
18 changes: 12 additions & 6 deletions plugins/cpd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,21 @@ set(files filters/CpdFilter.cpp)
set(include_dirs "${CMAKE_CURRENT_LIST_DIR}" "${PDAL_VENDOR_DIR}/eigen")

PDAL_ADD_PLUGIN(filter_libname filter cpd
FILES filters/CpdFilter.cpp
LINK_WITH Cpd::Library-C++
FILES
filters/CpdFilter.cpp
LINK_WITH
Cpd::Library-C++
INCLUDES
"${include_dirs}"
)
target_include_directories(${filter_libname} PRIVATE "${include_dirs}")

if(${WITH_TESTS})
PDAL_ADD_TEST(pdal_filters_cpd_test
FILES test/CpdFilterTest.cpp
LINK_WITH ${filter_libname}
FILES
test/CpdFilterTest.cpp
LINK_WITH
${filter_libname}
INCLUDES
"${include_dirs}"
)
target_include_directories(pdal_filters_cpd_test PRIVATE "${include_dirs}")
endif()
20 changes: 12 additions & 8 deletions plugins/fbx/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,21 @@ if (FBX_FOUND)
io/FbxWriter.cpp
LINK_WITH
${FBX_LIBRARY}
${CORE_FOUNDATION})
target_include_directories(${writer_libname} PRIVATE
${PDAL_IO_DIR}
${FBX_INCLUDE_DIR})
${CORE_FOUNDATION}
INCLUDES
${PDAL_IO_DIR}
${FBX_INCLUDE_DIR}
)

if (WITH_TESTS)
PDAL_ADD_TEST(fbxtest
FILES test/FbxWriterTest.cpp
LINK_WITH ${writer_libname})
target_include_directories(fbxtest PRIVATE
${PDAL_IO_DIR})
FILES
test/FbxWriterTest.cpp
LINK_WITH
${writer_libname}
INCLUDES
${PDAL_IO_DIR}
)
endif()
else()
message(STATUS "Building without FBX support")
Expand Down
19 changes: 9 additions & 10 deletions plugins/greyhound/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ PDAL_ADD_PLUGIN(reader_libname reader greyhound
LINK_WITH
${PDAL_JSONCPP_LIB_NAME}
${WINSOCK_LIBRARY}
INCLUDES
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR}
)

PDAL_ADD_PLUGIN(writer_libname writer greyhound
Expand All @@ -31,15 +34,11 @@ PDAL_ADD_PLUGIN(writer_libname writer greyhound
LINK_WITH
${PDAL_JSONCPP_LIB_NAME}
${WINSOCK_LIBRARY}
INCLUDES
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR}
)

target_include_directories(${reader_libname} PRIVATE
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR})

target_include_directories(${writer_libname} PRIVATE
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR})

if (WITH_TESTS)
PDAL_ADD_TEST(pdal_io_greyhound_reader_test
Expand All @@ -49,8 +48,8 @@ if (WITH_TESTS)
${reader_libname}
${writer_libname}
${PDAL_JSONCPP_LIB_NAME}
INCLUDES
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR}
)
target_include_directories(pdal_io_greyhound_reader_test PRIVATE
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR})
endif()
87 changes: 37 additions & 50 deletions plugins/i3s/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@

include(${PDAL_CMAKE_DIR}/zlib.cmake)

add_subdirectory(lepcc)

PDAL_ADD_PLUGIN(i3s_reader_libname reader i3s
Expand All @@ -10,6 +12,20 @@ PDAL_ADD_PLUGIN(i3s_reader_libname reader i3s
LINK_WITH
${PDAL_JSONCPP_LIB_NAME}
${WINSOCK_LIBRARY}
${GDAL_LIBRARY}
${ZLIB_LIBRARY}
lepcc
INCLUDES
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR}
${LEPCC_INCLUDE_DIR}
${PDAL_VENDOR_DIR}/eigen
${GDAL_INCLUDE_DIR}
)
target_compile_definitions(${i3s_reader_libname}
PRIVATE
ARBITER_ZLIB
ARBITER_DLL_IMPORT
)

PDAL_ADD_PLUGIN(slpk_reader_libname reader slpk
Expand All @@ -21,49 +37,22 @@ PDAL_ADD_PLUGIN(slpk_reader_libname reader slpk
LINK_WITH
${PDAL_JSONCPP_LIB_NAME}
${WINSOCK_LIBRARY}
)


target_link_libraries(${i3s_reader_libname} PRIVATE
${GDAL_LIBRARY}
${ZLIB_LIBRARY}
lepcc
)

target_link_libraries(${slpk_reader_libname} PRIVATE
${GDAL_LIBRARY}
${ZLIB_LIBRARY}
lepcc
)

include(${PDAL_CMAKE_DIR}/zlib.cmake)
target_compile_definitions(${i3s_reader_libname}
PRIVATE
ARBITER_ZLIB
ARBITER_DLL_IMPORT
${GDAL_LIBRARY}
${ZLIB_LIBRARY}
lepcc
INCLUDES
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR}
${LEPCC_INCLUDE_DIR}
${PDAL_VENDOR_DIR}/eigen
${GDAL_INCLUDE_DIR}
)
target_compile_definitions(${slpk_reader_libname}
PRIVATE
ARBITER_ZLIB
ARBITER_DLL_IMPORT
)

target_include_directories(${i3s_reader_libname} PRIVATE
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR}
${LEPCC_INCLUDE_DIR}
${PDAL_VENDOR_DIR}/eigen
${GDAL_INCLUDE_DIR}
)

target_include_directories(${slpk_reader_libname} PRIVATE
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR}
${LEPCC_INCLUDE_DIR}
${PDAL_VENDOR_DIR}/eigen
${GDAL_INCLUDE_DIR}
)

if (WITH_TESTS)
PDAL_ADD_TEST(pdal_io_slpk_reader_test
FILES
Expand All @@ -72,13 +61,12 @@ if (WITH_TESTS)
${slpk_reader_libname}
${PDAL_JSONCPP_LIB_NAME}
${GDAL_LIBRARY}
)
target_include_directories(pdal_io_slpk_reader_test PRIVATE
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR}
${LEPCC_INCLUDE_DIR}
${PDAL_VENDOR_DIR}/eigen
${GDAL_INCLUDE_DIR}
INCLUDES
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR}
${LEPCC_INCLUDE_DIR}
${PDAL_VENDOR_DIR}/eigen
${GDAL_INCLUDE_DIR}
)
target_compile_definitions(pdal_io_slpk_reader_test
PRIVATE
Expand All @@ -94,13 +82,12 @@ if (WITH_TESTS)
${i3s_reader_libname}
${PDAL_JSONCPP_LIB_NAME}
${GDAL_LIBRARY}
)
target_include_directories(pdal_io_i3s_reader_test PRIVATE
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR}
${LEPCC_INCLUDE_DIR}
${PDAL_VENDOR_DIR}/eigen
${GDAL_INCLUDE_DIR}
INCLUDES
${PDAL_JSONCPP_INCLUDE_DIR}
${PDAL_VENDOR_DIR}
${LEPCC_INCLUDE_DIR}
${PDAL_VENDOR_DIR}/eigen
${GDAL_INCLUDE_DIR}
)
target_compile_definitions(pdal_io_i3s_reader_test
PRIVATE
Expand Down
9 changes: 5 additions & 4 deletions plugins/icebridge/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ else()
FILES
io/IcebridgeReader.cpp
io/Hdf5Handler.cpp
LINK_WITH ${HDF5_LIBRARIES})
target_include_directories(${libname}
PRIVATE
LINK_WITH
${HDF5_LIBRARIES}
INCLUDES
${ROOT_DIR}
${LIBXML2_INCLUDE_DIR})
${LIBXML2_INCLUDE_DIR}
)

if (WITH_TESTS)
PDAL_ADD_TEST(icetest
Expand Down
46 changes: 25 additions & 21 deletions plugins/matlab/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,22 @@ PDAL_ADD_PLUGIN(libname_writer writer matlab
./filters/Script.cpp
io/MatlabWriter.cpp
LINK_WITH
${Matlab_MX_LIBRARY} ${Matlab_MAT_LIBRARY}
${Matlab_MX_LIBRARY}
${Matlab_MAT_LIBRARY}
INCLUDES
${Matlab_INCLUDE_DIR}
)
target_include_directories(${libname_writer} PRIVATE
${Matlab_INCLUDE_DIR})

PDAL_ADD_PLUGIN(libname_reader reader matlab
FILES
./filters/Script.cpp
io/MatlabReader.cpp
LINK_WITH
${Matlab_MX_LIBRARY} ${Matlab_MAT_LIBRARY}
${Matlab_MX_LIBRARY}
${Matlab_MAT_LIBRARY}
INCLUDES
${Matlab_INCLUDE_DIR}
)
target_include_directories(${libname_reader} PRIVATE
${Matlab_INCLUDE_DIR})


PDAL_ADD_PLUGIN(matlab_libname filter matlab
Expand All @@ -34,22 +36,24 @@ PDAL_ADD_PLUGIN(matlab_libname filter matlab
./filters/Script.cpp
./filters/MatlabFilter.cpp
LINK_WITH
${Matlab_ENG_LIBRARY} ${Matlab_MX_LIBRARY} ${Matlab_MAT_LIBRARY}
)
target_include_directories(${matlab_libname} PRIVATE
${Matlab_INCLUDE_DIR}
${PDAL_JSONCPP_INCLUDE_DIR} )
${Matlab_ENG_LIBRARY}
${Matlab_MX_LIBRARY}
${Matlab_MAT_LIBRARY}
INCLUDES
${Matlab_INCLUDE_DIR}
${PDAL_JSONCPP_INCLUDE_DIR}
)

if (WITH_TESTS)
PDAL_ADD_TEST(pdal_io_matlab_writer_test
FILES
test/MatlabWriterTest.cpp
LINK_WITH
${libname_writer}
INCLUDES
${PDAL_IO_DIR}
${Matlab_INCLUDE_DIR}
)
target_include_directories(pdal_io_matlab_writer_test PRIVATE
${PDAL_IO_DIR}
${Matlab_INCLUDE_DIR})
set_target_properties(pdal_io_matlab_writer_test
PROPERTIES
INSTALL_RPATH "${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES}:${MATLAB_LIB_DIR}"
Expand All @@ -62,10 +66,10 @@ if (WITH_TESTS)
test/MatlabReaderTest.cpp
LINK_WITH
${libname_reader}
INCLUDES
${PDAL_IO_DIR}
${Matlab_INCLUDE_DIR}
)
target_include_directories(pdal_io_matlab_reader_test PRIVATE
${PDAL_IO_DIR}
${Matlab_INCLUDE_DIR})
set_target_properties(pdal_io_matlab_reader_test
PROPERTIES
INSTALL_RPATH "${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES}:${MATLAB_LIB_DIR}"
Expand All @@ -81,16 +85,16 @@ if (WITH_TESTS)
${Matlab_ENG_LIBRARY}
${Matlab_MX_LIBRARY}
${Matlab_MAT_LIBRARY}
INCLUDES
${ROOT_DIR}
${Matlab_INCLUDE_DIR}
${PDAL_JSONCPP_INCLUDE_DIR}
)
set_target_properties(pdal_filters_matlab_test
PROPERTIES
INSTALL_RPATH "${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES}:${MATLAB_LIB_DIR}:${CMAKE_LIBRARY_OUTPUT_DIRECTORY}"
BUILD_WITH_INSTALL_RPATH true
)

target_include_directories(pdal_filters_matlab_test PRIVATE
${ROOT_DIR}
${Matlab_INCLUDE_DIR}
${PDAL_JSONCPP_INCLUDE_DIR} )
endif()

0 comments on commit d49795e

Please sign in to comment.