Skip to content

Commit 850deb3

Browse files
Merge pull request #617 from captain0xff/vendor-coin
Fixes and improvements
2 parents 90067b8 + 30185e0 commit 850deb3

File tree

3 files changed

+19
-9
lines changed

3 files changed

+19
-9
lines changed

CMakeLists.txt

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -561,14 +561,18 @@ if(WIN32)
561561
set(COIN_DEFAULT_POSTFIX ${COIN_DEFAULT_STATIC_POSTFIX})
562562
set(COIN_LIBRARY_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX})
563563
endif()
564-
set(CMAKE_RELEASE_POSTFIX "${COIN_DEFAULT_POSTFIX}"
565-
CACHE STRING "Default filename postfix for libraries under configuration Release")
566-
set(CMAKE_MINSIZEREL_POSTFIX "${COIN_DEFAULT_POSTFIX}"
567-
CACHE STRING "Default filename postfix for libraries under configuration MinSizeRel")
568-
set(CMAKE_RELWITHDEBINFO_POSTFIX "${COIN_DEFAULT_POSTFIX}"
569-
CACHE STRING "Default filename postfix for libraries under configuration RelWithDebInfo")
570-
set(CMAKE_DEBUG_POSTFIX "${COIN_DEFAULT_POSTFIX}d"
571-
CACHE STRING "Default filename postfix for libraries under configuration Debug")
564+
# Don't set these if the project is built as cmake a subdirectory
565+
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
566+
set(CMAKE_RELEASE_POSTFIX "${COIN_DEFAULT_POSTFIX}"
567+
CACHE STRING "Default filename postfix for libraries under configuration Release")
568+
set(CMAKE_MINSIZEREL_POSTFIX "${COIN_DEFAULT_POSTFIX}"
569+
CACHE STRING "Default filename postfix for libraries under configuration MinSizeRel")
570+
set(CMAKE_RELWITHDEBINFO_POSTFIX "${COIN_DEFAULT_POSTFIX}"
571+
CACHE STRING "Default filename postfix for libraries under configuration RelWithDebInfo")
572+
set(CMAKE_DEBUG_POSTFIX "${COIN_DEFAULT_POSTFIX}d"
573+
CACHE STRING "Default filename postfix for libraries under configuration Debug")
574+
endif()
575+
572576

573577
set(COIN_RELEASE_SYSTEM_LIBRARY_NAME Coin${CMAKE_RELEASE_POSTFIX}${COIN_LIBRARY_SUFFIX})
574578
set(COIN_DEBUG_SYSTEM_LIBRARY_NAME Coin${CMAKE_DEBUG_POSTFIX}${COIN_LIBRARY_SUFFIX})

include/Inventor/SbByteBufferP.icc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class SbByteBufferP {
3131
INLINE void
3232
SbByteBuffer::makeUnique()
3333
{
34-
if (PRIVATE(this)->size_ && !PRIVATE(this)->buffer.unique()) {
34+
if (PRIVATE(this)->size_ && !(PRIVATE(this)->buffer.use_count() == 1)) {
3535
std::shared_ptr<char> tmp_buffer(new char [PRIVATE(this)->size_], std::default_delete<char[]>());
3636
memcpy(tmp_buffer.get(),PRIVATE(this)->buffer.get(),PRIVATE(this)->size_);
3737
PRIVATE(this)->buffer=tmp_buffer;

src/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,12 @@ else()
205205
)
206206
endif()
207207

208+
# Export a Coin::Coin target when the library is built as a cmake subdirectory
209+
# so that the same target can be linked using find_package and this method
210+
if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
211+
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
212+
endif()
213+
208214
if(WIN32)
209215
if(COIN_BUILD_SHARED_LIBS)
210216
configure_file(${PROJECT_NAME}.rc.cmake.in ${PROJECT_NAME}.rc)

0 commit comments

Comments
 (0)