set( _LIBDIR "${CMAKE_INSTALL_LIBDIR}" )
set( _DATADIR "${CMAKE_INSTALL_DATADIR}" )
set( _PKGLIB "${_LIBDIR}/audacity" )
+set( _PKGMODULE "${_PKGLIB}/modules" )
set( _PKGDATA "${_DATADIR}/audacity/" )
set( _MANDIR "${CMAKE_INSTALL_MANDIR}" )
set( _MODDIR "${_PKGLIB}/modules" )
endif()
endfunction()
+# Call install(TARGETS...) only on Linux systems (i.e. exclude MacOS and Windows)
+macro( install_target_linux target destination )
+ if( NOT "${CMAKE_GENERATOR}" MATCHES "Xcode|Visual Studio*" AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin" )
+ install( TARGETS "${target}" DESTINATION "${destination}" )
+ endif()
+endmacro()
+
+macro( install_audacity_module target )
+ install_target_linux( "${target}" "${_PKGMODULE}" )
+endmacro()
+
function( audacity_module_fn NAME SOURCES IMPORT_TARGETS
ADDITIONAL_DEFINES ADDITIONAL_LIBRARIES LIBTYPE )
PROPERTIES
PREFIX ""
FOLDER "modules" # for IDE organization
+ INSTALL_RPATH "$ORIGIN/.."
)
if( NOT CMAKE_SYSTEM_NAME MATCHES "Windows|Darwin" )
collect_edges( ${TARGET} "${IMPORT_TARGETS}" ${LIBTYPE} )
set( GRAPH_EDGES "${GRAPH_EDGES}" PARENT_SCOPE )
+ # Note: Some modules set EXCLUDE_FROM_ALL afterwards to not be installed.
+ # Therefore only install libraries, but not modules here.
+ if( NOT REAL_LIBTYPE STREQUAL "MODULE" )
+ install_target_linux( "${TARGET}" "${_PKGLIB}" )
+ endif()
+
# collect unit test targets if they are present
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/tests")
add_subdirectory(tests)
RUNTIME
RESOURCE DESTINATION "${_PKGDATA}" )
- install( DIRECTORY "${_DEST}/${_LIBDIR}/"
- DESTINATION "${_LIBDIR}"
- USE_SOURCE_PERMISSIONS
- FILES_MATCHING PATTERN "*.so*" )
-
install( FILES "${_INTDIR}/audacity.desktop"
DESTINATION "${_DATADIR}/applications" )