File: CMakeLists.txt

package info (click to toggle)
libmmap-allocator 0.4.0%2Bgit20200122.adbfbe1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 152 kB
  • sloc: cpp: 946; ansic: 61; makefile: 44; sh: 11
file content (51 lines) | stat: -rw-r--r-- 2,279 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Specify the minimum version for CMake

cmake_minimum_required(VERSION 3.1)

# Project's name
project(mmap_allocator)
# We build using c++14
set(CMAKE_CXX_STANDARD 14)

# Use all standard-compliant optimizations
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS} -O3 -mcx16 -g")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS} -O3 -mcx16 -g")

#set(CMAKE_BUILD_TYPE Release)
set(CMAKE_BUILD_TYPE Debug)

# set up our target executable and specify its dependencies and includes
add_library(mmap_allocator_objs OBJECT
  ${CMAKE_SOURCE_DIR}/mmap_file_pool.cpp)

set(mmap_allocator_INCLUDES
  ${CMAKE_SOURCE_DIR})

set(mmap_allocator_HEADERS
  ${CMAKE_SOURCE_DIR}/mmap_access_mode.h
  ${CMAKE_SOURCE_DIR}/mmap_allocator.h
  ${CMAKE_SOURCE_DIR}/mmap_exception.h
  ${CMAKE_SOURCE_DIR}/mmap_file_pool.h
  ${CMAKE_SOURCE_DIR}/mmappable_vector.h)

target_include_directories(mmap_allocator_objs PUBLIC ${mmap_allocator_INCLUDES})
set_target_properties(mmap_allocator_objs PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

add_library(libmmap_allocator_static STATIC $<TARGET_OBJECTS:mmap_allocator_objs>)
set_target_properties(libmmap_allocator_static PROPERTIES OUTPUT_NAME "mmap_allocator")
set_target_properties(libmmap_allocator_static PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
add_library(libmmap_allocator_shared SHARED $<TARGET_OBJECTS:mmap_allocator_objs>)
set_target_properties(libmmap_allocator_shared PROPERTIES OUTPUT_NAME "mmap_allocator")
set_target_properties(libmmap_allocator_shared PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

set_target_properties(libmmap_allocator_static PROPERTIES PUBLIC_HEADER "${mmap_allocator_HEADERS}")
set_target_properties(libmmap_allocator_shared PROPERTIES PUBLIC_HEADER "${mmap_allocator_HEADERS}")

add_executable(test_mmap_allocator
  $<TARGET_OBJECTS:mmap_allocator_objs>
  ${CMAKE_SOURCE_DIR}/test_allocator.cpp)
#set_target_properties(mmap_allocator PROPERTIES OUTPUT_NAME "mmap_allocator")

install(TARGETS test_mmap_allocator DESTINATION bin)
install(TARGETS libmmap_allocator_static ARCHIVE DESTINATION lib LIBRARY DESTINATION lib PUBLIC_HEADER DESTINATION include/mmap_allocator)
install(TARGETS libmmap_allocator_shared ARCHIVE DESTINATION lib LIBRARY DESTINATION lib PUBLIC_HEADER DESTINATION include/mmap_allocator)