disabled implicit linkage on MSVC (fixes #29)

This commit is contained in:
Wenzel Jakob
2017-03-01 14:55:13 +01:00
parent 5eb228a214
commit 2586714073
+16 -1
View File
@@ -93,7 +93,7 @@ elseif(WIN32)
if (SUPPORTS_VOLATILE_FLAG)
set(CMAKE_CXX_FLAGS "/volatile:iso ${CMAKE_CXX_FLAGS}")
endif ()
set(CMAKE_CXX_FLAGS "/wd4267 /wd4800 /wd4146 /wd4244 /wd4018 ${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS "/wd4267 /wd4800 /wd4146 /wd4244 /wd4577 /wd4018 ${CMAKE_CXX_FLAGS}")
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
list(APPEND tbb_src src/tbb/intel64-masm/atomic_support.asm
@@ -200,6 +200,9 @@ if (TBB_BUILD_STATIC)
set_property(TARGET tbb_static APPEND PROPERTY COMPILE_DEFINITIONS "__TBB_BUILD=1")
set_property(TARGET tbb_static APPEND_STRING PROPERTY COMPILE_FLAGS ${ENABLE_RTTI})
install(TARGETS tbb_static ARCHIVE DESTINATION lib)
if (MSVC)
target_compile_definitions(tbb_static PUBLIC __TBB_NO_IMPLICIT_LINKAGE=1)
endif()
endif()
if (TBB_BUILD_SHARED)
@@ -215,6 +218,7 @@ if (TBB_BUILD_SHARED)
else ()
set_property(TARGET tbb APPEND PROPERTY LINK_FLAGS "-Wl,-version-script,${CMAKE_CURRENT_BINARY_DIR}/tbb.def")
endif()
install(TARGETS tbb
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
@@ -222,6 +226,9 @@ if (TBB_BUILD_SHARED)
if (UNIX AND NOT APPLE)
target_link_libraries(tbb PUBLIC pthread dl)
endif()
if (MSVC)
target_compile_definitions(tbb PUBLIC __TBB_NO_IMPLICIT_LINKAGE=1)
endif()
endif()
@@ -242,6 +249,9 @@ if(TBB_BUILD_TBBMALLOC)
add_library(tbbmalloc_static STATIC ${tbbmalloc_static_src})
set_property(TARGET tbbmalloc_static APPEND PROPERTY COMPILE_DEFINITIONS "__TBBMALLOC_BUILD=1")
set_property(TARGET tbbmalloc_static APPEND_STRING PROPERTY COMPILE_FLAGS ${DISABLE_RTTI})
if (MSVC)
target_compile_definitions(tbbmalloc_static PUBLIC __TBB_NO_IMPLICIT_LINKAGE=1)
endif()
install(TARGETS tbbmalloc_static ARCHIVE DESTINATION lib)
endif()
@@ -257,6 +267,9 @@ if(TBB_BUILD_TBBMALLOC)
else ()
set_property(TARGET tbbmalloc APPEND PROPERTY LINK_FLAGS "-Wl,-version-script,${CMAKE_CURRENT_BINARY_DIR}/tbbmalloc.def")
endif()
if (MSVC)
target_compile_definitions(tbbmalloc PUBLIC __TBB_NO_IMPLICIT_LINKAGE=1)
endif()
install(TARGETS tbbmalloc
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
@@ -327,8 +340,10 @@ if (TBB_BUILD_TESTS)
add_dependencies (tests test_${testname})
if (TBB_BUILD_SHARED)
target_link_libraries (test_${testname} tbb tbbmalloc)
target_compile_definitions(test_${testname} PRIVATE __TBB_LIB_NAME=tbb)
else ()
target_link_libraries (test_${testname} tbb_static tbbmalloc_static)
target_compile_definitions(test_${testname} PRIVATE __TBB_LIB_NAME=tbb_static)
endif ()
if (LIBRT_LIBRARIES)
target_link_libraries (test_${testname} ${LIBRT_LIBRARIES})