snix/third_party/nix/src/libutil/CMakeLists.txt
Luke Granger-Brown 739a45f9e4 chore(3p/nix): use GNUInstallDirs to determine output directory names
This ensures that we install both glog's .a and all the .so files we
generate into a single consistent output lib path (which is, err,
lib64, but whatever).

Change-Id: Ib6ac6eacf5f56e4b719cfb586db731efc122c31b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/544
Reviewed-by: tazjin <mail@tazj.in>
2020-06-21 20:42:28 +00:00

58 lines
1.1 KiB
CMake

# -*- mode: cmake; -*-
add_library(nixutil SHARED)
set_property(TARGET nixutil PROPERTY CXX_STANDARD 17)
include_directories(${PROJECT_BINARY_DIR}) # for config.h
target_compile_features(nixutil PUBLIC cxx_std_17)
set(HEADER_FILES
affinity.hh
archive.hh
args.hh
compression.hh
config.hh
finally.hh
hash.hh
istringstream_nocopy.hh
json.hh
lazy.hh
lru-cache.hh
monitor-fd.hh
pool.hh
prefork-compat.hh
ref.hh
serialise.hh
sync.hh
thread-pool.hh
types.hh
util.hh
xml-writer.hh
)
target_sources(nixutil
PUBLIC
${HEADER_FILES}
PRIVATE
affinity.cc
archive.cc
args.cc
compression.cc
config.cc
hash.cc
json.cc
serialise.cc
thread-pool.cc
util.cc
xml-writer.cc
)
target_link_libraries(nixutil
absl::strings
glog
)
# Install header files to include/libutil and mark them for automatic
# inclusion in targets that link to this one.
target_include_directories(nixutil PUBLIC "${nix_SOURCE_DIR}/src")
INSTALL(FILES ${HEADER_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nix/libutil)
INSTALL(TARGETS nixutil DESTINATION ${CMAKE_INSTALL_LIBDIR})