Skip to content
Snippets Groups Projects
Commit 2c614d36 authored by Nicolas Pope's avatar Nicolas Pope
Browse files

Rework cmake install process

parent 83099df2
No related branches found
No related tags found
No related merge requests found
Pipeline #33982 failed
...@@ -19,9 +19,9 @@ endif() ...@@ -19,9 +19,9 @@ endif()
target_link_libraries(ftl-dev ftlcommon ftlcodecs ftlrgbd ftlstreams Threads::Threads ${OpenCV_LIBS} ftlnet) target_link_libraries(ftl-dev ftlcommon ftlcodecs ftlrgbd ftlstreams Threads::Threads ${OpenCV_LIBS} ftlnet)
install(TARGETS ftl-dev #install(TARGETS ftl-dev
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) # PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
add_subdirectory(examples/image_write) add_subdirectory(examples/image_write)
add_subdirectory(examples/video_write) add_subdirectory(examples/video_write)
...@@ -37,15 +37,24 @@ target_link_libraries(voltu ftlcommon ftldata ftlctrl ftlrgbd ftlstreams ftlrend ...@@ -37,15 +37,24 @@ target_link_libraries(voltu ftlcommon ftldata ftlctrl ftlrgbd ftlstreams ftlrend
set(SDK_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/sdk") set(SDK_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/sdk")
if (WIN32)
install(TARGETS voltu RUNTIME COMPONENT runtime)
else()
install(TARGETS voltu LIBRARY COMPONENT runtime)
endif()
set(voltu_sdk_DESTDIR ${CMAKE_CURRENT_BINARY_DIR}/lib/voltu_sdk_install)
ExternalProject_Add( ExternalProject_Add(
voltu_sdk voltu_sdk
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/public" SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/public"
BINARY_DIR ${SDK_BINARY_DIR} BINARY_DIR ${SDK_BINARY_DIR}
INSTALL_COMMAND ""
BUILD_ALWAYS true BUILD_ALWAYS true
CMAKE_ARGS -DOpenCV_DIR=${OpenCV_DIR} -DWITH_PYTHON=True CMAKE_ARGS -DOpenCV_DIR=${OpenCV_DIR} -DWITH_PYTHON=True -DCMAKE_INSTALL_PREFIX=${voltu_sdk_DESTDIR}
) )
install(DIRECTORY ${voltu_sdk_DESTDIR}/ DESTINATION ${CMAKE_INSTALL_PREFIX})
if (BUILD_TESTS) if (BUILD_TESTS)
add_subdirectory(tests) add_subdirectory(tests)
endif() endif()
...@@ -52,6 +52,9 @@ target_include_directories(voltu_sdk ...@@ -52,6 +52,9 @@ target_include_directories(voltu_sdk
PUBLIC include) PUBLIC include)
target_link_libraries(voltu_sdk ${OS_LIBS} Threads::Threads ${OPTIONAL_DEPENDENCIES} Eigen3::Eigen) target_link_libraries(voltu_sdk ${OS_LIBS} Threads::Threads ${OPTIONAL_DEPENDENCIES} Eigen3::Eigen)
install(TARGETS voltu_sdk ARCHIVE)
install(DIRECTORY include/voltu DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
add_executable(voltu_basic_test add_executable(voltu_basic_test
samples/basic_test/main.cpp samples/basic_test/main.cpp
) )
......
...@@ -65,9 +65,9 @@ add_definitions(${NANOGUI_EXTRA_DEFS}) ...@@ -65,9 +65,9 @@ add_definitions(${NANOGUI_EXTRA_DEFS})
# On top of adding the path to nanogui/include, you may need extras # On top of adding the path to nanogui/include, you may need extras
include_directories(${NANOGUI_EXTRA_INCS}) include_directories(${NANOGUI_EXTRA_INCS})
add_executable(ftl-gui2 ${GUI2SRC}) add_executable(voltu-ui ${GUI2SRC})
target_include_directories(ftl-gui2 PUBLIC target_include_directories(voltu-ui PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/ext/nanogui/include> $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/ext/nanogui/include>
$<INSTALL_INTERFACE:include> $<INSTALL_INTERFACE:include>
...@@ -78,6 +78,8 @@ target_include_directories(ftl-gui2 PUBLIC ...@@ -78,6 +78,8 @@ target_include_directories(ftl-gui2 PUBLIC
#endif() #endif()
#target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include) #target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include)
target_link_libraries(ftl-gui2 ftlcommon ftldata ftlctrl ftlrgbd ftlstreams ftlrender ftldisparity Threads::Threads ${OpenCV_LIBS} openvr ftlnet nanogui ${NANOGUI_EXTRA_LIBS} ceres nvidia-ml) target_link_libraries(voltu-ui ftlcommon ftldata ftlctrl ftlrgbd ftlstreams ftlrender ftldisparity Threads::Threads ${OpenCV_LIBS} openvr ftlnet nanogui ${NANOGUI_EXTRA_LIBS} ceres nvidia-ml)
target_precompile_headers(ftl-gui2 REUSE_FROM ftldata) target_precompile_headers(voltu-ui REUSE_FROM ftldata)
install(TARGETS voltu-ui RUNTIME COMPONENT gui)
...@@ -6,7 +6,7 @@ set(REPSRC ...@@ -6,7 +6,7 @@ set(REPSRC
src/main.cpp src/main.cpp
) )
add_executable(ftl-reconstruct2 ${REPSRC}) add_executable(voltu-fusion ${REPSRC})
#target_include_directories(ftl-reconstruct PUBLIC #target_include_directories(ftl-reconstruct PUBLIC
# $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> # $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
...@@ -14,8 +14,10 @@ add_executable(ftl-reconstruct2 ${REPSRC}) ...@@ -14,8 +14,10 @@ add_executable(ftl-reconstruct2 ${REPSRC})
# PRIVATE src) # PRIVATE src)
if (CUDA_FOUND) if (CUDA_FOUND)
set_property(TARGET ftl-reconstruct2 PROPERTY CUDA_SEPARABLE_COMPILATION ON) set_property(TARGET voltu-fusion PROPERTY CUDA_SEPARABLE_COMPILATION ON)
endif() endif()
#target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include) #target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include)
target_link_libraries(ftl-reconstruct2 ftlcommon ftlrgbd Threads::Threads ${OpenCV_LIBS} ftlctrl ftlnet ftlrender ftloperators ftlstreams ftlaudio) target_link_libraries(voltu-fusion ftlcommon ftlrgbd Threads::Threads ${OpenCV_LIBS} ftlctrl ftlnet ftlrender ftloperators ftlstreams ftlaudio)
install(TARGETS voltu-fusion RUNTIME COMPONENT reconstruct)
...@@ -9,19 +9,19 @@ set(CVNODESRC ...@@ -9,19 +9,19 @@ set(CVNODESRC
#src/middlebury.cpp #src/middlebury.cpp
) )
add_executable(ftl-vision ${CVNODESRC}) add_executable(voltu-vision ${CVNODESRC})
install(TARGETS ftl-vision DESTINATION bin COMPONENT vision) install(TARGETS voltu-vision RUNTIME COMPONENT vision)
target_include_directories(ftl-vision PUBLIC target_include_directories(voltu-vision PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include> $<INSTALL_INTERFACE:include>
PRIVATE src) PRIVATE src)
if (CUDA_FOUND) if (CUDA_FOUND)
set_property(TARGET ftl-vision PROPERTY CUDA_SEPARABLE_COMPILATION OFF) set_property(TARGET voltu-vision PROPERTY CUDA_SEPARABLE_COMPILATION OFF)
endif() endif()
#target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include) #target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include)
target_link_libraries(ftl-vision ftlrgbd ftlcommon ftlstreams ftlctrl ${OpenCV_LIBS} ${CUDA_LIBRARIES} ftlnet ftlaudio) target_link_libraries(voltu-vision ftlrgbd ftlcommon ftlstreams ftlctrl ${OpenCV_LIBS} ${CUDA_LIBRARIES} ftlnet ftlaudio)
target_precompile_headers(ftl-vision REUSE_FROM ftldata) target_precompile_headers(voltu-vision REUSE_FROM ftldata)
...@@ -8,10 +8,10 @@ target_include_directories(ftlctrl PUBLIC ...@@ -8,10 +8,10 @@ target_include_directories(ftlctrl PUBLIC
PRIVATE src) PRIVATE src)
target_link_libraries(ftlctrl ftlcommon ftlnet Eigen3::Eigen) target_link_libraries(ftlctrl ftlcommon ftlnet Eigen3::Eigen)
install(TARGETS ftlctrl EXPORT ftlctrl-config #install(TARGETS ftlctrl EXPORT ftlctrl-config
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) # RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) #install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT development)
#ADD_SUBDIRECTORY(test) #ADD_SUBDIRECTORY(test)
...@@ -20,11 +20,11 @@ target_link_libraries(ftlnet ftlctrl ftlcommon Threads::Threads glog::glog ${UUI ...@@ -20,11 +20,11 @@ target_link_libraries(ftlnet ftlctrl ftlcommon Threads::Threads glog::glog ${UUI
target_precompile_headers(ftlnet REUSE_FROM ftlcommon) target_precompile_headers(ftlnet REUSE_FROM ftlcommon)
install(TARGETS ftlnet EXPORT ftlnet-config #install(TARGETS ftlnet EXPORT ftlnet-config
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) # RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) #install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT development)
if (BUILD_TESTS) if (BUILD_TESTS)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment