diff --git a/CMakeLists.txt b/CMakeLists.txt index 2fc1b34..a4c52e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,33 +32,37 @@ include_directories(SYSTEM /usr/include/GNUstep ) -include(ExternalProject) +if (MSVC) + add_subdirectory(dependencies/nanomsg-patched EXCLUDE_FROM_ALL) + include_directories(dependencies/nanomsg-patched/src/) +else () -externalproject_add( - nanomsg - SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/nanomsg-patched" - PREFIX "${CMAKE_CURRENT_BINARY_DIR}/nanomsg-patched" + include(ExternalProject) - UPDATE_COMMAND /autogen.sh - CONFIGURE_COMMAND /configure --prefix= - BUILD_COMMAND make -j4 - INSTALL_COMMAND make install -) + externalproject_add( + nanomsg + SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/nanomsg-patched" + PREFIX "${CMAKE_CURRENT_BINARY_DIR}/nanomsg-patched" -externalproject_get_property(nanomsg install_dir) -set(NANOMSG_INSTALL_DIR "${install_dir}") + UPDATE_COMMAND /autogen.sh + CONFIGURE_COMMAND /configure --prefix= + BUILD_COMMAND make -j4 + INSTALL_COMMAND make install + ) + + externalproject_get_property(nanomsg install_dir) + set(NANOMSG_INSTALL_DIR "${install_dir}") + + include_directories(${CMAKE_CURRENT_BINARY_DIR}/nanomsg-patched/include/) + link_directories(${CMAKE_CURRENT_BINARY_DIR}/nanomsg-patched/lib/) + +endif () include_directories( dependencies/libcsptr/include/ dependencies/valgrind/include/ dependencies/klib/ dependencies/nanopb/ - - ${CMAKE_CURRENT_BINARY_DIR}/nanomsg-patched/include/ -) - -link_directories( - ${CMAKE_CURRENT_BINARY_DIR}/nanomsg-patched/lib/ ) if (MSVC) @@ -289,7 +293,14 @@ include_directories(include src) add_library(criterion SHARED ${SOURCE_FILES} ${INTERFACE_FILES}) add_dependencies(criterion nanomsg) -target_link_libraries(criterion csptr anl libnanomsg.a pthread) +target_link_libraries(criterion csptr libnanomsg.a pthread) + +if (NOT WIN32) + target_link_libraries(criterion csptr pthread) + if (NOT APPLE) + target_link_libraries(criterion csptr anl) + endif () +endif () if (THEORIES) target_link_libraries(criterion dyncall_s)