Replace patch 0001 with copying files

Previously the patch would create five files.
Now the 5 files are checked in and we copy them over.
This commit is contained in:
Alexander Karatarakis 2017-03-13 15:33:30 -07:00
parent dc29e034c8
commit 40702522d1
8 changed files with 442 additions and 492 deletions

View File

@ -1,489 +0,0 @@
From 985be86e6073f6af5822eade61a0401cf2c87f0f Mon Sep 17 00:00:00 2001
From: Mikhail Paulyshka <me@mixaill.tk>
Date: Sun, 12 Mar 2017 17:33:46 +0300
Subject: [PATCH] CMake build system
---
CMakeLists.txt | 111 ++++++++++++++++++++++++++++++++
build/cmake/FindCairo.cmake | 131 ++++++++++++++++++++++++++++++++++++++
build/cmake/FindSigC++.cmake | 111 ++++++++++++++++++++++++++++++++
build/cmake/cairomm.rc.cmake | 71 +++++++++++++++++++++
build/cmake/cairommconfig.h.cmake | 13 ++++
5 files changed, 437 insertions(+)
create mode 100644 CMakeLists.txt
create mode 100644 build/cmake/FindCairo.cmake
create mode 100644 build/cmake/FindSigC++.cmake
create mode 100644 build/cmake/cairomm.rc.cmake
create mode 100644 build/cmake/cairommconfig.h.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..b09ac49
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,111 @@
+project(cairomm)
+cmake_minimum_required(VERSION 3.4)
+
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build/cmake")
+
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+
+#get cairomm version
+file (STRINGS "configure.ac" CONFIGURE_AC_INIT REGEX "AC_INIT\\(\\[cairomm\\], \\[.*\\].*" )
+string(REGEX REPLACE "AC_INIT\\(\\[.*\\], \\[([0-9]+\\.[0-9]+\\.[0-9]+)\\].*" "\\1" VERSION ${CONFIGURE_AC_INIT})
+string(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" CAIROMM_MAJOR_VERSION ${VERSION})
+string(REGEX REPLACE "[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" CAIROMM_MINOR_VERSION ${VERSION})
+string(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" CAIROMM_MICRO_VERSION ${VERSION})
+message(STATUS "Ciaromm version: ${CAIROMM_MAJOR_VERSION}.${CAIROMM_MINOR_VERSION}.${CAIROMM_MICRO_VERSION}")
+
+find_package(Cairo REQUIRED)
+find_package(SigC++ REQUIRED)
+
+#configure
+option(BUILD_SHARED_LIBS "Build the shared library" ON)
+
+option(CAIROMM_ENABLE_API_EXCEPTIONS "enable API exceptions" ON)
+if(CAIROMM_ENABLE_API_EXCEPTIONS)
+ set(CAIROMM_EXCEPTIONS_ENABLED ON)
+else()
+ set(CAIROMM_EXCEPTIONS_ENABLED OFF)
+endif()
+
+configure_file("build/cmake/cairommconfig.h.cmake" "cairommconfig.h")
+configure_file("build/cmake/cairomm.rc.cmake" "cairomm.rc" @ONLY)
+
+#build
+set(cairomm_cc
+ cairomm/context.cc
+ cairomm/context_surface_quartz.cc
+ cairomm/context_surface_win32.cc
+ cairomm/context_surface_xlib.cc
+ cairomm/device.cc
+ cairomm/exception.cc
+ cairomm/fontface.cc
+ cairomm/fontoptions.cc
+ cairomm/matrix.cc
+ cairomm/path.cc
+ cairomm/pattern.cc
+ cairomm/private.cc
+ cairomm/quartz_font.cc
+ cairomm/quartz_surface.cc
+ cairomm/region.cc
+ cairomm/scaledfont.cc
+ cairomm/script.cc
+ cairomm/script_surface.cc
+ cairomm/surface.cc
+ cairomm/win32_font.cc
+ cairomm/win32_surface.cc
+ cairomm/xlib_surface.cc)
+
+set(cairomm_public_h
+ cairomm/cairomm.h
+ cairomm/context.h
+ cairomm/device.h
+ cairomm/enums.h
+ cairomm/exception.h
+ cairomm/fontface.h
+ cairomm/fontoptions.h
+ cairomm/matrix.h
+ cairomm/path.h
+ cairomm/pattern.h
+ cairomm/quartz_font.h
+ cairomm/quartz_surface.h
+ cairomm/refptr.h
+ cairomm/region.h
+ cairomm/scaledfont.h
+ cairomm/script.h
+ cairomm/script_surface.h
+ cairomm/surface.h
+ cairomm/types.h
+ cairomm/win32_font.h
+ cairomm/win32_surface.h
+ cairomm/xlib_surface.h)
+
+set(cairomm_private_h
+ cairomm/context_private.h
+ cairomm/private.h)
+
+set(cairomm_rc
+ ${CMAKE_BINARY_DIR}/cairomm.rc)
+
+add_library(cairomm-1.0 ${cairomm_cc} ${cairomm_rc})
+target_link_libraries(cairomm-1.0 ${CAIRO_LIBRARY} ${SIGC++_LIBRARY} )
+target_include_directories(cairomm-1.0 PRIVATE
+ ${CAIRO_INCLUDE_DIR}
+ ${SIGC++_INCLUDE_DIR}
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_SOURCE_DIR})
+
+install(
+ TARGETS cairomm-1.0
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib)
+
+install(
+ FILES ${cairomm_public_h}
+ DESTINATION include/cairomm)
+
+install(
+ FILES ${CMAKE_BINARY_DIR}/cairommconfig.h
+ DESTINATION include)
diff --git a/build/cmake/FindCairo.cmake b/build/cmake/FindCairo.cmake
new file mode 100644
index 0000000..d9b8bf4
--- /dev/null
+++ b/build/cmake/FindCairo.cmake
@@ -0,0 +1,131 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+#
+# revision: 2
+# See https://github.com/CMakePorts/CMakeFindPackages for updates
+#
+#.rst:
+# FindCairo
+# ---------
+#
+# Locate Cairo library
+#
+# This module defines
+#
+# ::
+# CAIRO_FOUND - system has the CAIRO library
+# CAIRO_INCLUDE_DIR - the CAIRO include directory
+# CAIRO_LIBRARIES - The libraries needed to use CAIRO
+# CAIRO_VERSION - This is set to $major.$minor.$revision (eg. 0.9.8)
+# CAIRO_VERSION_STRING - This is set to $major.$minor.$revision (eg. 0.9.8)
+#
+# Authors:
+# Copyright (c) Eric Wing
+# Copyright (c) Alexander Neundorf
+# Copyright (c) 2008 Joshua L. Blocher <verbalshadow at gmail dot com>
+# Copyright (c) 2012 Dmitry Baryshnikov <polimax at mail dot ru>
+# Copyright (c) 2013-2017 Mikhail Paulyshka <me at mixaill dot tk>
+#
+
+
+if (NOT WIN32)
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ pkg_check_modules(_CAIRO cairo)
+
+ SET(CAIRO_VERSION ${_CAIRO_VERSION})
+ STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\1" num "${CAIRO_VERSION}")
+ MATH (EXPR CAIRO_VERSION_MAJOR "${num}")
+ STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\2" num "${CAIRO_VERSION}")
+ MATH (EXPR CAIRO_VERSION_MINOR "${num}")
+ STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\3" num "${CAIRO_VERSION}")
+ MATH (EXPR CAIRO_VERSION_MICRO "${num}")
+ endif (PKG_CONFIG_FOUND)
+endif (NOT WIN32)
+
+set(_CAIRO_ROOT_HINTS_AND_PATHS
+ HINTS
+ $ENV{CAIRO}
+ $ENV{CAIRO_DIR}
+ ${CMAKE_FIND_ROOT_PATH}
+ ${CAIRO_ROOT_DIR}
+ PATHS
+ ${CMAKE_FIND_ROOT_PATH}
+ $ENV{CAIRO}/src
+ /usr
+ /usr/local
+)
+
+find_path(CAIRO_INCLUDE_DIR
+ NAMES
+ cairo.h
+ HINTS
+ ${_CAIRO_INCLUDEDIR}
+ ${_CAIRO_ROOT_HINTS_AND_PATHS}
+ PATH_SUFFIXES
+ include
+ "include/cairo"
+)
+
+if(NOT CAIRO_LIBRARY)
+ FIND_LIBRARY(CAIRO_LIBRARY_RELEASE
+ NAMES
+ cairo
+ cairo-static
+ HINTS
+ ${_CAIRO_LIBDIR}
+ ${_CAIRO_ROOT_HINTS_AND_PATHS}
+ PATH_SUFFIXES
+ "lib"
+ "local/lib"
+ )
+
+ FIND_LIBRARY(CAIRO_LIBRARY_DEBUG
+ NAMES
+ cairod
+ cairo-staticd
+ HINTS
+ ${_CAIRO_LIBDIR}
+ ${_CAIRO_ROOT_HINTS_AND_PATHS}
+ PATH_SUFFIXES
+ "lib"
+ "local/lib"
+ )
+
+ include(SelectLibraryConfigurations)
+ select_library_configurations(CAIRO)
+endif()
+set(CAIRO_LIBRARIES ${CAIRO_LIBRARY})
+
+if (NOT CAIRO_VERSION)
+ if (EXISTS "${CAIRO_INCLUDE_DIR}/cairo-version.h")
+ file(READ "${CAIRO_INCLUDE_DIR}/cairo-version.h" CAIRO_VERSION_CONTENT)
+
+ string(REGEX MATCH "#define +CAIRO_VERSION_MAJOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
+ set(CAIRO_VERSION_MAJOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define +CAIRO_VERSION_MINOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
+ set(CAIRO_VERSION_MINOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define +CAIRO_VERSION_MICRO +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
+ set(CAIRO_VERSION_MICRO "${CMAKE_MATCH_1}")
+
+ set(CAIRO_VERSION "${CAIRO_VERSION_MAJOR}.${CAIRO_VERSION_MINOR}.${CAIRO_VERSION_MICRO}")
+ set(CAIRO_VERSION_STRING CAIRO_VERSION)
+ endif ()
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(
+ CAIRO
+ REQUIRED_VARS
+ CAIRO_LIBRARIES
+ CAIRO_INCLUDE_DIR
+ VERSION_VAR
+ CAIRO_VERSION_STRING
+)
+
+MARK_AS_ADVANCED(
+ CAIRO_INCLUDE_DIR
+ CAIRO_LIBRARY
+ CAIRO_LIBRARIES)
diff --git a/build/cmake/FindSigC++.cmake b/build/cmake/FindSigC++.cmake
new file mode 100644
index 0000000..0f540ab
--- /dev/null
+++ b/build/cmake/FindSigC++.cmake
@@ -0,0 +1,111 @@
+# - Try to find SIGC++
+# Once done this will define
+#
+# SIGC++_ROOT_DIR - Set this variable to the root installation of SIGC++
+# SIGC++_FOUND - system has SIGC++
+# SIGC++_INCLUDE_DIRS - the SIGC++ include directory
+# SIGC++_LIBRARIES - Link these to use SIGC++
+#
+# Copyright (c) 2008 Joshua L. Blocher <verbalshadow at gmail dot com>
+# Copyright (c) 2012 Dmitry Baryshnikov <polimax at mail dot ru>
+# Copyright (c) 2013-2017 Mikhail Paulyshka <me at mixaill dot tk>
+#
+# Distributed under the OSI-approved BSD License
+#
+
+if (NOT WIN32)
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ pkg_check_modules(_SIGC++ sigc++-2.0)
+ SET(SIGC++_VERSION ${_SIGC++_VERSION})
+ endif (PKG_CONFIG_FOUND)
+endif (NOT WIN32)
+
+SET(_SIGC++_ROOT_HINTS
+ $ENV{SIGC++}
+ ${CMAKE_FIND_ROOT_PATH}
+ ${SIGC++_ROOT_DIR}
+)
+
+SET(_SIGC++_ROOT_PATHS
+ $ENV{SIGC++}/src
+ /usr
+ /usr/local
+)
+
+SET(_SIGC++_ROOT_HINTS_AND_PATHS
+ HINTS ${_SIGC++_ROOT_HINTS}
+ PATHS ${_SIGC++_ROOT_PATHS}
+)
+
+FIND_PATH(SIGC++_INCLUDE_DIR
+ NAMES
+ "sigc++/sigc++.h"
+ HINTS
+ ${_SIGC++_INCLUDEDIR}
+ ${_SIGC++_ROOT_HINTS_AND_PATHS}
+ PATH_SUFFIXES
+ include
+ "include/sigc++-2.0"
+)
+
+find_path(SIGC++_CONFIG_INCLUDE_DIR
+ NAMES
+ sigc++config.h
+ HINTS
+ ${_SIGC++_LIBDIR}
+ ${_SIGC++_INCLUDEDIR}
+ ${_SIGC++_ROOT_HINTS_AND_PATHS}
+ PATH_SUFFIXES
+ include
+ lib
+ "sigc++-2.0/include"
+ "lib/sigc++-2.0"
+ "lib/sigc++-2.0/include"
+)
+
+FIND_LIBRARY(SIGC++_LIBRARY
+ NAMES
+ sigc-2.0
+ HINTS
+ ${_SIGC++_LIBDIR}
+ ${_SIGC++_ROOT_HINTS_AND_PATHS}
+ PATH_SUFFIXES
+ "lib"
+ "local/lib"
+)
+
+SET(SIGC++_LIBRARIES
+ ${SIGC++_LIBRARY}
+)
+
+SET(SIGC++_INCLUDE_DIRS
+ ${SIGC++_INCLUDE_DIR}
+ ${SIGC++_CONFIG_INCLUDE_DIR}
+)
+
+if (NOT SIGC++_VERSION)
+ if (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h")
+ file(READ "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h" SIGC++_VERSION_CONTENT)
+
+ string(REGEX MATCH "#define +SIGCXX_MAJOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
+ set(SIGC++_VERSION_MAJOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define +SIGCXX_MINOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
+ set(SIGC++_VERSION_MINOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define +SIGCXX_MICRO_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
+ set(SIGC++_VERSION_MICRO "${CMAKE_MATCH_1}")
+
+ set(SIGC++_VERSION "${SIGC++_VERSION_MAJOR}.${SIGC++_VERSION_MINOR}.${SIGC++_VERSION_MICRO}")
+ endif (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h")
+endif(NOT SIGC++_VERSION)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(SIGC++
+ REQUIRED_VARS SIGC++_LIBRARIES SIGC++_INCLUDE_DIRS
+ VERSION_VAR SIGC++_VERSION
+ FAIL_MESSAGE "Could NOT find SIGC++, try to set the path to SIGC++ root folder in the system variable SIGC++"
+)
+
+MARK_AS_ADVANCED(SIGC++_CONFIG_INCLUDE_DIR SIGC++_INCLUDE_DIR SIGC++_INCLUDE_DIRS SIGC++_LIBRARY SIGC++_LIBRARIES)
\ No newline at end of file
diff --git a/build/cmake/cairomm.rc.cmake b/build/cmake/cairomm.rc.cmake
new file mode 100644
index 0000000..d968c4d
--- /dev/null
+++ b/build/cmake/cairomm.rc.cmake
@@ -0,0 +1,71 @@
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include <windows.h>
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1
+ PRODUCTVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "The cairomm development team (see AUTHORS)"
+ VALUE "FileDescription", "The official C++ wrapper for cairo"
+ VALUE "FileVersion", "@VERSION@"
+ VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
+ VALUE "OriginalFilename", "cairomm-1.0"
+ VALUE "ProductName", "cairomm"
+ VALUE "ProductVersion", "@VERSION@"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // English (U.S.) resources
+
+#ifndef APSTUDIO_INVOKED
+
+#endif // not APSTUDIO_INVOKED
diff --git a/build/cmake/cairommconfig.h.cmake b/build/cmake/cairommconfig.h.cmake
new file mode 100644
index 0000000..526a70c
--- /dev/null
+++ b/build/cmake/cairommconfig.h.cmake
@@ -0,0 +1,13 @@
+/* This file is part of cairomm. */
+
+/* Defined when the --enable-api-exceptions configure argument was given */
+#cmakedefine CAIROMM_EXCEPTIONS_ENABLED 1
+
+/* Major version number of cairomm. */
+#cmakedefine CAIROMM_MAJOR_VERSION @CAIROMM_MAJOR_VERSION@
+
+/* Minor version number of cairomm. */
+#cmakedefine CAIROMM_MINOR_VERSION @CAIROMM_MINOR_VERSION@
+
+/* Micro version number of cairomm. */
+#cmakedefine CAIROMM_MICRO_VERSION @CAIROMM_MICRO_VERSION@
--
2.11.0.windows.1

View File

@ -0,0 +1,111 @@
project(cairomm)
cmake_minimum_required(VERSION 3.4)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build/cmake")
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
#get cairomm version
file (STRINGS "configure.ac" CONFIGURE_AC_INIT REGEX "AC_INIT\\(\\[cairomm\\], \\[.*\\].*" )
string(REGEX REPLACE "AC_INIT\\(\\[.*\\], \\[([0-9]+\\.[0-9]+\\.[0-9]+)\\].*" "\\1" VERSION ${CONFIGURE_AC_INIT})
string(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" CAIROMM_MAJOR_VERSION ${VERSION})
string(REGEX REPLACE "[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" CAIROMM_MINOR_VERSION ${VERSION})
string(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" CAIROMM_MICRO_VERSION ${VERSION})
message(STATUS "Ciaromm version: ${CAIROMM_MAJOR_VERSION}.${CAIROMM_MINOR_VERSION}.${CAIROMM_MICRO_VERSION}")
find_package(Cairo REQUIRED)
find_package(SigC++ REQUIRED)
#configure
option(BUILD_SHARED_LIBS "Build the shared library" ON)
option(CAIROMM_ENABLE_API_EXCEPTIONS "enable API exceptions" ON)
if(CAIROMM_ENABLE_API_EXCEPTIONS)
set(CAIROMM_EXCEPTIONS_ENABLED ON)
else()
set(CAIROMM_EXCEPTIONS_ENABLED OFF)
endif()
configure_file("build/cmake/cairommconfig.h.cmake" "cairommconfig.h")
configure_file("build/cmake/cairomm.rc.cmake" "cairomm.rc" @ONLY)
#build
set(cairomm_cc
cairomm/context.cc
cairomm/context_surface_quartz.cc
cairomm/context_surface_win32.cc
cairomm/context_surface_xlib.cc
cairomm/device.cc
cairomm/exception.cc
cairomm/fontface.cc
cairomm/fontoptions.cc
cairomm/matrix.cc
cairomm/path.cc
cairomm/pattern.cc
cairomm/private.cc
cairomm/quartz_font.cc
cairomm/quartz_surface.cc
cairomm/region.cc
cairomm/scaledfont.cc
cairomm/script.cc
cairomm/script_surface.cc
cairomm/surface.cc
cairomm/win32_font.cc
cairomm/win32_surface.cc
cairomm/xlib_surface.cc)
set(cairomm_public_h
cairomm/cairomm.h
cairomm/context.h
cairomm/device.h
cairomm/enums.h
cairomm/exception.h
cairomm/fontface.h
cairomm/fontoptions.h
cairomm/matrix.h
cairomm/path.h
cairomm/pattern.h
cairomm/quartz_font.h
cairomm/quartz_surface.h
cairomm/refptr.h
cairomm/region.h
cairomm/scaledfont.h
cairomm/script.h
cairomm/script_surface.h
cairomm/surface.h
cairomm/types.h
cairomm/win32_font.h
cairomm/win32_surface.h
cairomm/xlib_surface.h)
set(cairomm_private_h
cairomm/context_private.h
cairomm/private.h)
set(cairomm_rc
${CMAKE_BINARY_DIR}/cairomm.rc)
add_library(cairomm-1.0 ${cairomm_cc} ${cairomm_rc})
target_link_libraries(cairomm-1.0 ${CAIRO_LIBRARY} ${SIGC++_LIBRARY} )
target_include_directories(cairomm-1.0 PRIVATE
${CAIRO_INCLUDE_DIR}
${SIGC++_INCLUDE_DIR}
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR})
install(
TARGETS cairomm-1.0
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
install(
FILES ${cairomm_public_h}
DESTINATION include/cairomm)
install(
FILES ${CMAKE_BINARY_DIR}/cairommconfig.h
DESTINATION include)

View File

@ -0,0 +1,131 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#
# revision: 2
# See https://github.com/CMakePorts/CMakeFindPackages for updates
#
#.rst:
# FindCairo
# ---------
#
# Locate Cairo library
#
# This module defines
#
# ::
# CAIRO_FOUND - system has the CAIRO library
# CAIRO_INCLUDE_DIR - the CAIRO include directory
# CAIRO_LIBRARIES - The libraries needed to use CAIRO
# CAIRO_VERSION - This is set to $major.$minor.$revision (eg. 0.9.8)
# CAIRO_VERSION_STRING - This is set to $major.$minor.$revision (eg. 0.9.8)
#
# Authors:
# Copyright (c) Eric Wing
# Copyright (c) Alexander Neundorf
# Copyright (c) 2008 Joshua L. Blocher <verbalshadow at gmail dot com>
# Copyright (c) 2012 Dmitry Baryshnikov <polimax at mail dot ru>
# Copyright (c) 2013-2017 Mikhail Paulyshka <me at mixaill dot tk>
#
if (NOT WIN32)
find_package(PkgConfig)
if (PKG_CONFIG_FOUND)
pkg_check_modules(_CAIRO cairo)
SET(CAIRO_VERSION ${_CAIRO_VERSION})
STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\1" num "${CAIRO_VERSION}")
MATH (EXPR CAIRO_VERSION_MAJOR "${num}")
STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\2" num "${CAIRO_VERSION}")
MATH (EXPR CAIRO_VERSION_MINOR "${num}")
STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\3" num "${CAIRO_VERSION}")
MATH (EXPR CAIRO_VERSION_MICRO "${num}")
endif (PKG_CONFIG_FOUND)
endif (NOT WIN32)
set(_CAIRO_ROOT_HINTS_AND_PATHS
HINTS
$ENV{CAIRO}
$ENV{CAIRO_DIR}
${CMAKE_FIND_ROOT_PATH}
${CAIRO_ROOT_DIR}
PATHS
${CMAKE_FIND_ROOT_PATH}
$ENV{CAIRO}/src
/usr
/usr/local
)
find_path(CAIRO_INCLUDE_DIR
NAMES
cairo.h
HINTS
${_CAIRO_INCLUDEDIR}
${_CAIRO_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
include
"include/cairo"
)
if(NOT CAIRO_LIBRARY)
FIND_LIBRARY(CAIRO_LIBRARY_RELEASE
NAMES
cairo
cairo-static
HINTS
${_CAIRO_LIBDIR}
${_CAIRO_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
"local/lib"
)
FIND_LIBRARY(CAIRO_LIBRARY_DEBUG
NAMES
cairod
cairo-staticd
HINTS
${_CAIRO_LIBDIR}
${_CAIRO_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
"local/lib"
)
include(SelectLibraryConfigurations)
select_library_configurations(CAIRO)
endif()
set(CAIRO_LIBRARIES ${CAIRO_LIBRARY})
if (NOT CAIRO_VERSION)
if (EXISTS "${CAIRO_INCLUDE_DIR}/cairo-version.h")
file(READ "${CAIRO_INCLUDE_DIR}/cairo-version.h" CAIRO_VERSION_CONTENT)
string(REGEX MATCH "#define +CAIRO_VERSION_MAJOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
set(CAIRO_VERSION_MAJOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define +CAIRO_VERSION_MINOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
set(CAIRO_VERSION_MINOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define +CAIRO_VERSION_MICRO +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
set(CAIRO_VERSION_MICRO "${CMAKE_MATCH_1}")
set(CAIRO_VERSION "${CAIRO_VERSION_MAJOR}.${CAIRO_VERSION_MINOR}.${CAIRO_VERSION_MICRO}")
set(CAIRO_VERSION_STRING CAIRO_VERSION)
endif ()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
CAIRO
REQUIRED_VARS
CAIRO_LIBRARIES
CAIRO_INCLUDE_DIR
VERSION_VAR
CAIRO_VERSION_STRING
)
MARK_AS_ADVANCED(
CAIRO_INCLUDE_DIR
CAIRO_LIBRARY
CAIRO_LIBRARIES)

View File

@ -0,0 +1,111 @@
# - Try to find SIGC++
# Once done this will define
#
# SIGC++_ROOT_DIR - Set this variable to the root installation of SIGC++
# SIGC++_FOUND - system has SIGC++
# SIGC++_INCLUDE_DIRS - the SIGC++ include directory
# SIGC++_LIBRARIES - Link these to use SIGC++
#
# Copyright (c) 2008 Joshua L. Blocher <verbalshadow at gmail dot com>
# Copyright (c) 2012 Dmitry Baryshnikov <polimax at mail dot ru>
# Copyright (c) 2013-2017 Mikhail Paulyshka <me at mixaill dot tk>
#
# Distributed under the OSI-approved BSD License
#
if (NOT WIN32)
find_package(PkgConfig)
if (PKG_CONFIG_FOUND)
pkg_check_modules(_SIGC++ sigc++-2.0)
SET(SIGC++_VERSION ${_SIGC++_VERSION})
endif (PKG_CONFIG_FOUND)
endif (NOT WIN32)
SET(_SIGC++_ROOT_HINTS
$ENV{SIGC++}
${CMAKE_FIND_ROOT_PATH}
${SIGC++_ROOT_DIR}
)
SET(_SIGC++_ROOT_PATHS
$ENV{SIGC++}/src
/usr
/usr/local
)
SET(_SIGC++_ROOT_HINTS_AND_PATHS
HINTS ${_SIGC++_ROOT_HINTS}
PATHS ${_SIGC++_ROOT_PATHS}
)
FIND_PATH(SIGC++_INCLUDE_DIR
NAMES
"sigc++/sigc++.h"
HINTS
${_SIGC++_INCLUDEDIR}
${_SIGC++_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
include
"include/sigc++-2.0"
)
find_path(SIGC++_CONFIG_INCLUDE_DIR
NAMES
sigc++config.h
HINTS
${_SIGC++_LIBDIR}
${_SIGC++_INCLUDEDIR}
${_SIGC++_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
include
lib
"sigc++-2.0/include"
"lib/sigc++-2.0"
"lib/sigc++-2.0/include"
)
FIND_LIBRARY(SIGC++_LIBRARY
NAMES
sigc-2.0
HINTS
${_SIGC++_LIBDIR}
${_SIGC++_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
"local/lib"
)
SET(SIGC++_LIBRARIES
${SIGC++_LIBRARY}
)
SET(SIGC++_INCLUDE_DIRS
${SIGC++_INCLUDE_DIR}
${SIGC++_CONFIG_INCLUDE_DIR}
)
if (NOT SIGC++_VERSION)
if (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h")
file(READ "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h" SIGC++_VERSION_CONTENT)
string(REGEX MATCH "#define +SIGCXX_MAJOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
set(SIGC++_VERSION_MAJOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define +SIGCXX_MINOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
set(SIGC++_VERSION_MINOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define +SIGCXX_MICRO_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
set(SIGC++_VERSION_MICRO "${CMAKE_MATCH_1}")
set(SIGC++_VERSION "${SIGC++_VERSION_MAJOR}.${SIGC++_VERSION_MINOR}.${SIGC++_VERSION_MICRO}")
endif (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h")
endif(NOT SIGC++_VERSION)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SIGC++
REQUIRED_VARS SIGC++_LIBRARIES SIGC++_INCLUDE_DIRS
VERSION_VAR SIGC++_VERSION
FAIL_MESSAGE "Could NOT find SIGC++, try to set the path to SIGC++ root folder in the system variable SIGC++"
)
MARK_AS_ADVANCED(SIGC++_CONFIG_INCLUDE_DIR SIGC++_INCLUDE_DIR SIGC++_INCLUDE_DIRS SIGC++_LIBRARY SIGC++_LIBRARIES)

View File

@ -0,0 +1,71 @@
#define APSTUDIO_READONLY_SYMBOLS
#include <windows.h>
#undef APSTUDIO_READONLY_SYMBOLS
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
VS_VERSION_INFO VERSIONINFO
FILEVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1
PRODUCTVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "The cairomm development team (see AUTHORS)"
VALUE "FileDescription", "The official C++ wrapper for cairo"
VALUE "FileVersion", "@VERSION@"
VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
VALUE "OriginalFilename", "cairomm-1.0"
VALUE "ProductName", "cairomm"
VALUE "ProductVersion", "@VERSION@"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (U.S.) resources
#ifndef APSTUDIO_INVOKED
#endif // not APSTUDIO_INVOKED

View File

@ -0,0 +1,13 @@
/* This file is part of cairomm. */
/* Defined when the --enable-api-exceptions configure argument was given */
#cmakedefine CAIROMM_EXCEPTIONS_ENABLED 1
/* Major version number of cairomm. */
#cmakedefine CAIROMM_MAJOR_VERSION @CAIROMM_MAJOR_VERSION@
/* Minor version number of cairomm. */
#cmakedefine CAIROMM_MINOR_VERSION @CAIROMM_MINOR_VERSION@
/* Micro version number of cairomm. */
#cmakedefine CAIROMM_MICRO_VERSION @CAIROMM_MICRO_VERSION@

View File

@ -11,10 +11,12 @@ vcpkg_download_distfile(ARCHIVE
) )
vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH}/build)
vcpkg_apply_patches( vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH} SOURCE_PATH ${SOURCE_PATH}
PATCHES "${CURRENT_PORT_DIR}/0001-cmake-build-system.patch" PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-fix-build.patch")
"${CURRENT_PORT_DIR}/0002-fix-build.patch")
vcpkg_configure_cmake( vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH} SOURCE_PATH ${SOURCE_PATH}