node/deps/nbytes/CMakeLists.txt
Node.js GitHub Bot be67a3162b
deps: update nbytes to 0.1.4
PR-URL: https://github.com/nodejs/node/pull/62698
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2026-04-14 19:20:43 +00:00

63 lines
1.7 KiB
CMake

cmake_minimum_required(VERSION 3.28)
project(nbytes VERSION 0.1.4) # x-release-please-version
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)
if (NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, default to Release")
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
endif()
option(NBYTES_DEVELOPMENT_CHECKS "Enable development checks" OFF)
include(GNUInstallDirs)
include(FetchContent)
include(CTest)
option(NBYTES_ENABLE_TESTING "Enable testing" ${BUILD_TESTING})
add_subdirectory(src)
if (NBYTES_ENABLE_TESTING)
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip
URL_HASH SHA256=edd885a1ab32b6999515a880f669efadb80b3f880215f315985fa3f6eca7c4d3
FIND_PACKAGE_ARGS NAMES GTest
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
add_subdirectory(tests)
endif()
install(
FILES include/nbytes.h
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
COMPONENT nbytes_development
)
install(
TARGETS nbytes
EXPORT nbytes_targets
RUNTIME COMPONENT nbytes_runtime
LIBRARY COMPONENT nbytes_runtime
NAMELINK_COMPONENT nbytes_development
ARCHIVE COMPONENT nbytes_development
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
)
# Configure and install pkg-config file
configure_file(
"${PROJECT_SOURCE_DIR}/nbytes.pc.in"
"${PROJECT_BINARY_DIR}/nbytes.pc"
@ONLY
)
install(
FILES "${PROJECT_BINARY_DIR}/nbytes.pc"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
COMPONENT nbytes_development
)