mirror of
https://github.com/eclipse-mosquitto/mosquitto.git
synced 2026-09-21 07:13:46 +08:00
Add build configuration for CPP static library
The CPP static library respects options BUILD_STATIC_LIBRARY and WITH_PIC as well. Signed-off-by: Lance Chen <cyen0312@gmail.com>
This commit is contained in:
+33
-2
@@ -2,8 +2,14 @@ include_directories(${mosquitto_SOURCE_DIR}/lib ${mosquitto_SOURCE_DIR}/lib/cpp
|
||||
${STDBOOL_H_PATH} ${STDINT_H_PATH})
|
||||
link_directories(${mosquitto_BINARY_DIR}/lib)
|
||||
|
||||
add_library(mosquittopp SHARED
|
||||
mosquittopp.cpp mosquittopp.h)
|
||||
set(C_SRC mosquittopp.cpp mosquittopp.h)
|
||||
|
||||
add_library(mosquittopp_obj OBJECT ${C_SRC})
|
||||
set_target_properties(mosquittopp_obj PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE 1
|
||||
)
|
||||
|
||||
add_library(mosquittopp SHARED $<TARGET_OBJECTS:mosquittopp_obj>)
|
||||
|
||||
target_link_libraries(mosquittopp libmosquitto)
|
||||
set_target_properties(mosquittopp PROPERTIES
|
||||
@@ -11,6 +17,31 @@ set_target_properties(mosquittopp PROPERTIES
|
||||
SOVERSION 1
|
||||
)
|
||||
install(TARGETS mosquittopp RUNTIME DESTINATION ${BINDIR} LIBRARY DESTINATION ${LIBDIR})
|
||||
|
||||
if (${BUILD_STATIC_LIBRARY} STREQUAL ON)
|
||||
if (${WITH_PIC} STREQUAL OFF)
|
||||
add_library(mosquittopp_static STATIC
|
||||
$<TARGET_OBJECTS:libmosquitto_obj>
|
||||
${C_SRC}
|
||||
)
|
||||
else (${WITH_PIC} STREQUAL OFF)
|
||||
add_library(mosquittopp_static STATIC
|
||||
$<TARGET_OBJECTS:libmosquitto_obj>
|
||||
$<TARGET_OBJECTS:mosquittopp_obj>
|
||||
)
|
||||
endif (${WITH_PIC} STREQUAL OFF)
|
||||
|
||||
target_link_libraries(mosquittopp_static ${LIBRARIES})
|
||||
|
||||
set_target_properties(mosquittopp_static PROPERTIES
|
||||
OUTPUT_NAME mosquittopp
|
||||
VERSION ${VERSION}
|
||||
)
|
||||
|
||||
target_compile_definitions(mosquittopp_static PUBLIC "LIBMOSQUITTO_STATIC")
|
||||
install(TARGETS mosquittopp_static RUNTIME DESTINATION ${BINDIR} ARCHIVE DESTINATION ${LIBDIR})
|
||||
endif (${BUILD_STATIC_LIBRARY} STREQUAL ON)
|
||||
|
||||
install(FILES mosquittopp.h DESTINATION ${INCLUDEDIR})
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
|
||||
Reference in New Issue
Block a user