blob: e9597028721e4b1b29acb424405c00fb2b7f8e4b (
plain) (
blame)
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
|
include_directories(
${CMAKE_SOURCE_DIR}/include
${CMAKE_BINARY_DIR}/include
${OpenSSL_INCLUDE_DIRS}
${CURL_INCLUDE_DIRS}
)
set(libspm_src
config.c
compat.c
resolve.c
fs.c
rpath.c
shell.c
archive.c
str.c
relocation.c
install.c
config_global.c
manifest.c
checksum.c
extern/url.c
version_spec.c
spm_build.c
mime.c
internal_cmd.c
environment.c
mirrors.c
strlist.c
shlib.c
user_input.c
metadata.c
purge.c
error_handler.c
)
add_library(libspm_obj OBJECT ${libspm_src})
set_property(TARGET libspm_obj PROPERTY POSITION_INDEPENDENT_CODE 1)
add_library(libspm SHARED $<TARGET_OBJECTS:libspm_obj>)
add_library(libspm_static STATIC $<TARGET_OBJECTS:libspm_obj>)
target_link_directories(libspm PUBLIC ${OpenSSL_LIBRARY_DIRS} ${CURL_LIBRARY_DIRS})
target_link_libraries(libspm ${OpenSSL_LIBRARIES} ${CURL_LIBRARIES})
if (LINUX)
target_link_libraries(libspm rt)
endif()
if(MSVC)
target_compile_options(libspm PUBLIC /W4 /WX)
else()
target_compile_options(libspm PUBLIC -Wall -Wextra -fstack-protector)
endif()
set_target_properties(libspm PROPERTIES OUTPUT_NAME "spm")
install(
TARGETS libspm
LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
)
|