Skip to content

Instantly share code, notes, and snippets.

@matlabbe
Last active March 20, 2019 16:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matlabbe/383be55b5cb682fea217d45ef9a37ef8 to your computer and use it in GitHub Desktop.
Save matlabbe/383be55b5cb682fea217d45ef9a37ef8 to your computer and use it in GitHub Desktop.
OKVIS with -march=native disabled and use shared libraries
diff --git a/.gitignore b/.gitignore
index 7ee7366..f764f90 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,3 +29,5 @@
# Docu
documentation/html/
+
+build
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8c7415a..7e1974a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,6 +8,8 @@ set(OKVIS_PATCH_VERSION 3)
set(OKVIS_VERSION
${OKVIS_MAJOR_VERSION}.${OKVIS_MINOR_VERSION}.${OKVIS_PATCH_VERSION})
+OPTION( BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON )
+
# options for build configuration
option (USE_SYSTEM_BRISK
"Use brisk via find_package rather than downloading it as part of okvis" OFF)
@@ -60,7 +62,7 @@ if(APPLE)
# possible on OSX just yet.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -std=c++11 -fPIC")
else()
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -Wall -std=c++11 -fPIC")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 -fPIC")
endif()
if(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "arm*")
@@ -113,22 +115,25 @@ else()
ExternalProject_Add(brisk_external
URL "https://www.doc.ic.ac.uk/~sleutene/software/brisk-2.0.3.zip"
INSTALL_DIR ${CMAKE_BINARY_DIR}
+ PATCH_COMMAND # forcing static libs
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/cmake/brisk/CMakeLists.txt ${CMAKE_CURRENT_BINARY_DIR}/brisk/src/brisk_external/CMakeLists.txt
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/cmake/brisk/agast/CMakeLists.txt ${CMAKE_CURRENT_BINARY_DIR}/brisk/src/brisk_external/agast/CMakeLists.txt
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/brisk
BUILD_IN_SOURCE 0
BUILD_COMMAND make -j${N_CORES}
INSTALL_COMMAND make install
)
- add_library(brisk STATIC IMPORTED)
- add_library(agast STATIC IMPORTED)
+ add_library(brisk SHARED IMPORTED)
+ add_library(agast SHARED IMPORTED)
set(BRISK_LIBRARIES brisk agast)
- set_target_properties(brisk PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/libbrisk.a)
- set_target_properties(agast PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/libagast.a)
+ set_target_properties(brisk PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/libbrisk.so)
+ set_target_properties(agast PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/libagast.so)
add_dependencies(brisk brisk_external)
add_dependencies(agast brisk_external)
# install it once built
- install(FILES ${CMAKE_BINARY_DIR}/lib/libbrisk.a ${CMAKE_BINARY_DIR}/lib/libagast.a
+ install(FILES ${CMAKE_BINARY_DIR}/lib/libbrisk.so ${CMAKE_BINARY_DIR}/lib/libagast.so
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
install(DIRECTORY ${CMAKE_BINARY_DIR}/include/brisk/
DESTINATION ${CMAKE_INSTALL_PREFIX}/include/brisk/)
@@ -155,6 +160,7 @@ else()
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DBUILD_SHARED_LIBS:BOOL=ON
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-DBUILD_EXAMPLES:BOOL=OFF
-DBUILD_TESTING:BOOL=OFF
@@ -181,10 +187,10 @@ else()
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
set_property(TARGET ceres PROPERTY IMPORTED_LOCATION
- ${CMAKE_BINARY_DIR}/${CERES_LIB_PREFIX}/libceres-debug.a )
+ ${CMAKE_BINARY_DIR}/${CERES_LIB_PREFIX}/libceres-debug.so )
else ()
set_property(TARGET ceres PROPERTY IMPORTED_LOCATION
- ${CMAKE_BINARY_DIR}/${CERES_LIB_PREFIX}/libceres.a )
+ ${CMAKE_BINARY_DIR}/${CERES_LIB_PREFIX}/libceres.so )
endif ()
find_package(OpenMP QUIET)
@@ -199,7 +205,11 @@ else()
add_dependencies(${CERES_LIBRARIES} ceres_external)
# install it once built
- install(FILES ${CMAKE_BINARY_DIR}/${CERES_LIB_PREFIX}/libceres.a
+ install(FILES ${CMAKE_BINARY_DIR}/${CERES_LIB_PREFIX}/libceres.so
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+ install(FILES ${CMAKE_BINARY_DIR}/${CERES_LIB_PREFIX}/libceres.so.1
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+ install(FILES ${CMAKE_BINARY_DIR}/${CERES_LIB_PREFIX}/libceres.so.${CERES_VERSION}
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
install(DIRECTORY ${CMAKE_BINARY_DIR}/include/ceres/
DESTINATION ${CMAKE_INSTALL_PREFIX}/include/ceres/)
@@ -230,13 +240,13 @@ ExternalProject_Add(opengv_external
BUILD_COMMAND make -j${N_CORES}
INSTALL_COMMAND make install
)
-add_library(opengv STATIC IMPORTED)
+add_library(opengv SHARED IMPORTED)
set(OpenGV_LIBRARIES opengv)
-set_target_properties(opengv PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/libopengv.a)
+set_target_properties(opengv PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/libopengv.so)
add_dependencies(${OpenGV_LIBRARIES} opengv_external)
# install it once built
-install(FILES ${CMAKE_BINARY_DIR}/lib/libopengv.a
+install(FILES ${CMAKE_BINARY_DIR}/lib/libopengv.so
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
install(DIRECTORY ${CMAKE_BINARY_DIR}/include/opengv/
DESTINATION ${CMAKE_INSTALL_PREFIX}/include/opengv/)
@@ -315,6 +325,7 @@ add_dependencies(okvis_multisensor_processing okvis_util)
# also build the apps
if(BUILD_APPS)
FIND_PACKAGE(Boost COMPONENTS filesystem system REQUIRED)
+FIND_PACKAGE(OpenCV COMPONENTS REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(okvis_app_synchronous okvis_apps/src/okvis_app_synchronous.cpp)
target_link_libraries(okvis_app_synchronous
@@ -330,6 +341,10 @@ if(BUILD_APPS)
okvis_multisensor_processing
pthread
${Boost_LIBRARIES}
+${CERES_LIBRARIES}
+${OpenGV_LIBRARIES}
+${OpenCV_LIBRARIES}
+
)
if(${VISENSORDRIVER_FOUND})
target_link_libraries(okvis_app_synchronous ${VISensorDriver_LIBRARY})
diff --git a/cmake/brisk/CMakeLists.txt b/cmake/brisk/CMakeLists.txt
new file mode 100755
index 0000000..4349a4f
--- /dev/null
+++ b/cmake/brisk/CMakeLists.txt
@@ -0,0 +1,161 @@
+cmake_minimum_required(VERSION 2.8.11)
+include(CheckIncludeFiles)
+
+project(brisk)
+# The version number.
+set(BRISK_MAJOR_VERSION 2)
+set(BRISK_MINOR_VERSION 0)
+set(BRISK_PATCH_VERSION 2)
+set(BRISK_VERSION
+ ${BRISK_MAJOR_VERSION}.${BRISK_MINOR_VERSION}.${BRISK_PATCH_VERSION})
+
+# Offer the user the choice of overriding the installation directories
+set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries")
+set(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables")
+set(INSTALL_INCLUDE_DIR include CACHE PATH
+ "Installation directory for header files")
+if(WIN32 AND NOT CYGWIN)
+ set(DEF_INSTALL_CMAKE_DIR CMake)
+else()
+ set(DEF_INSTALL_CMAKE_DIR lib/CMake/brisk)
+endif()
+set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH
+ "Installation directory for CMake files")
+
+# Make relative paths absolute (needed later on)
+foreach(p LIB BIN INCLUDE CMAKE)
+ set(var INSTALL_${p}_DIR)
+ if(NOT IS_ABSOLUTE "${${var}}")
+ set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
+ endif()
+endforeach()
+
+# make sure we use Release and warn otherwise
+if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
+ message(STATUS "Setting build type to 'Release' as none was specified.")
+ set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
+ # Set the possible values of build type for cmake-gui
+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
+ "MinSizeRel" "RelWithDebInfo")
+endif()
+if (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Release")
+ message(WARNING "CMAKE_BUILD_TYPE not set to 'Release'. Performance may be terrible.")
+else()
+ message(STATUS "Building with build type '${CMAKE_BUILD_TYPE}'")
+endif()
+
+# require OpenCV
+find_package( OpenCV REQUIRED )
+include_directories(BEFORE ${OpenCV_INCLUDE_DIRS})
+
+if(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "arm*")
+ message(STATUS "ARM processor detected, will attempt to use NEON.")
+ add_definitions(-mfpu=neon -DHAVE_OPENCV -Wall -pedantic -std=c++0x -fPIC)
+else()
+ message(STATUS "Assuming SSE instructions available.")
+ add_definitions(-mssse3 -DHAVE_OPENCV -Wall -pedantic -std=c++0x -fPIC)
+endif()
+
+# set up the output tree
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+
+# check include file safely
+get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
+foreach(dir ${dirs})
+ if(EXISTS "${dir}/opencv2/nonfree/nonfree.hpp")
+ set(HAVE_OPENCV_NONFREE_H TRUE)
+ #message(STATUS "Found ${dir}/opencv2/nonfree/nonfree.hpp, setting HAVE_OPENCV_NONFREE_H=TRUE")
+ endif()
+endforeach()
+if(${OpenCV_VERSION_MAJOR} STREQUAL 3)
+ message(WARNING "Nonfree module disabled, demo application with limited functionality")
+endif()
+
+if(NOT APPLE)
+ # The clang compiler (on osx) is somehow much more strict
+ # than the compilers on ubuntu and so this does not seem
+ # possible on OSX just yet.
+ add_definitions( -Werror )
+endif()
+
+# the absolute path to the demo images
+set(BRISK_IMAGE_PATH \"${PROJECT_SOURCE_DIR}/images\")
+add_definitions(-DBRISK_IMAGE_PATH=${BRISK_IMAGE_PATH})
+
+# build agast
+include_directories(agast/include)
+include_directories(include)
+add_subdirectory(agast)
+
+# build brisk
+add_library(${PROJECT_NAME} SHARED
+ src/brisk-descriptor-extractor.cc
+ src/brisk-feature-detector.cc
+ src/brisk-layer.cc
+ src/brisk-scale-space.cc
+ src/brute-force-matcher.cc
+ src/harris-feature-detector.cc
+ src/harris-score-calculator.cc
+ src/harris-score-calculator-float.cc
+ src/harris-scores.cc
+ src/image-down-sampling.cc
+ src/pattern-provider.cc
+ src/vectorized-filters.cc)
+
+# and link it
+target_link_libraries(${PROJECT_NAME} PUBLIC ${OpenCV_LIBS} agast)
+
+if(HAVE_OPENCV_NONFREE_H)
+ # build the nonfree demo version
+ add_executable(demo src/demo.cc)
+ target_link_libraries(demo ${PROJECT_NAME})
+else()
+ # build the free demo version
+ add_executable(demo src/demo-free.cc)
+ target_link_libraries(demo ${PROJECT_NAME})
+endif()
+
+# installation if required
+install(TARGETS ${PROJECT_NAME} EXPORT briskTargets ARCHIVE DESTINATION ${INSTALL_LIB_DIR} LIBRARY DESTINATION ${INSTALL_LIB_DIR})
+install(TARGETS demo EXPORT briskTargets DESTINATION ${INSTALL_BIN_DIR})
+install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.h")
+
+# installation is invoked in the individual modules...
+export (TARGETS
+ brisk
+ agast
+ demo
+ FILE "${PROJECT_BINARY_DIR}/briskTargets.cmake")
+export ( PACKAGE brisk )
+
+# Create the briskConfig.cmake and briskConfigVersion files
+file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}"
+ "${INSTALL_INCLUDE_DIR}")
+# ... for the build tree
+set(CONF_INCLUDE_DIRS
+ "${PROJECT_SOURCE_DIR}/include"
+ "${PROJECT_SOURCE_DIR}/agast/include"
+ "${PROJECT_BINARY_DIR}"
+)
+configure_file(cmake/briskConfig.cmake.in
+ "${PROJECT_BINARY_DIR}/briskConfig.cmake" @ONLY)
+# ... for the install tree
+set(CONF_INCLUDE_DIRS "\${BRISK_CMAKE_DIR}/${REL_INCLUDE_DIR}")
+configure_file(cmake/briskConfig.cmake.in
+ "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/briskConfig.cmake" @ONLY)
+# ... for both
+configure_file(cmake/briskConfigVersion.cmake.in
+ "${PROJECT_BINARY_DIR}/briskConfigVersion.cmake" @ONLY)
+
+# Install the briskConfig.cmake and briskConfigVersion.cmake
+install(FILES
+ "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/briskConfig.cmake"
+ "${PROJECT_BINARY_DIR}/briskConfigVersion.cmake"
+ DESTINATION "${INSTALL_CMAKE_DIR}")
+
+# Install the export set for use with the install-tree
+install(EXPORT briskTargets DESTINATION
+ "${INSTALL_CMAKE_DIR}")
+
diff --git a/cmake/brisk/agast/CMakeLists.txt b/cmake/brisk/agast/CMakeLists.txt
new file mode 100755
index 0000000..3df111d
--- /dev/null
+++ b/cmake/brisk/agast/CMakeLists.txt
@@ -0,0 +1,37 @@
+cmake_minimum_required(VERSION 2.8.11)
+
+project(agast)
+
+if(NOT DEFINED CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE Release)
+endif()
+
+# require OpenCV
+find_package( OpenCV REQUIRED )
+include_directories(${OpenCV_INCLUDE_DIRS})
+
+if(APPLE)
+ add_definitions(-Wall -pedantic -DHAVE_OPENCV -DAGAST_GLOG -std=c++11)
+else()
+ add_definitions(-Wall -Werror -pedantic -DHAVE_OPENCV -DAGAST_GLOG -std=c++0x)
+endif()
+
+# build the agast library
+add_library(${PROJECT_NAME} SHARED
+ src/agast5-8.cc
+ src/agast5-8-nms.cc
+ src/agast7-12d.cc
+ src/agast7-12d-nms.cc
+ src/agast7-12s.cc
+ src/agast7-12s-nms.cc
+ src/ast-detector.cc
+ src/non-maximum-suppression.cc
+ src/oast9-16.cc
+ src/oast9-16-nms.cc)
+
+# and link it
+target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
+
+# installation if required
+install(TARGETS ${PROJECT_NAME} EXPORT briskTargets ARCHIVE DESTINATION ${INSTALL_LIB_DIR} LIBRARY DESTINATION ${INSTALL_LIB_DIR})
+install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.h")
diff --git a/cmake/opengv/CMakeLists.txt b/cmake/opengv/CMakeLists.txt
index 907aa31..70db13c 100644
--- a/cmake/opengv/CMakeLists.txt
+++ b/cmake/opengv/CMakeLists.txt
@@ -42,7 +42,7 @@ set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
-add_definitions (-Wall -march=native -O3) #TODO use correct c++11 def once everybody has moved to gcc 4.7 # for now I even removed std=gnu++0x
+add_definitions (-Wall -O3) #TODO use correct c++11 def once everybody has moved to gcc 4.7 # for now I even removed std=gnu++0x
# get eigen (and boost under windows)
IF(WIN32)
@@ -184,9 +184,9 @@ IF(WIN32)
test/time_measurement.hpp )
endif()
ELSE()
- add_library( opengv STATIC ${OPENGV_SOURCE_FILES} ${OPENGV_HEADER_FILES} )
+ add_library( opengv SHARED ${OPENGV_SOURCE_FILES} ${OPENGV_HEADER_FILES} )
if(DEFINED BUILD_TESTS)
- add_library( random_generators STATIC
+ add_library( random_generators SHARED
test/random_generators.cpp
test/random_generators.hpp
test/experiment_helpers.cpp
@@ -252,6 +252,7 @@ endif()
install(TARGETS opengv
EXPORT opengvTargets
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
)
install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.hpp")
diff --git a/okvis_ceres/CMakeLists.txt b/okvis_ceres/CMakeLists.txt
index 5519c95..d4e9547 100644
--- a/okvis_ceres/CMakeLists.txt
+++ b/okvis_ceres/CMakeLists.txt
@@ -38,7 +38,7 @@ target_link_libraries(${PROJECT_NAME}
# installation if required
install(TARGETS ${PROJECT_NAME}
EXPORT okvisTargets
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
)
install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.hpp")
diff --git a/okvis_common/CMakeLists.txt b/okvis_common/CMakeLists.txt
index a02de0a..97d063b 100644
--- a/okvis_common/CMakeLists.txt
+++ b/okvis_common/CMakeLists.txt
@@ -12,7 +12,7 @@ find_package( Eigen REQUIRED )
include_directories(${EIGEN_INCLUDE_DIR})
# build the library
-add_library(${PROJECT_NAME} STATIC
+add_library(${PROJECT_NAME}
src/VioInterface.cpp
src/VioParametersReader.cpp
include/okvis/FrameTypedefs.hpp
@@ -34,6 +34,6 @@ target_link_libraries(${PROJECT_NAME}
# installation if required
install(TARGETS ${PROJECT_NAME}
EXPORT okvisTargets
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
)
install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.hpp")
diff --git a/okvis_cv/CMakeLists.txt b/okvis_cv/CMakeLists.txt
index 4278bbd..9a2a916 100644
--- a/okvis_cv/CMakeLists.txt
+++ b/okvis_cv/CMakeLists.txt
@@ -11,7 +11,7 @@ find_package( OpenCV COMPONENTS core highgui imgproc features2d REQUIRED )
include_directories(BEFORE ${OpenCV_INCLUDE_DIRS})
# build the library
-add_library(${PROJECT_NAME} STATIC
+add_library(${PROJECT_NAME}
src/CameraBase.cpp
src/NCameraSystem.cpp
)
@@ -28,7 +28,7 @@ target_link_libraries(${PROJECT_NAME}
# installation if required
install(TARGETS ${PROJECT_NAME}
EXPORT okvisTargets
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
)
install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.hpp")
diff --git a/okvis_frontend/CMakeLists.txt b/okvis_frontend/CMakeLists.txt
index f768cf0..d90d143 100644
--- a/okvis_frontend/CMakeLists.txt
+++ b/okvis_frontend/CMakeLists.txt
@@ -42,6 +42,6 @@ target_link_libraries(${PROJECT_NAME}
# installation if required
install(TARGETS ${PROJECT_NAME}
EXPORT okvisTargets
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
)
install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.hpp")
diff --git a/okvis_kinematics/CMakeLists.txt b/okvis_kinematics/CMakeLists.txt
index 0f87e16..a7f3733 100644
--- a/okvis_kinematics/CMakeLists.txt
+++ b/okvis_kinematics/CMakeLists.txt
@@ -7,7 +7,7 @@ find_package( Eigen REQUIRED )
include_directories(${EIGEN_INCLUDE_DIR})
# build the library
-add_library(${PROJECT_NAME} STATIC src/dependency-tracker.cc)
+add_library(${PROJECT_NAME} src/dependency-tracker.cc)
# and link it
target_link_libraries(${PROJECT_NAME}
@@ -17,7 +17,7 @@ target_link_libraries(${PROJECT_NAME}
# installation if required
install(TARGETS ${PROJECT_NAME}
EXPORT okvisTargets
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
)
install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.hpp")
diff --git a/okvis_matcher/CMakeLists.txt b/okvis_matcher/CMakeLists.txt
index ee7af38..6a5c353 100644
--- a/okvis_matcher/CMakeLists.txt
+++ b/okvis_matcher/CMakeLists.txt
@@ -19,7 +19,7 @@ target_link_libraries(${PROJECT_NAME}
# installation if required
install(TARGETS ${PROJECT_NAME}
EXPORT okvisTargets
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/okvis" COMPONENT dev
)
install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.hpp")
diff --git a/okvis_multisensor_processing/CMakeLists.txt b/okvis_multisensor_processing/CMakeLists.txt
index ab131c2..969c187 100644
--- a/okvis_multisensor_processing/CMakeLists.txt
+++ b/okvis_multisensor_processing/CMakeLists.txt
@@ -50,7 +50,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER ${CMAKE_CURRENT_B
# installation if required
install(TARGETS ${PROJECT_NAME}
EXPORT okvisTargets
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/okvis" COMPONENT dev
)
install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.hpp")
diff --git a/okvis_time/CMakeLists.txt b/okvis_time/CMakeLists.txt
index 0f6fded..99affda 100644
--- a/okvis_time/CMakeLists.txt
+++ b/okvis_time/CMakeLists.txt
@@ -15,6 +15,6 @@ add_library(${PROJECT_NAME}
# installation if required
install(TARGETS ${PROJECT_NAME}
EXPORT okvisTargets
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
)
install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.hpp")
diff --git a/okvis_timing/CMakeLists.txt b/okvis_timing/CMakeLists.txt
index 186d430..911fe12 100644
--- a/okvis_timing/CMakeLists.txt
+++ b/okvis_timing/CMakeLists.txt
@@ -11,6 +11,6 @@ target_link_libraries(${PROJECT_NAME} PUBLIC okvis_util)
# installation if required
install(TARGETS ${PROJECT_NAME}
EXPORT okvisTargets
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
)
install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.hpp")
diff --git a/okvis_util/CMakeLists.txt b/okvis_util/CMakeLists.txt
index 3f2f1ba..c93e1d2 100644
--- a/okvis_util/CMakeLists.txt
+++ b/okvis_util/CMakeLists.txt
@@ -2,12 +2,12 @@ cmake_minimum_required(VERSION 2.8.11)
project(okvis_util)
# nothing to build for now...
-add_library(${PROJECT_NAME} STATIC src/dependency-tracker.cc)
+add_library(${PROJECT_NAME} src/dependency-tracker.cc)
# installation if required
install(TARGETS ${PROJECT_NAME}
EXPORT okvisTargets
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/okvis" COMPONENT dev
)
install(DIRECTORY include/ DESTINATION ${INSTALL_INCLUDE_DIR} COMPONENT dev FILES_MATCHING PATTERN "*.hpp")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment