File: CMakeLists.txt

package info (click to toggle)
node-websocket 1.0.35%2B~cs11.0.30-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,132 kB
  • sloc: cpp: 5,584; javascript: 3,787; ansic: 107; makefile: 15; sh: 7
file content (112 lines) | stat: -rw-r--r-- 3,000 bytes parent folder | download
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
cmake_minimum_required(VERSION 3.15)

project(is_utf8
  DESCRIPTION "Fast UTF-8 Validation"
  LANGUAGES CXX
  VERSION 1.4.1
)

include(GNUInstallDirs)
include(CTest)

option(IS_UTF8_SANITIZE "Sanitize addresses" OFF)

if (NOT CMAKE_BUILD_TYPE)
  message(STATUS "No build type selected, default to Release")
  if(IS_UTF8_SANITIZE)
    set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE)
  else()
    set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
  endif()
endif()

# We compile tools, tests, etc. with C++ 11. Override yourself if you need on a
# target.
set(IS_UTF8_CXX_STANDARD 11 CACHE STRING "the C++ standard to use for is_utf8")

set(CMAKE_CXX_STANDARD ${IS_UTF8_CXX_STANDARD})
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_MACOSX_RPATH OFF)

set(IS_UTF8_LIB_VERSION "1.4.1" CACHE STRING "is_utf8 library version")
set(IS_UTF8_LIB_SOVERSION "1" CACHE STRING "is_utf8 library soversion")

set(IS_UTF8_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
add_subdirectory(src)

if (BUILD_TESTING)
  message(STATUS "The tests are enabled.")
  add_subdirectory(tests)
else()
  message(STATUS "The tests are disabled.")
endif(BUILD_TESTING)


add_subdirectory(benchmarks)

message(STATUS "Compiling using the C++ standard:" ${CMAKE_CXX_STANDARD})
# ---- Install rules ----
add_library(is_utf8::is_utf8 ALIAS is_utf8)

set_target_properties(
    is_utf8 PROPERTIES
    VERSION "${IS_UTF8_LIB_VERSION}"
    SOVERSION "${IS_UTF8_LIB_SOVERSION}"
    WINDOWS_EXPORT_ALL_SYMBOLS YES
)

include(CMakePackageConfigHelpers)
include(GNUInstallDirs)

install(
    FILES include/is_utf8.h
    DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
    COMPONENT is_utf8_Development
)

install(
    TARGETS is_utf8
    EXPORT is_utf8Targets
    RUNTIME COMPONENT is_utf8_Runtime
    LIBRARY COMPONENT is_utf8_Runtime
    NAMELINK_COMPONENT is_utf8_Development
    ARCHIVE COMPONENT is_utf8_Development
    INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
)

configure_file(cmake/is_utf8-config.cmake.in is_utf8-config.cmake @ONLY)

write_basic_package_version_file(
    is_utf8-config-version.cmake
    COMPATIBILITY SameMinorVersion
)

set(
    IS_UTF8_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/is_utf8"
    CACHE STRING "CMake package config location relative to the install prefix"
)
mark_as_advanced(IS_UTF8_INSTALL_CMAKEDIR)

install(
    FILES
    "${PROJECT_BINARY_DIR}/is_utf8-config.cmake"
    "${PROJECT_BINARY_DIR}/is_utf8-config-version.cmake"
    DESTINATION "${IS_UTF8_INSTALL_CMAKEDIR}"
    COMPONENT is_utf8_Development
)

#
# CPack
#
if(is_top_project)
  set(CPACK_PACKAGE_VENDOR "Daniel Lemire")
  set(CPACK_PACKAGE_CONTACT "lemire@gmail.com")
  set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE-MIT")
  set(CPACK_RPM_PACKAGE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE-MIT")
  set(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/README.md")
  set(CPACK_SOURCE_GENERATOR "TGZ;ZIP")
  include(CPack)
endif()

# ----