- workaround for https://github.com/project-gemmi/gemmi/issues/257

--- CMakeLists.txt.orig	2023-03-06 11:12:31 UTC
+++ CMakeLists.txt
@@ -182,21 +182,23 @@ if (GEMMI_VERSION_INFO)
   target_compile_definitions(options PRIVATE GEMMI_VERSION_INFO=${GEMMI_VERSION_INFO})
 endif()
 
-add_library(gemmi_cpp
-            src/crd.cpp src/mmcif.cpp src/mtz.cpp src/mtz2cif.cpp
-            src/polyheur.cpp
-            src/read_cif.cpp src/mmread_gz.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)
-set_property(TARGET gemmi_cpp PROPERTY POSITION_INDEPENDENT_CODE ON)
+#add_library(gemmi_cpp
+#            src/crd.cpp src/mmcif.cpp src/mtz.cpp src/mtz2cif.cpp
+#            src/polyheur.cpp
+#            src/read_cif.cpp src/mmread_gz.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)
+#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_compile_definitions(gemmi_cpp PRIVATE GEMMI_BUILD)
 if (BUILD_SHARED_LIBS)
-  target_compile_definitions(gemmi_cpp PUBLIC GEMMI_SHARED)
+  #target_compile_definitions(gemmi_cpp PUBLIC GEMMI_SHARED)
 endif()
-support_gz(gemmi_cpp)
+#support_gz(gemmi_cpp)
 
+find_package(gemmi REQUIRED)
 
+
 # Gemmi subcommands compiled as individual binaries.
 # Not built by default and used mostly for testing.
 function(add_single_prog target)
@@ -204,7 +206,7 @@ function(add_single_prog target)
   add_executable(gemmi-${target} EXCLUDE_FROM_ALL prog/${target}.cpp ${arg_ADD_SRC}
                  $<TARGET_OBJECTS:options>)
   if (NOT arg_NOLIB)
-    target_link_libraries(gemmi-${target} PRIVATE gemmi_cpp)
+    #target_link_libraries(gemmi-${target} PRIVATE gemmi_cpp)
   endif()
   if (arg_GZ)
     support_gz(gemmi-${target})
@@ -243,29 +245,29 @@ add_single_prog(wcn)
 add_single_prog(xds2mtz GZ)
 
 # gemmi program with a number of subcommands
-add_executable(gemmi_prog
-               prog/align.cpp prog/blobs.cpp
-               prog/cif2mtz.cpp prog/cif2json.cpp prog/contact.cpp
-               prog/contents.cpp prog/convert.cpp prog/fprime.cpp
-               prog/grep.cpp prog/h.cpp prog/json2cif.cpp
-               prog/main.cpp prog/map.cpp prog/map2sf.cpp
-               prog/mapcoef.cpp prog/mask.cpp
-               prog/merge.cpp prog/mondiff.cpp prog/mtz.cpp prog/mtz2cif.cpp
-               prog/prep.cpp prog/reindex.cpp prog/residues.cpp prog/rmsz.cpp
-               prog/sf2map.cpp prog/sfcalc.cpp prog/sg.cpp prog/tags.cpp
-               prog/validate.cpp prog/validate_mon.cpp prog/wcn.cpp
-               prog/xds2mtz.cpp
-               $<TARGET_OBJECTS:options>)
-target_link_libraries(gemmi_prog PRIVATE gemmi_cpp)
-support_gz(gemmi_prog)
-target_compile_definitions(gemmi_prog PRIVATE GEMMI_ALL_IN_ONE=1)
-set_property(TARGET gemmi_prog PROPERTY OUTPUT_NAME gemmi)
+#add_executable(gemmi_prog
+#               prog/align.cpp prog/blobs.cpp
+#               prog/cif2mtz.cpp prog/cif2json.cpp prog/contact.cpp
+#               prog/contents.cpp prog/convert.cpp prog/fprime.cpp
+#               prog/grep.cpp prog/h.cpp prog/json2cif.cpp
+#               prog/main.cpp prog/map.cpp prog/map2sf.cpp
+#               prog/mapcoef.cpp prog/mask.cpp
+#               prog/merge.cpp prog/mondiff.cpp prog/mtz.cpp prog/mtz2cif.cpp
+#               prog/prep.cpp prog/reindex.cpp prog/residues.cpp prog/rmsz.cpp
+#               prog/sf2map.cpp prog/sfcalc.cpp prog/sg.cpp prog/tags.cpp
+#               prog/validate.cpp prog/validate_mon.cpp prog/wcn.cpp
+#               prog/xds2mtz.cpp
+#               $<TARGET_OBJECTS:options>)
+#target_link_libraries(gemmi_prog PRIVATE gemmi_cpp)
+#support_gz(gemmi_prog)
+#target_compile_definitions(gemmi_prog PRIVATE GEMMI_ALL_IN_ONE=1)
+#set_property(TARGET gemmi_prog PROPERTY OUTPUT_NAME gemmi)
 if (WIN32 AND USE_WMAIN)
   # _UNICODE=1 is now set globally
   #target_compile_definitions(gemmi_prog PRIVATE _UNICODE=1)
   if(MINGW)
     # target_link_options were added in cmake 3.13
