62 lines
2.1 KiB
CMake
62 lines
2.1 KiB
CMake
include(TestBigEndian)
|
|
test_big_endian(HOST_BIGENDIAN)
|
|
|
|
include(CheckTypeSize)
|
|
check_type_size("unsigned int" SIZEOF_UNSIGNED_INT)
|
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/binpac.h.in
|
|
${CMAKE_CURRENT_BINARY_DIR}/binpac.h)
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
|
set(binpac_headers
|
|
${CMAKE_CURRENT_BINARY_DIR}/binpac.h binpac_analyzer.h binpac_buffer.h
|
|
binpac_bytestring.h binpac_exception.h binpac_regex.h)
|
|
|
|
set(binpac_lib_SRCS binpac_buffer.cc binpac_bytestring.cc binpac_regex.cc
|
|
${binpac_headers})
|
|
|
|
if(ENABLE_SHARED)
|
|
add_library(binpac_lib SHARED ${binpac_lib_SRCS})
|
|
target_compile_features(binpac_lib PRIVATE cxx_std_17)
|
|
set_target_properties(
|
|
binpac_lib
|
|
PROPERTIES CXX_EXTENSIONS OFF
|
|
SOVERSION ${BINPAC_SOVERSION}
|
|
VERSION ${BINPAC_VERSION_MAJOR}.${BINPAC_VERSION_MINOR}
|
|
MACOSX_RPATH true
|
|
OUTPUT_NAME binpac)
|
|
install(TARGETS binpac_lib DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
endif()
|
|
|
|
if(ENABLE_STATIC)
|
|
add_library(binpac_static STATIC ${binpac_lib_SRCS})
|
|
target_compile_features(binpac_static PRIVATE cxx_std_17)
|
|
set_target_properties(binpac_static PROPERTIES CXX_EXTENSIONS OFF OUTPUT_NAME
|
|
binpac)
|
|
install(TARGETS binpac_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
endif()
|
|
|
|
if(ZEEK_ROOT_DIR)
|
|
# Installed in binpac subdir just for organization purposes.
|
|
install(FILES ${binpac_headers}
|
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/binpac)
|
|
else()
|
|
install(FILES ${binpac_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
endif()
|
|
|
|
# This is set to assist superprojects that want to build BinPac from source and
|
|
# rely on it as a target
|
|
if(ENABLE_SHARED)
|
|
set(BinPAC_LIBRARY
|
|
binpac_lib
|
|
CACHE STRING "BinPAC library" FORCE)
|
|
else()
|
|
set(BinPAC_LIBRARY
|
|
binpac_static
|
|
CACHE STRING "BinPAC library" FORCE)
|
|
endif()
|
|
|
|
set(BinPAC_INCLUDE_DIR
|
|
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
|
|
CACHE STRING "BinPAC header directories" FORCE)
|