diff --git a/CMakeLists.txt b/CMakeLists.txt index 9981e10c2cf2082b2b3667daf3e48b5bff8a7019..4a46dc9b45b8d0cb4b1e0f5c87eb8dfa7811ce82 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -176,7 +176,7 @@ setup_compiler_flags() set(CMAKE_LIBRARY_OUTPUT_DIRECTORY) -if (ENABLE_STATIC) +if (ENABLE_STATIC AND UNIX AND NOT APPLE) set (CMAKE_FIND_LIBRARY_SUFFIXES .a) endif() diff --git a/cmake_support/OST.cmake b/cmake_support/OST.cmake index a1645e0950aee0e53515f7300ab9af2f830d5e4f..06e352919217f98e380ab796e085c3e1f77d36b7 100644 --- a/cmake_support/OST.cmake +++ b/cmake_support/OST.cmake @@ -142,7 +142,9 @@ macro(module) "invalid use of module(): a module name must be provided") endif() - + if (ENABLE_STATIC AND _ARG_NO_STATIC) + return() + endif() if (_ARG_HEADER_OUTPUT_DIR) set(_HEADER_OUTPUT_DIR ${_ARG_HEADER_OUTPUT_DIR}) else() @@ -299,15 +301,17 @@ macro(executable) endforeach() if (ENABLE_STATIC AND _ARG_STATIC) target_link_libraries(${_ARG_NAME} ${STATIC_LIBRARIES}) - if (OST_GCC_45) - set_target_properties(${_ARG_NAME} - PROPERTIES LINK_SEARCH_END_STATIC TRUE - LINK_FLAGS "-static-libgcc -static-libstdc++ -static -pthread") - else() - set_target_properties(${_ARG_NAME} - PROPERTIES LINK_SEARCH_END_STATIC TRUE - LINK_FLAGS "-static-libgcc -static -pthread") - endif() + if (UNIX AND NOT APPLE) + if (OST_GCC_45) + set_target_properties(${_ARG_NAME} + PROPERTIES LINK_SEARCH_END_STATIC TRUE + LINK_FLAGS "-static-libgcc -static-libstdc++ -static -pthread") + else() + set_target_properties(${_ARG_NAME} + PROPERTIES LINK_SEARCH_END_STATIC TRUE + LINK_FLAGS "-static-libgcc -static -pthread") + endif() + endif() endif() install(TARGETS ${_ARG_NAME} DESTINATION bin) endmacro() @@ -474,6 +478,9 @@ macro(pymod) if (NOT _ARG_NAME) message(FATAL_ERROR "invalid use of pymod(): a name must be provided") endif() + if (ENABLE_STATIC) + return() + endif() if (_ARG_OUTPUT_DIR) set(PYMOD_DIR "openstructure/${_ARG_OUTPUT_DIR}") else()