Fixed cross platform compatibility setup

This commit is contained in:
Snaipe 2016-01-15 13:17:09 +01:00
parent cd09997f3c
commit 77e33940f8

View file

@ -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 <SOURCE_DIR>/autogen.sh
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
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 <SOURCE_DIR>/autogen.sh
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
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)