Max Risuhin created ARROW-681:
---------------------------------
Summary: [C++] Build Arrow on Windows with dynamically linked boost
Key: ARROW-681
URL: https://issues.apache.org/jira/browse/ARROW-681
Project: Apache Arrow
Issue Type: Improvement
Components: C++
Reporter: Max Risuhin
Currently CMake recognizes "imported" 3rd party libs as static libraries. That
causes issue, if the library should be linked dynamically on Windows.
To resolve this IMPORTED_LOCATION property of imported library replaced with
special IMPORTED_IMPLIB property. It sets cmake to handle the library as
dynamic, not static.
https://cmake.org/cmake/help/v3.0/prop_tgt/IMPORTED_IMPLIB.html
Another linking issue on Windows with dynamically linked boost is caused by
boost's autolinking feature. Autolinking tells to link against static libs of
boost, even if we have turned off usage of static libs in CMAKE. The resolution
is to turn off boost's autolinking by preprocessor's defines directly from
CMAKE script:
# disable autolinking in boost
add_definitions(-DBOOST_ALL_NO_LIB)
# force all boost libraries to dynamic link
add_definitions(-DBOOST_ALL_DYN_LINK)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)