186 lines
8.3 KiB
Plaintext
186 lines
8.3 KiB
Plaintext
--- CMakeLists.txt.orig 2023-12-13 10:39:37 UTC
|
|
+++ CMakeLists.txt
|
|
@@ -6,7 +6,7 @@ file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/include/gemm
|
|
string(REGEX REPLACE ".+\"([0-9]+\.[0-9]+\.[0-9]+)(-dev)?\"" "\\1"
|
|
gemmi_version_str ${gemmi_version_line})
|
|
|
|
-project(gemmi LANGUAGES C CXX VERSION ${gemmi_version_str})
|
|
+project(gemmi_python LANGUAGES C CXX VERSION ${gemmi_version_str})
|
|
message(STATUS "Gemmi version ${PROJECT_VERSION}")
|
|
|
|
include(GNUInstallDirs) # for CMAKE_INSTALL_LIBDIR, etc
|
|
@@ -176,37 +176,39 @@ endif()
|
|
# target_link_libraries(fgemmi PRIVATE cgemmi)
|
|
#endif()
|
|
|
|
-add_library(gemmi_headers INTERFACE)
|
|
-add_library(gemmi::headers ALIAS gemmi_headers)
|
|
-target_include_directories(gemmi_headers INTERFACE
|
|
- "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
|
|
- "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
|
|
-target_compile_features(gemmi_headers INTERFACE cxx_std_11)
|
|
-set_target_properties(gemmi_headers PROPERTIES EXPORT_NAME headers)
|
|
+#add_library(gemmi_headers INTERFACE)
|
|
+#add_library(gemmi::headers ALIAS gemmi_headers)
|
|
+#target_include_directories(gemmi_headers INTERFACE
|
|
+# "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
|
|
+# "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
|
|
+#target_compile_features(gemmi_headers INTERFACE cxx_std_11)
|
|
+#set_target_properties(gemmi_headers PROPERTIES EXPORT_NAME headers)
|
|
|
|
-add_library(gemmi_cpp
|
|
- src/align.cpp src/assembly.cpp src/calculate.cpp src/crd.cpp
|
|
- src/ddl.cpp src/eig3.cpp
|
|
- src/mmcif.cpp src/mmread_gz.cpp src/mtz.cpp src/mtz2cif.cpp
|
|
- src/polyheur.cpp src/read_cif.cpp src/resinfo.cpp
|
|
- src/riding_h.cpp src/sprintf.cpp src/to_mmcif.cpp
|
|
- src/to_pdb.cpp src/monlib.cpp src/topo.cpp src/xds_ascii.cpp)
|
|
-add_library(gemmi::gemmi_cpp ALIAS gemmi_cpp)
|
|
-set_property(TARGET gemmi_cpp PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
+#add_library(gemmi_cpp
|
|
+# src/align.cpp src/assembly.cpp src/calculate.cpp src/crd.cpp
|
|
+# src/ddl.cpp src/eig3.cpp
|
|
+# src/mmcif.cpp src/mmread_gz.cpp src/mtz.cpp src/mtz2cif.cpp
|
|
+# src/polyheur.cpp src/read_cif.cpp src/resinfo.cpp
|
|
+# src/riding_h.cpp src/sprintf.cpp src/to_mmcif.cpp
|
|
+# src/to_pdb.cpp src/monlib.cpp src/topo.cpp src/xds_ascii.cpp)
|
|
+#add_library(gemmi::gemmi_cpp ALIAS gemmi_cpp)
|
|
+#set_property(TARGET gemmi_cpp PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
#set_property(TARGET gemmi_cpp PROPERTY CXX_VISIBILITY_PRESET hidden)
|
|
-target_compile_definitions(gemmi_cpp PRIVATE GEMMI_BUILD)
|
|
-target_include_directories(gemmi_cpp PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/third_party")
|
|
+#target_compile_definitions(gemmi_cpp PRIVATE GEMMI_BUILD)
|
|
+#target_include_directories(gemmi_cpp PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/third_party")
|
|
|
|
-if (BUILD_SHARED_LIBS)
|
|
- target_compile_definitions(gemmi_cpp PUBLIC GEMMI_SHARED)
|
|
-endif()
|
|
-target_link_libraries(gemmi_cpp PUBLIC gemmi_headers)
|
|
-support_gz(gemmi_cpp)
|
|
+#if (BUILD_SHARED_LIBS)
|
|
+# target_compile_definitions(gemmi_cpp PUBLIC GEMMI_SHARED)
|
|
+#endif()
|
|
+#target_link_libraries(gemmi_cpp PUBLIC gemmi_headers)
|
|
+#support_gz(gemmi_cpp)
|
|
|
|
+find_package(gemmi REQUIRED)
|
|
+
|
|
### programs from prog/ ###
|
|
|
|
add_library(options OBJECT prog/options.cpp)
|
|
-target_link_libraries(options PUBLIC gemmi_headers)
|
|
+#target_link_libraries(options PUBLIC gemmi_headers)
|
|
target_include_directories(options PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/third_party")
|
|
if (GEMMI_VERSION_INFO)
|
|
target_compile_definitions(options PRIVATE GEMMI_VERSION_INFO=${GEMMI_VERSION_INFO})
|
|
@@ -218,11 +220,11 @@ function(add_single_prog target)
|
|
cmake_parse_arguments(arg "NOLIB;GZ" "ADD_SRC" "" ${ARGN})
|
|
add_executable(gemmi-${target} EXCLUDE_FROM_ALL prog/${target}.cpp ${arg_ADD_SRC}
|
|
$<TARGET_OBJECTS:options>)
|
|
- if (arg_NOLIB)
|
|
- target_link_libraries(gemmi-${target} PRIVATE gemmi_headers)
|
|
- else()
|
|
- target_link_libraries(gemmi-${target} PRIVATE gemmi_cpp)
|
|
- endif()
|
|
+ #if (arg_NOLIB)
|
|
+ # target_link_libraries(gemmi-${target} PRIVATE gemmi_headers)
|
|
+ #else()
|
|
+ # target_link_libraries(gemmi-${target} PRIVATE gemmi_cpp)
|
|
+ #endif()
|
|
target_include_directories(gemmi-${target} PRIVATE
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/third_party")
|
|
if (arg_GZ)
|
|
@@ -279,7 +281,7 @@ add_executable(gemmi_prog
|
|
prog/xds2mtz.cpp
|
|
$<TARGET_OBJECTS:options>)
|
|
add_executable(gemmi::prog ALIAS gemmi_prog)
|
|
-target_link_libraries(gemmi_prog PRIVATE gemmi_cpp)
|
|
+target_link_libraries(gemmi_prog PRIVATE gemmi)
|
|
support_gz(gemmi_prog)
|
|
target_include_directories(gemmi_prog PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/third_party")
|
|
target_compile_definitions(gemmi_prog PRIVATE GEMMI_ALL_IN_ONE=1)
|
|
@@ -324,10 +326,10 @@ target_link_libraries(doc_example PRIVATE gemmi_header
|
|
add_executable(doc_example2 EXCLUDE_FROM_ALL docs/code/cif_cc.cpp)
|
|
target_link_libraries(doc_example2 PRIVATE gemmi_headers)
|
|
add_executable(doc_maybegz EXCLUDE_FROM_ALL docs/code/maybegz.cpp docs/code/mutate.cpp)
|
|
-target_link_libraries(doc_maybegz PRIVATE gemmi_cpp)
|
|
+target_link_libraries(doc_maybegz PRIVATE gemmi)
|
|
support_gz(doc_maybegz)
|
|
add_executable(doc_newmtz EXCLUDE_FROM_ALL docs/code/newmtz.cpp)
|
|
-target_link_libraries(doc_newmtz PRIVATE gemmi_cpp)
|
|
+target_link_libraries(doc_newmtz PRIVATE gemmi)
|
|
support_gz(doc_newmtz)
|
|
|
|
# always compile these tests with assertions enabled
|
|
@@ -336,7 +338,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU|Intel")
|
|
endif()
|
|
|
|
add_executable(test_disulf EXCLUDE_FROM_ALL tests/disulf.cpp)
|
|
-target_link_libraries(test_disulf PRIVATE gemmi_cpp)
|
|
+target_link_libraries(test_disulf PRIVATE gemmi)
|
|
support_gz(test_disulf)
|
|
|
|
# auth_label requires <experimental/filesystem> and -lstdc++fs
|
|
@@ -348,7 +350,7 @@ endif()
|
|
support_gz(auth_label)
|
|
|
|
add_executable(check_conn EXCLUDE_FROM_ALL examples/check_conn.cpp)
|
|
-target_link_libraries(check_conn PRIVATE gemmi_cpp)
|
|
+target_link_libraries(check_conn PRIVATE gemmi)
|
|
|
|
enable_testing()
|
|
|
|
@@ -385,7 +387,7 @@ if (benchmark_FOUND)
|
|
foreach(b stoi elem mod niggli pdb resinfo round sym writecif)
|
|
add_executable(${b}-bm EXCLUDE_FROM_ALL benchmarks/${b}.cpp)
|
|
if (b MATCHES "resinfo|pdb|writecif")
|
|
- target_link_libraries(${b}-bm PRIVATE gemmi_cpp)
|
|
+ target_link_libraries(${b}-bm PRIVATE gemmi)
|
|
endif()
|
|
target_link_libraries(${b}-bm PRIVATE gemmi_headers benchmark::benchmark)
|
|
set_property(TARGET ${b}-bm PROPERTY RUNTIME_OUTPUT_DIRECTORY
|
|
@@ -421,9 +423,8 @@ if (USE_PYTHON)
|
|
python/mtz.cpp python/read.cpp python/recgrid.cpp
|
|
python/scaling.cpp python/search.cpp
|
|
python/sf.cpp python/sym.cpp python/topo.cpp
|
|
- python/unitcell.cpp python/write.cpp
|
|
- $<TARGET_OBJECTS:gemmi_cpp>)
|
|
- target_link_libraries(gemmi_py PRIVATE gemmi_headers)
|
|
+ python/unitcell.cpp python/write.cpp)
|
|
+ target_link_libraries(gemmi_py PRIVATE gemmi::gemmi_cpp)
|
|
set_property(TARGET gemmi_py PROPERTY OUTPUT_NAME gemmi)
|
|
if(CMAKE_CXX_FLAGS MATCHES "-Wshadow")
|
|
target_compile_options(gemmi_py PRIVATE "-Wno-shadow")
|
|
@@ -450,19 +451,19 @@ if (BUILD_GEMMI_PROGRAM)
|
|
install(TARGETS gemmi_prog EXPORT GemmiTargets)
|
|
endif()
|
|
|
|
-if (INSTALL_DEV_FILES)
|
|
+#if (INSTALL_DEV_FILES)
|
|
# In CMake 3.23 we'll be able to use FILE_SET to install the headers
|
|
- install(DIRECTORY include/gemmi DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
- install(TARGETS gemmi_headers gemmi_cpp EXPORT GemmiTargets)
|
|
- install(EXPORT GemmiTargets FILE gemmi-targets.cmake NAMESPACE gemmi::
|
|
- DESTINATION "${GEMMI_INSTALL_CMAKEDIR}")
|
|
- install(FILES
|
|
- "${CMAKE_CURRENT_BINARY_DIR}/gemmi-config.cmake"
|
|
- "${CMAKE_CURRENT_BINARY_DIR}/gemmi-config-version.cmake"
|
|
- DESTINATION "${GEMMI_INSTALL_CMAKEDIR}")
|
|
-elseif (BUILD_SHARED_LIBS AND BUILD_GEMMI_PROGRAM)
|
|
- install(TARGETS gemmi_cpp)
|
|
-endif()
|
|
+ #install(DIRECTORY include/gemmi DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
+ #install(TARGETS gemmi_headers gemmi_cpp EXPORT GemmiTargets)
|
|
+ #install(EXPORT GemmiTargets FILE gemmi-targets.cmake NAMESPACE gemmi::
|
|
+ # DESTINATION "${GEMMI_INSTALL_CMAKEDIR}")
|
|
+ #install(FILES
|
|
+ # "${CMAKE_CURRENT_BINARY_DIR}/gemmi-config.cmake"
|
|
+ # "${CMAKE_CURRENT_BINARY_DIR}/gemmi-config-version.cmake"
|
|
+ # DESTINATION "${GEMMI_INSTALL_CMAKEDIR}")
|
|
+#elseif (BUILD_SHARED_LIBS AND BUILD_GEMMI_PROGRAM)
|
|
+# install(TARGETS gemmi_cpp)
|
|
+#endif()
|
|
|
|
if (USE_PYTHON)
|
|
if (DEFINED PYTHON_INSTALL_DIR)
|