-    set_property(TARGET gemmi_prog PROPERTY LINK_FLAGS "-municode")
+    #set_property(TARGET gemmi_prog PROPERTY LINK_FLAGS "-municode")
   endif()
 endif()
 
@@ -284,10 +286,10 @@ add_executable(doc_example EXCLUDE_FROM_ALL
                docs/code/cell.cpp src/resinfo.cpp)
 add_executable(doc_example2 EXCLUDE_FROM_ALL docs/code/cif_cc.cpp)
 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
@@ -296,7 +298,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
@@ -307,7 +309,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()
 
@@ -344,7 +346,7 @@ if (benchmark_FOUND)
   foreach(b stoi elem mod niggli pdb resinfo round sym)
     add_executable(${b}-bm EXCLUDE_FROM_ALL benchmarks/${b}.cpp)
     if (b MATCHES "resinfo|pdb")
-      target_link_libraries(${b}-bm PRIVATE gemmi_cpp)
+      target_link_libraries(${b}-bm PRIVATE gemmi)
     endif()
     target_link_libraries(${b}-bm PRIVATE benchmark::benchmark)
     set_property(TARGET ${b}-bm PROPERTY RUNTIME_OUTPUT_DIRECTORY
@@ -372,8 +374,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/refine.cpp
-          python/unitcell.cpp python/write.cpp
-          $<TARGET_OBJECTS:gemmi_cpp>)
+          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")
@@ -396,18 +398,18 @@ write_basic_package_version_file(gemmi-config-version.
                                  COMPATIBILITY AnyNewerVersion)
 
 # 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(DIRECTORY include/gemmi DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
 
-install(TARGETS gemmi_prog gemmi_cpp
-        EXPORT GemmiTargets
-        INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+#install(TARGETS gemmi_prog gemmi_cpp
+#        EXPORT GemmiTargets
+#        INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
 
-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}")
+#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}")
 
 if (USE_PYTHON)
   if (DEFINED PYTHON_INSTALL_DIR)
@@ -421,8 +423,8 @@ if (USE_PYTHON)
   # and don't respect CMAKE_INSTALL_PREFIX.
   # https://discourse.cmake.org/t/findpython3-how-to-specify-local-installation-directory-for-python-module/3580/5
   install(TARGETS gemmi_py DESTINATION "${Python_SITEARCH}")
-  install(DIRECTORY examples/ DESTINATION "${Python_SITELIB}/gemmi-examples"
-          FILES_MATCHING PATTERN "*.py")
+  #install(DIRECTORY examples/ DESTINATION "${Python_SITELIB}/gemmi-examples"
+  #        FILES_MATCHING PATTERN "*.py")
   if (INSTALL_EGG_INFO)
     install(CODE
      "execute_process(COMMAND \"${Python_EXECUTABLE}\" setup.py install_egg_info --install-dir \"\$ENV{DESTDIR}${Python_SITELIB}\"
