Advertisement
Guest User

Untitled

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