Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MESSAGE(“In record CMAKELIST”)
- # Include externalproject {portaudio} if lib/portaudio don't exist.
- MESSAGE(“Download external project”)
- INCLUDE(ExternalProject)
- ExternalProject_Add(project_portaudio
- GIT_REPOSITORY https://git.assembla.com/portaudio.git
- PREFIX lib/portaudio
- CONFIGURE_COMMAND <SOURCE_DIR>/configure
- BUILD_IN_SOURCE 1
- BUILD_COMMAND make
- INSTALL_COMMAND sudo make install
- )
- ExternalProject_Get_Property(project_portaudio BINARY_DIR)
- ExternalProject_Get_Property(project_portaudio SOURCE_DIR)
- SET(portaudio_lib_dir "${BINARY_DIR}/lib/.libs")
- SET(portaudio_inc_dir "${SOURCE_DIR}/include")
- add_library(record STATIC record.cpp record.h)
- add_library(portaudio INTERFACE IMPORTED)
- set_target_properties(portaudio PROPERTIES
- IMPORTED_LOCATION ${BINARY_DIR}/lib/.libs/libportaudio.a
- )
- target_include_directories(portaudio INTERFACE
- ${SOURCE_DIR}/include
- )
- add_dependencies(portaudio project_portaudio) # Not sure if this is allowed for imported targets though
- #
- # this makes sure we have compiler flags that allow class::class() = default (>= C++11)
- target_compile_features(record PUBLIC cxx_defaulted_functions)
- target_include_directories(record PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${project_portaudio})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement