File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change
1
+ # SPDX-FileCopyrightText: 2024 Binsparse Developers
2
+ #
3
+ # SPDX-License-Identifier: BSD-3-Clause
4
+
5
+ cmake_minimum_required (VERSION 3.5)
6
+ project (binsparse-rc)
7
+
8
+ cmake_policy (SET CMP0079 NEW)
9
+
10
+ set (CMAKE_C_STANDARD 11)
11
+
12
+ set (CMAKE_CXX_STANDARD 20)
13
+
14
+ set (CMAKE_C_FLAGS "-O3 -march=native" )
15
+
16
+ add_library (binsparse-rc SHARED)
17
+
18
+ add_subdirectory (include )
19
+ add_subdirectory (src)
20
+
21
+ # NOTE: For now, both HDF5 and cJSON are `PUBLIC`, meaning that anything that
22
+ # depends on `binsparse-rc` will also link/include HDF5 and cJSON. We can change
23
+ # these to `PRIVATE` to use them only when building binsparse-rc.
24
+
25
+ find_package (HDF5 REQUIRED COMPONENTS C)
26
+ target_link_libraries (binsparse-rc PUBLIC ${HDF5_C_LIBRARIES} )
27
+ target_include_directories (binsparse-rc PUBLIC . ${HDF5_INCLUDE_DIRS} )
28
+
29
+ include (FetchContent)
30
+ FetchContent_Declare(
31
+ cJSON
32
+ GIT_REPOSITORY https://github.com/DaveGamble/cJSON.git
33
+ GIT_TAG v1.7.17
34
+ )
35
+ FetchContent_MakeAvailable(cJSON)
36
+
37
+ configure_file (${cJSON_SOURCE_DIR} /cJSON.h ${CMAKE_BINARY_DIR} /include /cJSON/cJSON.h)
38
+ target_include_directories (${PROJECT_NAME} PUBLIC ${CMAKE_BINARY_DIR} /include )
39
+ target_link_libraries (${PROJECT_NAME} PUBLIC cjson)
40
+
41
+ if (CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME )
42
+ add_subdirectory (examples)
43
+ add_subdirectory (test )
44
+ endif ()
You can’t perform that action at this time.
0 commit comments