Advertisement
Guest User

Untitled

a guest
Oct 28th, 2017
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. MESSAGE(“In record CMAKELIST”)
  2.  
  3. # Include externalproject {portaudio} if lib/portaudio don't exist.
  4. MESSAGE(“Download external project”)
  5.  
  6.  
  7. INCLUDE(ExternalProject)
  8. ExternalProject_Add(project_portaudio
  9. GIT_REPOSITORY https://git.assembla.com/portaudio.git
  10. PREFIX lib/portaudio
  11. CONFIGURE_COMMAND ${CMAKE_CURRENT_LIST_DIR}/configure
  12. BUILD_IN_SOURCE 1
  13. BUILD_COMMAND make
  14. INSTALL_COMMAND sudo make install
  15. )
  16. ExternalProject_Get_Property(project_portaudio BINARY_DIR)
  17. ExternalProject_Get_Property(project_portaudio SOURCE_DIR)
  18.  
  19. SET(portaudio_lib_dir "${BINARY_DIR}/lib/.libs")
  20. SET(portaudio_inc_dir "${SOURCE_DIR}/include")
  21.  
  22. add_library(record STATIC record.cpp record.h)
  23.  
  24.  
  25. file(lib/portaudio/include)
  26.  
  27. add_library(portaudio STATIC IMPORTED)
  28. set_target_properties(portaudio PROPERTIES
  29. IMPORTED_LOCATION ${BINARY_DIR}/lib/.libs/libportaudio.a
  30. )
  31.  
  32. target_include_directories(portaudio INTERFACE
  33. ${portaudio_inc_dir}
  34. )
  35. add_dependencies(portaudio project_portaudio) # Not sure if this is allowed for imported targets though
  36.  
  37.  
  38.  
  39. #
  40. # this makes sure we have compiler flags that allow class::class() = default (>= C++11)
  41. target_compile_features(record PUBLIC cxx_defaulted_functions)
  42.  
  43.  
  44.  
  45.  
  46. target_include_directories(record PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${project_portaudio})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement