2017-01-12 11:44:48 +00:00
|
|
|
|
|
|
|
macro(build_soprano)
|
2017-01-17 14:19:16 +00:00
|
|
|
set(SOPRANO_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/lib/soprano/src)
|
2017-01-18 12:00:33 +00:00
|
|
|
set(SOPRANO_OPTS CFLAGS="${CMAKE_C_FLAGS}" LDFLAGS="${CMAKE_STATIC_LINKER_FLAGS}")
|
2017-01-12 11:44:48 +00:00
|
|
|
separate_arguments(SOPRANO_OPTS)
|
|
|
|
if (${PROJECT_BINARY_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
|
|
|
|
add_custom_command(
|
2017-01-18 12:00:33 +00:00
|
|
|
OUTPUT ${PROJECT_BINARY_DIR}/lib/soprano/src/libsoprano${CMAKE_STATIC_LIBRARY_SUFFIX}
|
2017-01-18 12:13:59 +00:00
|
|
|
COMMAND ${CMAKE_COMMAND} ${PROJECT_BINARY_DIR}/lib/soprano -DBUILD_STATIC=ON
|
2017-01-12 11:44:48 +00:00
|
|
|
COMMAND ${CMAKE_MAKE_PROGRAM} ${SOPRANO_OPTS} -C ${PROJECT_BINARY_DIR}/lib/soprano
|
|
|
|
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/lib/soprano
|
|
|
|
)
|
|
|
|
else()
|
|
|
|
add_custom_command(
|
2017-01-18 12:00:33 +00:00
|
|
|
OUTPUT ${PROJECT_BINARY_DIR}/lib/soprano/src/libsoprano${CMAKE_STATIC_LIBRARY_SUFFIX}
|
2017-01-12 11:44:48 +00:00
|
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/lib/soprano
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/lib/soprano ${PROJECT_BINARY_DIR}/lib/soprano
|
2017-01-18 12:00:33 +00:00
|
|
|
COMMAND cd ${PROJECT_BINARY_DIR}/lib/soprano && ${CMAKE_COMMAND} -DBUILD_STATIC=ON .
|
2017-01-12 11:44:48 +00:00
|
|
|
COMMAND ${CMAKE_MAKE_PROGRAM} ${SOPRANO_OPTS} -C ${PROJECT_BINARY_DIR}/lib/soprano
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
add_custom_target(libsoprano ALL
|
2017-01-18 12:00:33 +00:00
|
|
|
DEPENDS ${PROJECT_BINARY_DIR}/lib/soprano/src/libsoprano${CMAKE_STATIC_LIBRARY_SUFFIX}
|
2017-01-12 11:44:48 +00:00
|
|
|
)
|
|
|
|
message(STATUS "Use shipped libsoprano: ${PROJECT_SOURCE_DIR}/lib/soprano")
|
2017-01-18 12:00:33 +00:00
|
|
|
set (SOPRANO_LIBRARIES "${PROJECT_BINARY_DIR}/lib/soprano/src/libsoprano${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
2017-01-12 11:44:48 +00:00
|
|
|
set (SOPRANO_FOUND 1)
|
|
|
|
add_dependencies(build_libs libsoprano)
|
|
|
|
endmacro(build_soprano)
|