Skip to content

Commit 1104ccb

Browse files
committed
Fix most issues in CMake scripts
1 parent f0bc205 commit 1104ccb

File tree

3 files changed

+34
-34
lines changed

3 files changed

+34
-34
lines changed

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ execute_process(
5252

5353
# get current date
5454
execute_process(
55-
COMMAND env LC_ALL=C date -u "+%Y-%m-%d %H:%M:%S %Z"
56-
OUTPUT_VARIABLE BUILD_DATE
57-
OUTPUT_STRIP_TRAILING_WHITESPACE
55+
COMMAND env LC_ALL=C date -u "+%Y-%m-%d %H:%M:%S %Z"
56+
OUTPUT_VARIABLE BUILD_DATE
57+
OUTPUT_STRIP_TRAILING_WHITESPACE
5858
)
5959

6060
# config.h contains some global defines, our config.h.in is a modified version of the upstream config.h.in to make it

lib/libzsync/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ set(CMAKE_POSITION_INDEPENDENT_CODE true)
88
enable_testing()
99

1010
# add actual library
11-
add_library(libzsync zsync.c zmap.c sha1.c)
11+
add_library(libzsync OBJECT zsync.c zmap.c sha1.c)
1212

1313
# since the target is called libsomething, one doesn't need CMake's additional lib prefix
1414
set_target_properties(libzsync PROPERTIES PREFIX "")

src/CMakeLists.txt

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,52 @@
1-
set(CMAKE_MINIMUM_REQUIRED_VERSION 3.2)
1+
cmake_minimum_required(VERSION 3.2)
22

33
set(CMAKE_CXX_STANDARD 11)
44
set(CMAKE_POSITION_INDEPENDENT_CODE true)
55

6-
if(LIBCURL_FOUND)
7-
add_definitions(-DHAVE_LIBCURL=1)
8-
endif()
9-
if(LIBSOCKET_FOUND)
10-
add_definitions(-DHAVE_LIBSOCKET=1)
11-
endif()
6+
# fix CPR target
7+
target_include_directories(cpr PUBLIC ${CPR_INCLUDE_DIRS})
128

13-
# include cpr
14-
include_directories(${CPR_INCLUDE_DIRS})
15-
16-
# config.h contains some global defines, our config.h.in is a modified version of the upstream config.h.in to make it
17-
# integrate with CMake
18-
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
19-
# since there's headers in the build directory now, include that as well
20-
include_directories(${CMAKE_CURRENT_BINARY_DIR})
21-
22-
set(ZSYNC2_DEPS ${CPR_LIBRARIES} libzsync hashlib)
23-
set(LIBZSYNC2_DEPS ${ZSYNC2_DEPS})
24-
set(ZSYNC2_HDRS
9+
# core library
10+
add_library(libzsync2 SHARED
11+
zsclient.cpp
12+
legacy_http.c
13+
legacy_progress.c
14+
zsmake.cpp
15+
${ZSYNC2_SRCS} ${ZSYNC2_HDRS}
2516
format_string.h
2617
${CMAKE_CURRENT_BINARY_DIR}/config.h
2718
${PROJECT_SOURCE_DIR}/include/zsutil.h
2819
${PROJECT_SOURCE_DIR}/include/zsclient.h
2920
${PROJECT_SOURCE_DIR}/include/zsglobal.h
3021
${PROJECT_SOURCE_DIR}/include/zsmake.h
3122
)
32-
set(ZSYNC2_SRCS zsclient.cpp legacy_http.c legacy_progress.c zsmake.cpp)
33-
34-
# core library
35-
add_library(libzsync2 ${ZSYNC2_SRCS})
3623
# since the target is called libsomething, one doesn't need CMake's additional lib prefix
3724
set_target_properties(libzsync2 PROPERTIES PREFIX "")
38-
target_link_libraries(libzsync2 PUBLIC ${LIBZSYNC2_DEPS})
39-
target_include_directories(libzsync2 PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>)
25+
target_link_libraries(libzsync2 PRIVATE cpr libzsync hashlib)
26+
target_include_directories(libzsync2
27+
PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
28+
INTERFACE $<INSTALL_INTERFACE:include>
29+
)
30+
31+
if(LIBCURL_FOUND)
32+
target_compile_definitions(libzsync2 PRIVATE HAVE_LIBCURL=1)
33+
endif()
34+
if(LIBSOCKET_FOUND)
35+
target_compile_definitions(libzsync2 PRIVATE HAVE_LIBSOCKET=1)
36+
endif()
4037

4138
# core executable
42-
add_executable(zsync2 ${ZSYNC2_SRCS} ${ZSYNC2_HDRS} main.cpp)
43-
target_include_directories(zsync2 PRIVATE ${PROJECT_SOURCE_DIR}/include)
44-
target_link_libraries(zsync2 PRIVATE ${LIBZSYNC2_DEPS} args)
39+
add_executable(zsync2 main.cpp)
40+
target_link_libraries(zsync2 PRIVATE libzsync2 args)
4541
target_compile_definitions(zsync2 PRIVATE -DZSYNC_STANDALONE)
42+
# TODO: get rid of this
43+
target_link_libraries(zsync2 PRIVATE cpr)
4644

4745
## zsyncmake2 executable
48-
add_executable(zsyncmake2 ${ZSYNC2_SRCS} ${ZSYNC2_HDRS} make_main.cpp)
49-
target_link_libraries(zsyncmake2 ${ZSYNC2_DEPS} args)
46+
add_executable(zsyncmake2 make_main.cpp)
47+
target_link_libraries(zsyncmake2 PRIVATE libzsync2 args)
48+
# TODO: get rid of this
49+
target_link_libraries(zsyncmake2 PRIVATE cpr)
5050

5151
# install targets
5252
install(

0 commit comments

Comments
 (0)