-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
67 lines (49 loc) · 2.33 KB
/
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
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
cmake_minimum_required(VERSION 3.13)
set(CMAKE_USE_RELATIVE_PATHS TRUE)
project("IsExecutable")
set("PROJECT_DESCRIPTION" "A lib to distinguish a shared library from an executable.")
set("PROJECT_HOMEPAGE_URL" "https://codeberg.org/KOLANICH-libs/isExecutable.cpp")
set(CPACK_PACKAGE_VENDOR "KOLANICH")
message(STATUS "We have moved from M$ GitHub to ${PROJECT_HOMEPAGE_URL}, read why on https://codeberg.org/KOLANICH/Fuck-GuanTEEnomo . ")
set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "0")
set(CPACK_PACKAGE_VERSION_PATCH "1")
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
set(OUR_CMAKE_MODULES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
set(OUR_CMAKE_3PARTY_MODULES_DIR "${OUR_CMAKE_MODULES_DIR}/thirdParty")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${OUR_CMAKE_MODULES_DIR}" "${OUR_CMAKE_MODULES_DIR}/Boilerplate" "${OUR_CMAKE_MODULES_DIR}/DoxygenUtils" "${OUR_CMAKE_3PARTY_MODULES_DIR}")
include(Boilerplate)
set(Include_dir "${CMAKE_CURRENT_SOURCE_DIR}/include")
file(GLOB_RECURSE HDRFILES "${Include_dir}/*.h" "${Include_dir}/*.hpp")
set(LibSource_dir "${CMAKE_CURRENT_SOURCE_DIR}/lib")
set(BinSource_dir "${CMAKE_CURRENT_SOURCE_DIR}/bin")
set(PackagingTemplatesDir "${CMAKE_CURRENT_SOURCE_DIR}/packaging")
set(tests_dir "${CMAKE_CURRENT_SOURCE_DIR}/tests")
set(CPACK_PACKAGE_MAINTAINER "${CPACK_PACKAGE_VENDOR}")
set(CPACK_DEBIAN_PACKAGE_NAME "${CPACK_PACKAGE_NAME}")
set(CPACK_RPM_PACKAGE_NAME "${CPACK_PACKAGE_NAME}")
find_package(HydrArgs) # https://codeberg.org/HydrArgs/HydrArgs
if(HydrArgs_FOUND)
find_package(HydrArgs_discoverer) # https://codeberg.org/HydrArgs/HydrArgs
if(HydrArgs_discoverer_FOUND)
option(WITH_HYDRARGS "Use HydrArgs for CLI options parsing" OFF)
endif()
endif()
find_package(mio) # https://github.com/mandreyel/mio
if(mio_FOUND)
option(WITH_MIO "Use memory mappings" ON)
endif()
add_subdirectory("${LibSource_dir}")
add_subdirectory("${BinSource_dir}")
option(WITH_TESTS ON "Enable testing")
if(WITH_TESTS)
add_subdirectory("${tests_dir}")
enable_testing()
endif()
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_RPM_COMPONENT_INSTALL ON)
set(CPACK_NSIS_COMPONENT_INSTALL ON)
#set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS ON)
#set(CPACK_RPM_ENABLE_COMPONENT_DEPENDS ON)
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
include(CPack)