cmake_minimum_required(VERSION 3.17) project(es5-clap VERSION 0.1.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) include(FetchContent) FetchContent_Declare( clap GIT_REPOSITORY https://github.com/free-audio/clap.git GIT_TAG 1.2.7 ) FetchContent_MakeAvailable(clap) FetchContent_Declare( clap-helpers GIT_REPOSITORY https://github.com/free-audio/clap-helpers.git GIT_TAG main ) FetchContent_MakeAvailable(clap-helpers) add_library(${PROJECT_NAME} MODULE src/plugin.cpp src/entry.cpp ) target_link_libraries(${PROJECT_NAME} PRIVATE clap-helpers) if(CMAKE_SYSTEM_NAME STREQUAL "Linux") set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".clap" ) target_link_options(${PROJECT_NAME} PRIVATE -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/src/linux-es5-clap.version -Wl,-z,defs ) elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") set_target_properties(${PROJECT_NAME} PROPERTIES BUNDLE TRUE BUNDLE_EXTENSION clap MACOSX_BUNDLE_GUI_IDENTIFIER at.sub-net.es5-clap MACOSX_BUNDLE_BUNDLE_NAME "ES-5 Encoder" MACOSX_BUNDLE_BUNDLE_VERSION "${PROJECT_VERSION}" MACOSX_BUNDLE_SHORT_VERSION_STRING "${PROJECT_VERSION}" ) elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".clap" ) endif() # Install to standard CLAP paths if(CMAKE_SYSTEM_NAME STREQUAL "Linux") install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib/clap) endif()