mirror of https://github.com/yandex/odyssey.git
machinarium: add libuv build instructions
This commit is contained in:
parent
7742956017
commit
3d5361c1f9
|
@ -5,7 +5,7 @@ project(machinarium)
|
|||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -g")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -g -fPIC")
|
||||
|
||||
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
|
||||
|
@ -18,9 +18,12 @@ endif()
|
|||
include_directories("${PROJECT_SOURCE_DIR}/src")
|
||||
include_directories("${PROJECT_BINARY_DIR}/src")
|
||||
|
||||
add_custom_target(build_libs)
|
||||
set(mm_libraries "")
|
||||
|
||||
find_package(LIBUV)
|
||||
# machinarium
|
||||
include(BuildLIBUV)
|
||||
build_libuv()
|
||||
set(mm_libraries ${mm_libraries} ${LIBUV_LIBRARIES})
|
||||
include_directories(${LIBUV_INCLUDE_DIRS})
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
macro(build_libuv)
|
||||
set(LIBUV_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/lib/libuv/include)
|
||||
set(LIBUV_OPTS CFLAGS="${CMAKE_C_FLAGS}" LDFLAGS="${CMAKE_STATIC_LINKER_FLAGS}")
|
||||
separate_arguments(LIBUV_OPTS)
|
||||
if (${PROJECT_BINARY_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_BINARY_DIR}/lib/libuv/.libs/libuv${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
COMMAND ./autogen.sh
|
||||
COMMAND ./configure
|
||||
COMMAND ${CMAKE_MAKE_PROGRAM} ${LIBUV_OPTS} -C ${PROJECT_BINARY_DIR}/lib/libuv
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/lib/libuv
|
||||
)
|
||||
else()
|
||||
add_custom_command(
|
||||
OUTPUT ${PROJECT_BINARY_DIR}/lib/libuv/.libs/libuv${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/lib/libuv
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/lib/libuv ${PROJECT_BINARY_DIR}/lib/libuv
|
||||
COMMAND cd ${PROJECT_BINARY_DIR}/lib/libuv && ./autogen.sh
|
||||
COMMAND cd ${PROJECT_BINARY_DIR}/lib/libuv && ./configure
|
||||
COMMAND ${CMAKE_MAKE_PROGRAM} ${LIBUV_OPTS} -C ${PROJECT_BINARY_DIR}/lib/libuv
|
||||
)
|
||||
endif()
|
||||
add_custom_target(libuv ALL
|
||||
DEPENDS ${PROJECT_BINARY_DIR}/lib/libuv/.libs/libuv${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
)
|
||||
message(STATUS "Use shipped libuv: ${PROJECT_SOURCE_DIR}/lib/libuv")
|
||||
set (LIBUV_LIBRARIES "${PROJECT_BINARY_DIR}/lib/libuv/.libs/libuv${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
set (LIBUV_FOUND 1)
|
||||
add_dependencies(build_libs libuv)
|
||||
endmacro(build_libuv)
|
Loading…
Reference in New Issue