39 lines
1.5 KiB
CMake
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)
|