diff --git a/CMakeLists.txt b/CMakeLists.txt index 3991219..f9e172b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,21 +1,11 @@ -cmake_minimum_required(VERSION 2.8.12) - -if(POLICY CMP0042) - cmake_policy(SET CMP0042 NEW) -endif() - -if(POLICY CMP0048) - cmake_policy(SET CMP0048 OLD) -endif() - -project(chromaprint C CXX) +cmake_minimum_required(VERSION 3.3) set(chromaprint_VERSION_MAJOR 1) set(chromaprint_VERSION_MINOR 4) set(chromaprint_VERSION_PATCH 3) set(chromaprint_VERSION "${chromaprint_VERSION_MAJOR}.${chromaprint_VERSION_MINOR}.${chromaprint_VERSION_PATCH}") -set(PROJECT_VERSION "${chromaprint_VERSION}") +project(chromaprint LANGUAGES C CXX VERSION "${chromaprint_VERSION}") set(chromaprint_SOVERSION 1) @@ -31,14 +21,14 @@ include(CheckCXXCompilerFlag) find_package(Threads) -check_cxx_compiler_flag("-std=c++11" COMPILER_SUPPORTS_CXX11) -if(COMPILER_SUPPORTS_CXX11) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") -endif() +option(BUILD_SHARED_LIBS "Build shared libraries" ON) -if(CMAKE_COMPILER_IS_GNUCXX AND BUILD_SHARED_LIBS) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden") +set(CMAKE_CXX_STANDARD 11) + +if(BUILD_SHARED_LIBS) + set(CMAKE_C_VISIBILITY_PRESET hidden) + set(CMAKE_CXX_VISIBILITY_PRESET hidden) + set(CMAKE_VISIBILITY_INLINES_HIDDEN ON) endif() if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_BUILD_TYPE STREQUAL "Debug") @@ -70,7 +60,6 @@ if(APPLE) set(FRAMEWORK_INSTALL_DIR "/Library/Frameworks" CACHE STRING "Directory to install frameworks to") endif() -option(BUILD_SHARED_LIBS "Build shared libraries" ON) option(BUILD_TOOLS "Build command line tools" OFF) option(BUILD_TESTS "Build test suite" OFF)