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
|
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
index 9e8ffe2..2eb28d2 100644
--- a/core/CMakeLists.txt
+++ b/core/CMakeLists.txt
@@ -30,6 +30,7 @@ set(LIBJSONNET_SOURCE
string_utils.cpp
vm.cpp)
+if (BUILD_SHARED_BINARIES)
add_library(libjsonnet ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE})
add_dependencies(libjsonnet md5 stdlib)
target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json ryml)
@@ -53,6 +54,7 @@ install(TARGETS libjsonnet
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
target_include_directories(libjsonnet INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>)
+endif()
if (BUILD_STATIC_LIBS)
# Static library for jsonnet command-line tool.
@@ -112,3 +114,4 @@ if (BUILD_TESTS)
add_test(jsonnet_test_snippet
${GLOBAL_OUTPUT_PATH}/jsonnet -e ${TEST_SNIPPET})
endif()
+install(FILES ${LIB_HEADER} DESTINATION include)
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 153a4a1..08bba4c 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -8,8 +8,8 @@ set(LIBJSONNETPP_SOURCE
libjsonnet++.cpp
)
+if (BUILD_SHARED_BINARIES)
add_library(libjsonnet++ SHARED ${LIBJSONNETPP_HEADERS} ${LIBJSONNETPP_SOURCE})
-add_dependencies(libjsonnet++ jsonnet)
target_link_libraries(libjsonnet++ libjsonnet)
# CMake prepends CMAKE_SHARED_LIBRARY_PREFIX to shared libraries, so without
@@ -25,11 +25,11 @@ install(TARGETS libjsonnet++
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
target_include_directories(libjsonnet++ INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>)
+endif()
if (BUILD_STATIC_LIBS)
# Static library for jsonnet command-line tool.
add_library(libjsonnet++_static STATIC ${LIBJSONNETPP_SOURCE})
- add_dependencies(libjsonnet++_static jsonnet)
target_link_libraries(libjsonnet++_static libjsonnet_static)
set_target_properties(libjsonnet++_static PROPERTIES OUTPUT_NAME jsonnet++)
install(TARGETS libjsonnet++_static DESTINATION "${CMAKE_INSTALL_LIBDIR}")
@@ -43,6 +43,7 @@ else()
add_library(libjsonnet++_for_binaries ALIAS libjsonnet++_static)
endif()
+install(FILES ${LIBJSONNETPP_HEADERS} DESTINATION include)
# Tests
function(add_test_executablepp test_name)
if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/${test_name}.cpp)
|