В целом
Вы можете обнаружить и указать переменные для нескольких операционных систем, например:
Обнаружение Microsoft Windows
if(WIN32)
# for Windows operating system in general
endif()
Или:
if(MSVC OR MSYS OR MINGW)
# for detecting Windows compilers
endif()
Обнаружение Apple MacOS
if(APPLE)
# for MacOS X or iOS, watchOS, tvOS (since 3.10.3)
endif()
Обнаружение Unix и Linux
if(UNIX AND NOT APPLE)
# for Linux, BSD, Solaris, Minix
endif()
Ваша проблема с компоновщиком
Чтобы решить проблему с библиотекой wsock32
для Windows, просто удалите ее из других систем, например:
if(WIN32)
target_link_libraries(${PROJECT_NAME} bioutils wsock32)
else
target_link_libraries(${PROJECT_NAME} bioutils)
endif()