55 lines
2.3 KiB
CMake
55 lines
2.3 KiB
CMake
# -*- CMake -*- file for building spglib for phana
|
|
cmake_minimum_required(VERSION 3.16)
|
|
project(spglib C)
|
|
set(CMAKE_MACOSX_RPATH 1)
|
|
set(CMAKE_C_FLAGS_RELEASE "-Wall -O2")
|
|
set(CMAKE_C_FLAGS_DEBUG "-g -DSPGDEBUG -DSPGWARNING")
|
|
if(NOT CMAKE_BUILD_TYPE)
|
|
set(CMAKE_BUILD_TYPE Release)
|
|
endif(NOT CMAKE_BUILD_TYPE)
|
|
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
|
|
|
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
|
|
# Version numbers
|
|
file(READ ${PROJECT_SOURCE_DIR}/src/version.h version_file)
|
|
string(REGEX MATCH "SPGLIB_MAJOR_VERSION ([0-9]+)" spglib_major_version ${version_file})
|
|
set(spglib_major_version ${CMAKE_MATCH_1})
|
|
string(REGEX MATCH "SPGLIB_MINOR_VERSION ([0-9]+)" spglib_minor_version ${version_file})
|
|
set(spglib_minor_version ${CMAKE_MATCH_1})
|
|
string(REGEX MATCH "SPGLIB_MICRO_VERSION ([0-9]+)" spglib_micro_version ${version_file})
|
|
set(spglib_micro_version ${CMAKE_MATCH_1})
|
|
set(serial "${spglib_major_version}.${spglib_minor_version}.${spglib_micro_version}")
|
|
set(soserial "1")
|
|
|
|
# Source code
|
|
include_directories("${PROJECT_SOURCE_DIR}/src")
|
|
set(SOURCES ${PROJECT_SOURCE_DIR}/src/arithmetic.c
|
|
${PROJECT_SOURCE_DIR}/src/cell.c
|
|
${PROJECT_SOURCE_DIR}/src/debug.c
|
|
${PROJECT_SOURCE_DIR}/src/delaunay.c
|
|
${PROJECT_SOURCE_DIR}/src/determination.c
|
|
${PROJECT_SOURCE_DIR}/src/hall_symbol.c
|
|
${PROJECT_SOURCE_DIR}/src/kgrid.c
|
|
${PROJECT_SOURCE_DIR}/src/kpoint.c
|
|
${PROJECT_SOURCE_DIR}/src/mathfunc.c
|
|
${PROJECT_SOURCE_DIR}/src/niggli.c
|
|
${PROJECT_SOURCE_DIR}/src/overlap.c
|
|
${PROJECT_SOURCE_DIR}/src/pointgroup.c
|
|
${PROJECT_SOURCE_DIR}/src/primitive.c
|
|
${PROJECT_SOURCE_DIR}/src/refinement.c
|
|
${PROJECT_SOURCE_DIR}/src/site_symmetry.c
|
|
${PROJECT_SOURCE_DIR}/src/sitesym_database.c
|
|
${PROJECT_SOURCE_DIR}/src/spacegroup.c
|
|
${PROJECT_SOURCE_DIR}/src/spg_database.c
|
|
${PROJECT_SOURCE_DIR}/src/spglib.c
|
|
${PROJECT_SOURCE_DIR}/src/spin.c
|
|
${PROJECT_SOURCE_DIR}/src/symmetry.c)
|
|
|
|
add_library(symspg STATIC ${SOURCES})
|
|
install(TARGETS symspg ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
|
|
|
# Header file
|
|
install(FILES ${PROJECT_SOURCE_DIR}/src/spglib.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
|
|
|