-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
32 lines (27 loc) · 948 Bytes
/
CMakeLists.txt
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
cmake_minimum_required(VERSION 3.27)
project(LibraryTemplate
VERSION 1.0.2
DESCRIPTION "A Template for creating c++ 20 libraries"
HOMEPAGE_URL "https://github.com/an-inconspicuous-semicolon/LibraryTemplate"
LANGUAGES CXX
)
set(CMAKE_CXX_STANDARD 20)
include(CMake/preparation.cmake)
include(CMake/precompiled_headers.cmake)
include(CMake/packaging.cmake)
include(CMake/exports.cmake)
include(CMake/client/client_prepare.cmake)
add_library(${PROJECT_NAME} SHARED
Library/src/library.cpp
Library/include/LibraryTemplate/library.hpp
)
target_include_directories(${PROJECT_NAME}
PUBLIC Library/include/
PRIVATE Library/include/${PROJECT_NAME}
)
include(CMake/client.cmake)
store_target_properties(${PROJECT_NAME})
generate_precompiled_header(${PROJECT_NAME})
prepare_for_packaging(${PROJECT_NAME})
generate_api_header(${PROJECT_NAME})
include(CMake/client/client_post_library.cmake)