aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcodicodi <rob.ceglinski@gmail.com>2017-01-10 12:04:17 +0100
committerGitHub <noreply@github.com>2017-01-10 12:04:17 +0100
commitdf3c619b69dc5fbdbb686d01a5db6e4097f9ca61 (patch)
treeee330f3047b23958145b308b2c8e0e4d0733726b
parentb280f57002044036c1c3c9a446c06e8e0a34fb00 (diff)
downloadvcpkg-df3c619b69dc5fbdbb686d01a5db6e4097f9ca61.tar.gz
vcpkg-df3c619b69dc5fbdbb686d01a5db6e4097f9ca61.zip
add libsigcpp
-rw-r--r--ports/libsigcpp/CMakeLists.txt57
-rw-r--r--ports/libsigcpp/CONTROL3
-rw-r--r--ports/libsigcpp/dont-import-symbols.patch13
-rw-r--r--ports/libsigcpp/portfile.cmake28
4 files changed, 101 insertions, 0 deletions
diff --git a/ports/libsigcpp/CMakeLists.txt b/ports/libsigcpp/CMakeLists.txt
new file mode 100644
index 000000000..4c44c860d
--- /dev/null
+++ b/ports/libsigcpp/CMakeLists.txt
@@ -0,0 +1,57 @@
+cmake_minimum_required(VERSION 3.0)
+project(libsigc++)
+
+set(SIGCPP_API_VERSION 2.0)
+
+add_definitions(-DSIGC_BUILD)
+
+include_directories(./MSVC_Net2013) # config file for windows is there
+include_directories(.)
+
+set(SICGPP_SOURCES
+ sigc++/connection.cc
+ sigc++/signal_base.cc
+ sigc++/trackable.cc
+ sigc++/adaptors/lambda/lambda.cc
+ sigc++/functors/slot_base.cc)
+
+add_library(sigc ${SICGPP_SOURCES})
+set_target_properties(sigc PROPERTIES OUTPUT_NAME sigc-${SIGCPP_API_VERSION})
+install(TARGETS sigc RUNTIME DESTINATION bin ARCHIVE DESTINATION lib)
+
+if(NOT SIGCPP_SKIP_HEADERS)
+ install(FILES MSVC_Net2013/sigc++config.h DESTINATION include)
+ install(FILES sigc++/sigc++.h DESTINATION include/sigc++)
+ install(FILES sigc++/bind.h DESTINATION include/sigc++)
+ install(FILES sigc++/bind_return.h DESTINATION include/sigc++)
+ install(FILES sigc++/connection.h DESTINATION include/sigc++)
+ install(FILES sigc++/limit_reference.h DESTINATION include/sigc++)
+ install(FILES sigc++/reference_wrapper.h DESTINATION include/sigc++)
+ install(FILES sigc++/retype_return.h DESTINATION include/sigc++)
+ install(FILES sigc++/signal.h DESTINATION include/sigc++)
+ install(FILES sigc++/signal_base.h DESTINATION include/sigc++)
+ install(FILES sigc++/slot.h DESTINATION include/sigc++)
+ install(FILES sigc++/trackable.h DESTINATION include/sigc++)
+ install(FILES sigc++/type_traits.h DESTINATION include/sigc++)
+ install(FILES sigc++/visit_each.h DESTINATION include/sigc++)
+ install(FILES sigc++/adaptors/adaptors.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/adaptor_trait.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/bind.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/bind_return.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/bound_argument.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/compose.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/deduce_result_type.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/exception_catch.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/hide.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/retype.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/retype_return.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/track_obj.h DESTINATION include/sigc++/adaptors)
+ install(FILES sigc++/adaptors/lambda/base.h DESTINATION include/sigc++/adaptors/lambda)
+ install(FILES sigc++/adaptors/lambda/select.h DESTINATION include/sigc++/adaptors/lambda)
+ install(FILES sigc++/functors/functors.h DESTINATION include/sigc++/functors)
+ install(FILES sigc++/functors/functor_trait.h DESTINATION include/sigc++/functors)
+ install(FILES sigc++/functors/mem_fun.h DESTINATION include/sigc++/functors)
+ install(FILES sigc++/functors/ptr_fun.h DESTINATION include/sigc++/functors)
+ install(FILES sigc++/functors/slot.h DESTINATION include/sigc++/functors)
+ install(FILES sigc++/functors/slot_base.h DESTINATION include/sigc++/functors)
+endif()
diff --git a/ports/libsigcpp/CONTROL b/ports/libsigcpp/CONTROL
new file mode 100644
index 000000000..02b2e4b83
--- /dev/null
+++ b/ports/libsigcpp/CONTROL
@@ -0,0 +1,3 @@
+Source: libsigcpp
+Version: 2.10
+Description: Typesafe callback framework for C++
diff --git a/ports/libsigcpp/dont-import-symbols.patch b/ports/libsigcpp/dont-import-symbols.patch
new file mode 100644
index 000000000..b031d3baf
--- /dev/null
+++ b/ports/libsigcpp/dont-import-symbols.patch
@@ -0,0 +1,13 @@
+diff --git a/sigc++config.h b/sigc++config.h
+index e212700..8d7366e 100644
+--- a/sigc++config.h
++++ b/sigc++config.h
+@@ -72,6 +72,8 @@
+
+ #endif /* !SIGC_MSC */
+
++#undef SIGC_DLL
++
+ #ifdef SIGC_DLL
+ # if defined(SIGC_BUILD) && defined(_WINDLL)
+ # define SIGC_API __declspec(dllexport)
diff --git a/ports/libsigcpp/portfile.cmake b/ports/libsigcpp/portfile.cmake
new file mode 100644
index 000000000..c98a26717
--- /dev/null
+++ b/ports/libsigcpp/portfile.cmake
@@ -0,0 +1,28 @@
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libsigc++-2.10.0)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.10/libsigc++-2.10.0.tar.xz"
+ FILENAME "libsigc++-2.10.0.tar.xz"
+ SHA512 5b96df21d6bd6ba41520c7219e77695a86aabc60b7259262c7a9f4b8475ce0e2fd8dc37bcf7c17e24e818ff28c262d682b964c83e215b51bdbe000f3f58794ae)
+
+vcpkg_extract_source_archive(${ARCHIVE})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS_DEBUG
+ -DSIGCPP_SKIP_HEADERS=ON)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/dont-import-symbols.patch)
+endif()
+
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsigcpp)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libsigcpp/COPYING ${CURRENT_PACKAGES_DIR}/share/libsigcpp/copyright)