cmake: fix static build on Linux When building Python, many extra libraries must be included, such as expat and zlib. Signed-off-by: Sean Cross <sean@xobs.io>
diff --git a/CMakeLists.txt b/CMakeLists.txt index 77745f9..67b0c18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt
@@ -23,7 +23,13 @@ add_definitions(-DBOOST_PYTHON_STATIC_LIB) endif() else() + set(CMAKE_FIND_LIBRARY_SUFFIXES ".a" ".so") set(link_param "-static") + if (BUILD_PYTHON) + find_package(ZLIB) + find_package(EXPAT) + find_package(Threads) + endif() endif() endif() @@ -267,6 +273,14 @@ endif() if (BUILD_PYTHON) target_link_libraries(${target} LINK_PUBLIC ${PYTHON_LIBRARIES}) + if (STATIC_BUILD) + target_link_libraries(${target} LINK_PUBLIC ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS} ${ZLIB_LIBRARIES} ${EXPAT_LIBRARIES} -lutil) + if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows" AND MSVC) + else() + target_link_libraries(${target} LINK_PUBLIC -lutil) + endif() + endif() endif() endforeach (target) endforeach (family)