2017-01-12 11:44:48 +00:00
|
|
|
|
|
|
|
macro(build_machinarium)
|
2017-06-27 14:42:04 +00:00
|
|
|
set(MACHINARIUM_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/lib/machinarium/sources)
|
2017-01-12 11:44:48 +00:00
|
|
|
if (${PROJECT_BINARY_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
|
|
|
|
add_custom_command(
|
2017-06-27 14:42:04 +00:00
|
|
|
OUTPUT ${PROJECT_BINARY_DIR}/lib/machinarium/sources/libmachinarium${CMAKE_STATIC_LIBRARY_SUFFIX}
|
2017-05-15 12:34:08 +00:00
|
|
|
COMMAND ${CMAKE_COMMAND} ${PROJECT_BINARY_DIR}/lib/machinarium -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
2017-02-07 15:39:55 +00:00
|
|
|
COMMAND ${CMAKE_MAKE_PROGRAM} -C ${PROJECT_BINARY_DIR}/lib/machinarium
|
2017-01-12 11:44:48 +00:00
|
|
|
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/lib/machinarium
|
|
|
|
)
|
|
|
|
else()
|
|
|
|
add_custom_command(
|
2017-06-27 14:42:04 +00:00
|
|
|
OUTPUT ${PROJECT_BINARY_DIR}/lib/machinarium/sources/libmachinarium${CMAKE_STATIC_LIBRARY_SUFFIX}
|
2017-01-12 11:44:48 +00:00
|
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/lib/machinarium
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/lib/machinarium ${PROJECT_BINARY_DIR}/lib/machinarium
|
2017-05-15 12:34:08 +00:00
|
|
|
COMMAND cd ${PROJECT_BINARY_DIR}/lib/machinarium && ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} .
|
2017-02-07 15:39:55 +00:00
|
|
|
COMMAND ${CMAKE_MAKE_PROGRAM} -C ${PROJECT_BINARY_DIR}/lib/machinarium
|
2017-01-12 11:44:48 +00:00
|
|
|
)
|
|
|
|
endif()
|
|
|
|
add_custom_target(libmachinarium ALL
|
2017-06-27 14:42:04 +00:00
|
|
|
DEPENDS ${PROJECT_BINARY_DIR}/lib/machinarium/sources/libmachinarium${CMAKE_STATIC_LIBRARY_SUFFIX}
|
2017-01-12 11:44:48 +00:00
|
|
|
)
|
|
|
|
message(STATUS "Use shipped libmachinarium: ${PROJECT_SOURCE_DIR}/lib/machinarium")
|
2017-06-27 14:42:04 +00:00
|
|
|
set (MACHINARIUM_LIBRARIES "${PROJECT_BINARY_DIR}/lib/machinarium/sources/libmachinarium${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
2017-01-12 11:44:48 +00:00
|
|
|
set (MACHINARIUM_FOUND 1)
|
|
|
|
add_dependencies(build_libs libmachinarium)
|
|
|
|
endmacro(build_machinarium)
|