45 lines
1.2 KiB
CMake
45 lines
1.2 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
project(numa VERSION 0.0.0 LANGUAGES C)
|
|
|
|
set(CMAKE_C_STANDARD 99)
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
|
set(INSTALL_DIR "/usr/local" CACHE PATH "installation directory")
|
|
option(BUILD_SHARED_LIBS "build as shared library" OFF)
|
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/include)
|
|
|
|
set(SOURCE_FILES numa.c)
|
|
set(HEADER_FILES numa.h)
|
|
|
|
if(BUILD_SHARED_LIBS)
|
|
add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES})
|
|
else()
|
|
add_library(${PROJECT_NAME} STATIC ${SOURCE_FILES})
|
|
endif()
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
|
VERSION ${PROJECT_VERSION}
|
|
COMPATIBILITY SameMajorVersion
|
|
)
|
|
|
|
install(TARGETS ${PROJECT_NAME}
|
|
LIBRARY DESTINATION ${INSTALL_DIR}/lib
|
|
ARCHIVE DESTINATION ${INSTALL_DIR}/lib
|
|
)
|
|
|
|
install(FILES ${HEADER_FILES} DESTINATION ${INSTALL_DIR}/include)
|
|
|
|
message(STATUS "")
|
|
message(STATUS "===== numa configuration summary =====")
|
|
message(STATUS "library name: ${PROJECT_NAME}")
|
|
if(BUILD_SHARED_LIBS)
|
|
message(STATUS "library type: shared")
|
|
else()
|
|
message(STATUS "library type: static")
|
|
endif()
|
|
message(STATUS "install directory: ${INSTALL_DIR}")
|
|
message(STATUS "======================================")
|
|
message(STATUS "")
|