Files

39 lines
1.5 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(oplabs-lv2-plugins
VERSION 1.0.0
DESCRIPTION "OPLabs LV2 Audio Plugin Collection"
LANGUAGES CXX
)
# ── C++ Standard ─────────────────────────────────────────────────────
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# ── Position-independent code (required for shared libs) ─────────────
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
# ── Hide internal symbols by default ────────────────────────────────
set(CMAKE_C_VISIBILITY_PRESET hidden)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
# ── Find LV2 ────────────────────────────────────────────────────────
find_path(LV2_INCLUDE_DIR
NAMES lv2/core/lv2.h
PATHS /usr/include /usr/local/include
)
find_path(LV2_STATE_INCLUDE_DIR
NAMES lv2/state/state.h
PATHS /usr/include /usr/local/include
)
if(NOT LV2_INCLUDE_DIR)
message(FATAL_ERROR "LV2 headers not found. Install lv2-dev.")
endif()
message(STATUS "LV2 include dir: ${LV2_INCLUDE_DIR}")
# ── Subdirectories ──────────────────────────────────────────────────
add_subdirectory(src)