summaryrefslogtreecommitdiff
path: root/lib/sbuild/CMakeLists.txt
diff options
context:
space:
mode:
authorRoger Leigh <rleigh@debian.org>2013-09-29 16:45:51 +0100
committerRoger Leigh <rleigh@debian.org>2013-09-29 16:45:51 +0100
commite1baf55e6d7b16bc47f7fee78019cabe113e7ef7 (patch)
tree25ef6b9a73d4e315901b9c9b3ad3647673f98c9b /lib/sbuild/CMakeLists.txt
parentf71acb7a31d7932cf3d5f8aaa1682787c18b2127 (diff)
parent6c10fdfd1b43f5a4e2ac12b04ca082517092fbcd (diff)
downloadschroot-e1baf55e6d7b16bc47f7fee78019cabe113e7ef7.tar.gz
Merge branch 'cmake'
Diffstat (limited to 'lib/sbuild/CMakeLists.txt')
-rw-r--r--lib/sbuild/CMakeLists.txt252
1 files changed, 252 insertions, 0 deletions
diff --git a/lib/sbuild/CMakeLists.txt b/lib/sbuild/CMakeLists.txt
new file mode 100644
index 00000000..bb2dcc22
--- /dev/null
+++ b/lib/sbuild/CMakeLists.txt
@@ -0,0 +1,252 @@
+# Copyright © 2004-2013 Roger Leigh <rleigh@debian.org>
+#
+# schroot is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# schroot is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+#
+#####################################################################
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/sbuild.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/sbuild.pc @ONLY)
+
+set(public_generated_h_sources
+ config.h)
+
+if(BUILD_PAM)
+ set(public_auth_pam_h_sources
+ auth/pam-conv.h
+ auth/pam-conv-tty.h
+ auth/pam.h
+ auth/pam-message.h)
+ set(public_auth_pam_cc_sources
+ auth/pam-conv.cc
+ auth/pam-conv-tty.cc
+ auth/pam.cc
+ auth/pam-message.cc)
+endif(BUILD_PAM)
+
+if(BUILD_PERSONALITY)
+ set(public_personality_facet_h_sources
+ chroot/facet/personality.h)
+ set(public_personality_facet_cc_sources
+ chroot/facet/personality.cc)
+ set(public_personality_h_sources
+ personality.h)
+ set(public_personality_cc_sources
+ personality.cc)
+endif(BUILD_PERSONALITY)
+
+if(BUILD_BLOCKDEV)
+ set(public_blockdev_base_h_sources
+ chroot/facet/block-device-base.h)
+ set(public_blockdev_base_cc_sources
+ chroot/facet/block-device-base.cc)
+ set(public_blockdev_h_sources
+ chroot/facet/block-device.h)
+ set(public_blockdev_cc_sources
+ chroot/facet/block-device.cc)
+endif(BUILD_BLOCKDEV)
+
+if(BUILD_LVMSNAP)
+ set(public_blockdev_base_h_sources
+ chroot/facet/block-device-base.h)
+ set(public_blockdev_base_cc_sources
+ chroot/facet/block-device-base.cc)
+ set(public_lvmsnap_h_sources
+ chroot/facet/lvm-snapshot.h)
+ set(public_lvmsnap_cc_sources
+ chroot/facet/lvm-snapshot.cc)
+endif(BUILD_LVMSNAP)
+
+if(BUILD_BTRFSSNAP)
+ set(public_btrfssnap_h_sources
+ chroot/facet/btrfs-snapshot.h)
+ set(public_btrfssnap_cc_sources
+ chroot/facet/btrfs-snapshot.cc)
+endif(BUILD_BTRFSSNAP)
+
+if(BUILD_LOOPBACK)
+ set(public_loopback_h_sources
+ chroot/facet/loopback.h)
+ set(public_loopback_cc_sources
+ chroot/facet/loopback.cc)
+endif(BUILD_LOOPBACK)
+
+if(BUILD_UNION)
+ set(public_union_h_sources
+ chroot/facet/fsunion.h)
+ set(public_union_cc_sources
+ chroot/facet/fsunion.cc)
+endif(BUILD_UNION)
+
+if(BUILD_UNSHARE)
+ set(public_unshare_h_sources
+ chroot/facet/unshare.h)
+ set(public_unshare_cc_sources
+ chroot/facet/unshare.cc)
+endif(BUILD_UNSHARE)
+
+set(public_h_sources
+ ctty.h
+ custom-error.h
+ environment.h
+ error.h
+ error.tcc
+ fdstream.h
+ feature.h
+ format-detail.h
+ i18n.h
+ keyfile.h
+ keyfile-reader.h
+ keyfile-writer.h
+ lock.h
+ log.h
+ mntstream.h
+ nostream.h
+ parse-error.h
+ parse-value.h
+ regex.h
+ run-parts.h
+ session.h
+ types.h
+ util.h
+ ${public_personality_h_sources})
+
+set(public_cc_sources
+ ctty.cc
+ environment.cc
+ feature.cc
+ format-detail.cc
+ keyfile.cc
+ keyfile-reader.cc
+ keyfile-writer.cc
+ lock.cc
+ log.cc
+ mntstream.cc
+ nostream.cc
+ parse-value.cc
+ run-parts.cc
+ session.cc
+ types.cc
+ util.cc
+ ${public_personality_cc_sources})
+
+set(public_auth_h_sources
+ auth/auth.h
+ auth/deny.h
+ ${public_auth_pam_h_sources})
+
+set(public_auth_cc_sources
+ auth/auth.cc
+ auth/deny.cc
+ ${public_auth_pam_cc_sources})
+
+set(public_chroot_h_sources
+ chroot/chroot.h
+ chroot/config.h)
+
+set(public_chroot_cc_sources
+ chroot/chroot.cc
+ chroot/config.cc)
+
+set(public_chroot_facet_h_sources
+ chroot/facet/custom.h
+ chroot/facet/directory.h
+ chroot/facet/directory-base.h
+ chroot/facet/facet.h
+ chroot/facet/factory.h
+ chroot/facet/file.h
+ chroot/facet/mountable.h
+ chroot/facet/plain.h
+ chroot/facet/session.h
+ chroot/facet/session-clonable.h
+ chroot/facet/session-setup.h
+ chroot/facet/source.h
+ chroot/facet/source-clonable.h
+ chroot/facet/source-setup.h
+ chroot/facet/storage.h
+ chroot/facet/userdata.h
+ ${public_blockdev_base_h_sources}
+ ${public_blockdev_h_sources}
+ ${public_lvmsnap_h_sources}
+ ${public_btrfssnap_h_sources}
+ ${public_loopback_h_sources}
+ ${public_personality_facet_h_sources}
+ ${public_union_h_sources}
+ ${public_unshare_h_sources})
+
+set(public_chroot_facet_cc_sources
+ chroot/facet/custom.cc
+ chroot/facet/directory.cc
+ chroot/facet/directory-base.cc
+ chroot/facet/facet.cc
+ chroot/facet/factory.cc
+ chroot/facet/file.cc
+ chroot/facet/mountable.cc
+ chroot/facet/plain.cc
+ chroot/facet/session.cc
+ chroot/facet/session-clonable.cc
+ chroot/facet/session-setup.cc
+ chroot/facet/source.cc
+ chroot/facet/source-clonable.cc
+ chroot/facet/source-setup.cc
+ chroot/facet/storage.cc
+ chroot/facet/userdata.cc
+ ${public_blockdev_base_cc_sources}
+ ${public_blockdev_cc_sources}
+ ${public_lvmsnap_cc_sources}
+ ${public_btrfssnap_cc_sources}
+ ${public_loopback_cc_sources}
+ ${public_personality_facet_cc_sources}
+ ${public_union_cc_sources}
+ ${public_unshare_cc_sources})
+
+add_library(sbuild SHARED
+ ${public_h_sources}
+ ${public_cc_sources}
+ ${public_auth_h_sources}
+ ${public_auth_cc_sources}
+ ${public_chroot_h_sources}
+ ${public_chroot_cc_sources}
+ ${public_chroot_facet_h_sources}
+ ${public_chroot_facet_cc_sources})
+target_link_libraries(sbuild
+ ${CMAKE_THREAD_LIBS_INIT}
+ ${PAM_LIBRARY}
+ ${REGEX_LIBRARY}
+ ${Boost_IOSTREAMS_LIBRARY_RELEASE}
+ ${Boost_FILESYSTEM_LIBRARY_RELEASE}
+ ${Boost_SYSTEM_LIBRARY_RELEASE})
+set_target_properties(sbuild PROPERTIES VERSION ${GIT_RELEASE_VERSION})
+
+set(pkgincludedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}/sbuild")
+set(pkgincludeauthdir "${CMAKE_INSTALL_FULL_INCLUDEDIR}/sbuild/auth")
+set(pkgincludechrootdir "${CMAKE_INSTALL_FULL_INCLUDEDIR}/sbuild/chroot")
+set(pkgincludechrootfacetdir "${CMAKE_INSTALL_FULL_INCLUDEDIR}/sbuild/chroot/facet")
+set(pkgconfigdatadir "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig")
+
+install(FILES ${public_h_sources}
+ DESTINATION ${pkgincludedir})
+install(FILES ${public_auth_h_sources}
+ DESTINATION ${pkgincludeauthdir})
+install(FILES ${public_chroot_h_sources}
+ DESTINATION ${pkgincludechrootdir})
+install(FILES ${public_chroot_facet_h_sources}
+ DESTINATION ${pkgincludechrootfacetdir})
+
+install(TARGETS sbuild LIBRARY
+ DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
+
+set(pkgconfig_files "${CMAKE_CURRENT_BINARY_DIR}/sbuild.pc")
+install(FILES ${pkgconfig_files}
+ DESTINATION ${pkgconfigdatadir})