mirror of
https://github.com/fumiama/base16384.git
synced 2026-06-05 02:00:31 +08:00
53 lines
1.7 KiB
CMake
53 lines
1.7 KiB
CMake
cmake_minimum_required(VERSION 2.8.12...4.1.1)
|
|
if (POLICY CMP0048)
|
|
cmake_policy(SET CMP0048 NEW)
|
|
endif (POLICY CMP0048)
|
|
project(base16384 VERSION 2.3.2)
|
|
|
|
add_definitions(-DBASE16384_VERSION="${PROJECT_VERSION}")
|
|
add_definitions(-DBASE16384_VERSION_DATE="Sep 4th 2025")
|
|
|
|
message(STATUS "Testing endian...")
|
|
include(TestBigEndian)
|
|
test_big_endian(isBigEndian)
|
|
message(STATUS "Is big endian: ${isBigEndian}.")
|
|
if (${isBigEndian})
|
|
add_definitions(-DWORDS_BIGENDIAN)
|
|
endif ()
|
|
|
|
if (BUILD STREQUAL "test")
|
|
add_definitions(-DBASE16384_BUFSZ_FACTOR=1)
|
|
endif ()
|
|
|
|
add_executable(base16384_b base16384.c)
|
|
|
|
IF ((NOT FORCE_32BIT) AND CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
message(STATUS "Adding 64bit libraries...")
|
|
add_definitions(-DIS_64BIT_PROCESSOR)
|
|
add_library(base16384 SHARED wrap.c file.c base1464.c)
|
|
add_library(base16384_s STATIC wrap.c file.c base1464.c)
|
|
ELSE ()
|
|
message(STATUS "Adding 32bit libraries...")
|
|
add_library(base16384 SHARED wrap.c file.c base1432.c)
|
|
add_library(base16384_s STATIC wrap.c file.c base1432.c)
|
|
ENDIF ()
|
|
|
|
set_target_properties(base16384_b PROPERTIES OUTPUT_NAME base16384)
|
|
set_target_properties(base16384_s PROPERTIES OUTPUT_NAME base16384)
|
|
set_target_properties(base16384 PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
|
|
|
|
message(STATUS "Linking libraries...")
|
|
target_link_libraries(base16384_b base16384_s)
|
|
|
|
if (BUILD STREQUAL "test")
|
|
message(STATUS "Building test...")
|
|
enable_testing()
|
|
add_subdirectory(test)
|
|
endif ()
|
|
|
|
INSTALL(TARGETS base16384_b RUNTIME DESTINATION bin)
|
|
INSTALL(TARGETS base16384 LIBRARY DESTINATION lib)
|
|
INSTALL(TARGETS base16384_s ARCHIVE DESTINATION lib)
|
|
INSTALL(FILES base16384.h DESTINATION include)
|
|
INSTALL(FILES base16384.1 DESTINATION share/man/man1)
|