forked from Green-Sky/tomato
Green Sky
8eb4892b49
6d634674a9 cleanup: Remove old type-ordered event getters. d1d48d1dfc feat: add ngc events 994ffecc6b refactor: Make event dispatch ordered by receive time. 812f931d5f fix: Make sure there's enough space for CONSUME1 in fuzzers. 50f1b30fa9 test: Add fuzz tests to the coverage run. df76f5cf47 chore: Move from gcov to llvm source-based coverage. 072e3beb3f fix: issues with packet broadcast error reporting 6b6718e4d2 cleanup: Make group packet entry creation less error-prone 5b9c420ce1 refactor: packet broadcast functions now return errors af4cb31028 refactor: Use `operator==` for equality tests of `Node_format`. 9592d590cf refactor(test): Slightly nicer C++ interface to tox Random. c66e10fb7a refactor: Minor refactoring of get_close_nodes functions. ebc9643862 fix: don't pass garbage data buffer to packet send functions 32b68cffca cleanup: Some more test cleanups, removing overly smart code. 0426624dcb refactor: Assign malloc return to a local variable first. afc38f2458 test: Add more unit tests for `add_to_list`. 05ce5c1ab9 test: Add "infer" CI check to github, remove from circle. REVERT: 8f0d505f9a feat: add ngc events REVERT: 9b8216e70c refactor: Make event dispatch ordered by receive time. git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: 6d634674a929edb0ab70689dcbcb195b3547be13
66 lines
1.9 KiB
CMake
66 lines
1.9 KiB
CMake
option(ENABLE_SHARED "Build shared (dynamic) libraries for all modules" ON)
|
|
option(ENABLE_STATIC "Build static libraries for all modules" ON)
|
|
|
|
if(NOT ENABLE_SHARED AND NOT ENABLE_STATIC)
|
|
message(WARNING
|
|
"Both static and shared libraries are disabled; "
|
|
"enabling only shared libraries. Use -DENABLE_SHARED or -DENABLE_STATIC to "
|
|
"select one manually.")
|
|
set(ENABLE_SHARED ON)
|
|
endif()
|
|
|
|
option(FULLY_STATIC "Build fully static executables" OFF)
|
|
if(FULLY_STATIC)
|
|
set(CMAKE_EXE_LINKER_FLAGS "-static -no-pie")
|
|
# remove -Wl,-Bdynamic
|
|
set(CMAKE_EXE_LINK_DYNAMIC_C_FLAGS)
|
|
set(CMAKE_EXE_LINK_DYNAMIC_CXX_FLAGS)
|
|
set(ENABLE_SHARED OFF)
|
|
set(ENABLE_STATIC ON)
|
|
endif()
|
|
|
|
function(install_module lib)
|
|
if(TARGET ${lib}_shared)
|
|
set_target_properties(${lib}_shared PROPERTIES
|
|
VERSION ${SOVERSION}
|
|
SOVERSION ${SOVERSION_MAJOR}
|
|
)
|
|
install(TARGETS ${lib}_shared
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
endif()
|
|
if(TARGET ${lib}_static)
|
|
install(TARGETS ${lib}_static
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
endif()
|
|
|
|
string(REPLACE ";" " " ${lib}_PKGCONFIG_LIBS "${${lib}_PKGCONFIG_LIBS}")
|
|
string(REPLACE ";" " " ${lib}_PKGCONFIG_REQUIRES "${${lib}_PKGCONFIG_REQUIRES}")
|
|
|
|
configure_file(
|
|
"${${lib}_SOURCE_DIR}/other/pkgconfig/${lib}.pc.in"
|
|
"${CMAKE_BINARY_DIR}/${lib}.pc"
|
|
@ONLY
|
|
)
|
|
|
|
configure_file(
|
|
"${toxcore_SOURCE_DIR}/other/rpm/${lib}.spec.in"
|
|
"${CMAKE_BINARY_DIR}/${lib}.spec"
|
|
@ONLY
|
|
)
|
|
|
|
install(FILES
|
|
${CMAKE_BINARY_DIR}/${lib}.pc
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
|
|
|
foreach(sublib ${${lib}_API_HEADERS})
|
|
string(REPLACE "^" ";" sublib ${sublib})
|
|
list(GET sublib 0 header)
|
|
|
|
install(FILES ${header} ${ARGN})
|
|
endforeach()
|
|
endfunction()
|