From 5d729e6a62d14e2f159449095a0b5af06b8c7e54 Mon Sep 17 00:00:00 2001 From: Manos Angelidis Date: Thu, 14 Nov 2019 13:34:03 +0100 Subject: [PATCH 1/2] Added a cmake option that allows users to select the configuration of the cuNSearch library. This can be either a static or a shared library. The same boolean exists for all the Interactive Computer Graphics related projects --- CMakeLists.txt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e0b6f93..452f2e7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,11 @@ if(CUNSEARCH_USE_DOUBLE_PRECISION) add_compile_options(-DCUNSEARCH_USE_DOUBLE_PRECISION) endif(CUNSEARCH_USE_DOUBLE_PRECISION) +OPTION(BUILD_AS_SHARED_LIBS "Build all the libraries as shared" OFF) +if (BUILD_AS_SHARED_LIBS) + add_definitions( -DBUILD_AS_SHARED_LIBS) +endif (BUILD_AS_SHARED_LIBS) + set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) SET(CMAKE_DEBUG_POSTFIX "_d") @@ -54,7 +59,11 @@ set (SOURCE_FILES Utils/IDFactory.cpp ) -add_library(cuNSearch STATIC ${INCLUDE_HEADERS} ${HEADER_FILES} ${SOURCE_FILES}) +if(BUILD_AS_SHARED_LIBS) + add_library(cuNSearch SHARED ${INCLUDE_HEADERS} ${HEADER_FILES} ${SOURCE_FILES}) +else() + add_library(cuNSearch STATIC ${INCLUDE_HEADERS} ${HEADER_FILES} ${SOURCE_FILES}) +endif() target_include_directories(cuNSearch PUBLIC "include" From 73964398b14825c25e6ac82b090f957a43b9d2bc Mon Sep 17 00:00:00 2001 From: Manos Angelidis Date: Mon, 18 Nov 2019 13:38:20 +0100 Subject: [PATCH 2/2] Added an extra cmake option for windows to enable exporting all symbols by default --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 452f2e7..59231be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,6 +21,9 @@ endif(CUNSEARCH_USE_DOUBLE_PRECISION) OPTION(BUILD_AS_SHARED_LIBS "Build all the libraries as shared" OFF) if (BUILD_AS_SHARED_LIBS) add_definitions( -DBUILD_AS_SHARED_LIBS) + if(WIN32) + add_definitions(-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS) + endif(WIN32) endif (BUILD_AS_SHARED_LIBS) set(CMAKE_CXX_STANDARD 11)