Skip to content

Instantly share code, notes, and snippets.

@Warchant
Created June 18, 2017 16:32
Show Gist options
  • Select an option

  • Save Warchant/a4a8b2b146e68d8677a4e1b6967e48dd to your computer and use it in GitHub Desktop.

Select an option

Save Warchant/a4a8b2b146e68d8677a4e1b6967e48dd to your computer and use it in GitHub Desktop.
################################
# libuv #
################################
ExternalProject_Add(libuv_libuv
GIT_REPOSITORY "https://github.com/libuv/libuv.git"
CONFIGURE_COMMAND ./autogen.sh && ./configure
BUILD_IN_SOURCE 1
BUILD_COMMAND $(MAKE)
INSTALL_COMMAND "" # remove install step
TEST_COMMAND "" # remove test step
UPDATE_COMMAND "" # remove update step
)
ExternalProject_Get_Property(libuv_libuv source_dir)
set(uv_INCLUDE_DIRS ${source_dir}/include)
set(uv_LIBRARIES ${source_dir}/.libs/libuv.a)
file(MAKE_DIRECTORY ${uv_INCLUDE_DIRS})
add_library(uv STATIC IMPORTED)
set_target_properties(uv PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES ${uv_INCLUDE_DIRS}
IMPORTED_LOCATION ${uv_LIBRARIES}
INTERFACE_LINK_LIBRARIES "pthread"
)
add_dependencies(uv libuv_libuv)
################################
# uvw #
################################
ExternalProject_Add(skypjack_uvw
GIT_REPOSITORY "https://github.com/skypjack/uvw.git"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND "" # remove install step
TEST_COMMAND "" # remove test step
UPDATE_COMMAND "" # remove update step
)
ExternalProject_Get_Property(skypjack_uvw source_dir)
add_dependencies(skypjack_uvw uv)
set(uvw_INCLUDE_DIRS ${source_dir}/src)
file(MAKE_DIRECTORY ${uvw_INCLUDE_DIRS})
add_library(uvw INTERFACE IMPORTED)
set_target_properties(uvw PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${uvw_INCLUDE_DIRS};${uv_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${uv_LIBRARIES};pthread"
)
add_dependencies(uvw skypjack_uvw)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment