cmake_minimum_required( VERSION 2.8 ) project( ITACTC ) list( APPEND CMAKE_MODULE_PATH "$ENV{VISTA_CMAKE_COMMON}" ) include( VistaCommon ) # dependencies vista_use_package( ITABase REQUIRED FIND_DEPENDENCIES ) vista_use_package( ITAFFT REQUIRED FIND_DEPENDENCIES ) vista_use_package( ITADataSources REQUIRED FIND_DEPENDENCIES ) vista_use_package( ITAConvolution REQUIRED FIND_DEPENDENCIES ) vista_use_package( OpenDAFF REQUIRED ) if( NOT DEFINED ITA_CORE_LIBS_BUILD_STATIC ) set( ITA_CORE_LIBS_BUILD_STATIC OFF CACHE BOOL "Build all ITA core libs in static mode" ) endif( NOT DEFINED ITA_CORE_LIBS_BUILD_STATIC ) if( NOT DEFINED ITA_CTC_WITH_DUAL_CTC ) set( ITA_CTC_WITH_DUAL_CTC OFF CACHE BOOL "Build support for Crosstalk-Cancellation with arbitrary loudspeaker number and pose" ) endif( NOT DEFINED ITA_CTC_WITH_DUAL_CTC ) if( NOT DEFINED ITA_CTC_WITH_N_CTC ) set( ITA_CTC_WITH_N_CTC ON CACHE BOOL "Build support for two-loudspeaker Crosstalk-Cancellation (deprecated)" ) endif( NOT DEFINED ITA_CTC_WITH_N_CTC ) if( NOT DEFINED ITA_CTC_WITH_QUAD_CTC ) set( ITA_CTC_WITH_QUAD_CTC OFF CACHE BOOL "Build support for quad-loudspeaker Crosstalk-Cancellation (deprecated)" ) endif( NOT DEFINED ITA_CTC_WITH_QUAD_CTC ) if( NOT DEFINED ITA_CTC_NCTC_EXPORT_FILTER_TO_HARDDRIVE ) set( ITA_CTC_NCTC_EXPORT_FILTER_TO_HARDDRIVE OFF CACHE BOOL "Export HRIR input,, intermediate results and final CTC filter set to harddrive (as multi-channel WAV files)" ) endif( NOT DEFINED ITA_CTC_NCTC_EXPORT_FILTER_TO_HARDDRIVE ) # includes include_directories( "include" ) # sources set( ITACTCHeader "include/ITACTCDefinitions.h" "include/ITACTCUtils.h" "include/ITAHDFTSpectra.h" ) set( ITACTCSources "src/ITACTCUtils.cpp" "src/ITAHDFTSpectra.cpp" ) if( ITA_CTC_WITH_DUAL_CTC ) set( ITACTCHeader "${ITACTCHeader}" "include/ITADualCTC.h" "include/ITADualCTCStreamFilter.h" ) set( ITACTCSources "${ITACTCSources}" "src/ITADualCTC.cpp" "src/ITADualCTCStreamFilter.cpp" ) endif( ITA_CTC_WITH_DUAL_CTC ) if( ITA_CTC_WITH_N_CTC ) set( ITACTCHeader "${ITACTCHeader}" "include/ITANCTC.h" "include/ITANCTCStreamFilter.h" ) set( ITACTCSources "${ITACTCSources}" "src/ITANCTC.cpp" "src/ITANCTCStreamFilter.cpp" ) endif( ITA_CTC_WITH_N_CTC ) if( ITA_CTC_WITH_QUAD_CTC ) set( ITACTCHeader "${ITACTCHeader}" "include/ITAQuadCTC.h" "include/ITAQuadCTCStreamFilter.h" ) set( ITACTCSources "${ITACTCSources}" "src/ITAQuadCTC.cpp" "src/ITAQuadCTCStreamFilter.cpp" ) endif( ITA_CTC_WITH_QUAD_CTC ) if( ITA_CTC_NCTC_EXPORT_FILTER_TO_HARDDRIVE ) add_definitions( -DNCTC_EXPORT_FILTER_TO_HARDDRIVE ) endif( ITA_CTC_NCTC_EXPORT_FILTER_TO_HARDDRIVE ) # compiler settings if( NOT ITA_CORE_LIBS_BUILD_STATIC ) add_definitions( -DITA_CTC_EXPORT ) else( NOT ITA_CORE_LIBS_BUILD_STATIC ) add_definitions( -DITA_FFT_STATIC -DITA_BASE_STATIC -DITA_CONVOLUTION_STATIC ) endif( NOT ITA_CORE_LIBS_BUILD_STATIC ) # linker add_library( ITACTC ${ITACTCHeader} ${ITACTCSources} ) target_link_libraries( ITACTC ${VISTA_USE_PACKAGE_LIBRARIES} ) # configure vista_configure_lib( ITACTC ) vista_install( ITACTC ) set( ITACTC_INCLUDE_OUTDIR "${CMAKE_CURRENT_SOURCE_DIR}/include" ) vista_create_cmake_configs( ITACTC ) vista_create_default_info_file( ITACTC ) set_property( TARGET ITACTC PROPERTY FOLDER "ITACoreLibs" ) # tests set( ITACTC_COMMON_BUILD TRUE ) add_subdirectory( "${CMAKE_CURRENT_SOURCE_DIR}/tests" )