2011-10-09 19:41:47 +04:00
|
|
|
|
|
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
|
|
|
|
|
project(lib_shared_and_static)
|
|
|
|
|
|
|
|
include(GenerateExportHeader)
|
|
|
|
|
2013-12-15 14:14:23 +04:00
|
|
|
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
|
|
|
set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
|
|
|
|
|
|
|
|
if (CMAKE_CXX_FLAGS MATCHES "-fvisibility=hidden")
|
|
|
|
message(SEND_ERROR "Do not use add_compiler_export_flags before adding this directory")
|
|
|
|
endif()
|
|
|
|
if (CMAKE_CXX_FLAGS MATCHES "-fvisibility-inlines-hidden")
|
|
|
|
message(SEND_ERROR "Do not use add_compiler_export_flags before adding this directory")
|
|
|
|
endif()
|
2011-10-09 19:41:47 +04:00
|
|
|
|
|
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
2011-07-13 04:13:33 +04:00
|
|
|
|
|
|
|
set(lib_SRCS
|
|
|
|
libshared_and_static.cpp
|
|
|
|
)
|
|
|
|
|
|
|
|
add_library(shared_variant SHARED ${lib_SRCS})
|
2013-12-15 14:14:23 +04:00
|
|
|
set_target_properties(shared_variant PROPERTIES DEFINE_SYMBOL SHARED_VARIANT_MAKEDLL)
|
2011-07-13 04:13:33 +04:00
|
|
|
add_library(static_variant ${lib_SRCS})
|
|
|
|
|
2013-12-15 14:14:23 +04:00
|
|
|
generate_export_header(shared_variant
|
|
|
|
BASE_NAME libshared_and_static
|
|
|
|
PREFIX_NAME MYPREFIX_
|
|
|
|
)
|
2011-07-13 04:13:33 +04:00
|
|
|
|
|
|
|
set_target_properties(static_variant PROPERTIES COMPILE_FLAGS -DLIBSHARED_AND_STATIC_STATIC_DEFINE)
|
2011-10-09 19:41:47 +04:00
|
|
|
|
|
|
|
export(TARGETS shared_variant static_variant FILE Targets.cmake)
|