From fec6b1b18c55d40409dec7b2504c9ec111a45295 Mon Sep 17 00:00:00 2001 From: suv-lp <> Date: Sun, 5 Jun 2016 09:15:29 +0200 Subject: [Bug #1545333] Convenience option (default: ON) for cmake builds to enable SVG2 and experimental LPEs Fixed bugs: - https://launchpad.net/bugs/1545333 (bzr r14954) --- CMakeScripts/DefineDependsandFlags.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index f2a6b5670..0f4ba46c6 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -262,6 +262,18 @@ if(WITH_DBUS) endif() endif() +if(WITH_SVG2) + add_definitions(-DWITH_MESH -DWITH_CSSBLEND -DWITH_CSSCOMPOSITE -DWITH_SVG2) +else() + add_definitions(-UWITH_MESH -UWITH_CSSBLEND -UWITH_CSSCOMPOSITE -UWITH_SVG2) +endif() + +if(WITH_LPETOOL) + add_definitions(-DWITH_LPETOOL -DLPE_ENABLE_TEST_EFFECTS) +else() + add_definitions(-UWITH_LPETOOL -ULPE_ENABLE_TEST_EFFECTS) +endif() + if(WITH_GTEST) if(EXISTS "${GMOCK_DIR}" AND IS_DIRECTORY "${GMOCK_DIR}") -- cgit v1.2.3 From 9abb5e658d005b3ac82afeec13fd59384a8e65eb Mon Sep 17 00:00:00 2001 From: Adrian Boguszewski Date: Sun, 5 Jun 2016 23:20:55 +0200 Subject: Added object set (bzr r14954.1.1) --- CMakeScripts/DefineDependsandFlags.cmake | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 0f4ba46c6..bf3954a62 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -10,6 +10,8 @@ list(APPEND INKSCAPE_INCS ${PROJECT_SOURCE_DIR} # generated includes ${CMAKE_BINARY_DIR}/include ) +# TODO temporary flag +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") # ---------------------------------------------------------------------------- # Files we include -- cgit v1.2.3 From c8fb84faf249ce3f7d7bc8837fd47c16813f09d3 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Thu, 9 Jun 2016 10:03:26 +0100 Subject: Fix testing dependencies (bzr r14967.1.2) --- CMakeScripts/DefineDependsandFlags.cmake | 8 -------- 1 file changed, 8 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 0f4ba46c6..706860a00 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -274,14 +274,6 @@ else() add_definitions(-UWITH_LPETOOL -ULPE_ENABLE_TEST_EFFECTS) endif() -if(WITH_GTEST) - if(EXISTS "${GMOCK_DIR}" AND IS_DIRECTORY "${GMOCK_DIR}") - - else() - set(WITH_GTEST off) - endif() -endif() - # ---------------------------------------------------------------------------- # CMake's builtin # ---------------------------------------------------------------------------- -- cgit v1.2.3 From a51df2ab1eb079b2588ccb9398440f403d11c34d Mon Sep 17 00:00:00 2001 From: Adrian Boguszewski Date: Mon, 27 Jun 2016 16:59:48 +0200 Subject: Added more tests (bzr r14954.1.11) --- CMakeScripts/ConfigCompileFlags.cmake | 4 +++- CMakeScripts/DefineDependsandFlags.cmake | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigCompileFlags.cmake b/CMakeScripts/ConfigCompileFlags.cmake index 453ceef21..602886219 100644 --- a/CMakeScripts/ConfigCompileFlags.cmake +++ b/CMakeScripts/ConfigCompileFlags.cmake @@ -1,6 +1,8 @@ set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}") add_definitions(-Wall -Wformat-security -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch) -add_definitions(-O2) +# TODO temporary flag +add_definitions(-O0) +add_definitions(-std=c++11) # Define the flags for profiling if desired: if(WITH_PROFILING) diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 9c4d6b085..706860a00 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -10,8 +10,6 @@ list(APPEND INKSCAPE_INCS ${PROJECT_SOURCE_DIR} # generated includes ${CMAKE_BINARY_DIR}/include ) -# TODO temporary flag -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") # ---------------------------------------------------------------------------- # Files we include -- cgit v1.2.3 From 22262f2db6747eb516283b92abcfd348c700911a Mon Sep 17 00:00:00 2001 From: Adrian Boguszewski Date: Fri, 1 Jul 2016 20:57:32 +0200 Subject: Added xmlNodes as range function (bzr r14954.1.12) --- CMakeScripts/ConfigCompileFlags.cmake | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigCompileFlags.cmake b/CMakeScripts/ConfigCompileFlags.cmake index 602886219..85a8a151c 100644 --- a/CMakeScripts/ConfigCompileFlags.cmake +++ b/CMakeScripts/ConfigCompileFlags.cmake @@ -1,28 +1,21 @@ -set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}") -add_definitions(-Wall -Wformat-security -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch) -# TODO temporary flag -add_definitions(-O0) -add_definitions(-std=c++11) - # Define the flags for profiling if desired: if(WITH_PROFILING) set(COMPILE_PROFILING_FLAGS "-pg") set(LINK_PROFILING_FLAGS "-pg") endif() -add_definitions(-DVERSION=\\\"${INKSCAPE_VERSION}\\\") +# add_definitions(-DVERSION=\\\"${INKSCAPE_VERSION}\\\") add_definitions(${DEFINE_FLAGS} -DHAVE_CONFIG_H -D_INTL_REDIRECT_INLINE) if(WIN32) add_definitions(-DXP_WIN) endif(WIN32) -# For Inkboard: -add_definitions(-DHAVE_SSL "-DRELAYTOOL_SSL=\"static const int libssl_is_present=1; static int __attribute__((unused)) libssl_symbol_is_present(char *s){ return 1; }\"") - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILE_PROFILING_FLAGS} ") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMPILE_PROFILING_FLAGS} ") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 ${COMPILE_PROFILING_FLAGS} ") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 ${COMPILE_PROFILING_FLAGS} ") +# TODO +add_definitions("-std=c++11") -set(CMAKE_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM} ") +#set(CMAKE_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM} ") -# message(STATUS "${CMAKE_CXX_FLAGS}") +message(STATUS "${CMAKE_CXX_FLAGS}") -- cgit v1.2.3 From 495ac0773c4341589f1cd9108c9de3daf5b78c2c Mon Sep 17 00:00:00 2001 From: Sebastian Faubel Date: Sat, 2 Jul 2016 19:15:39 +0200 Subject: Merge with trunk. (bzr r15002.1.1) --- CMakeScripts/ConfigPaths.cmake | 150 +++++++++++++++++++++++++++++++ CMakeScripts/DefineDependsandFlags.cmake | 88 +++++------------- 2 files changed, 172 insertions(+), 66 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake index 3b13a7734..09cd96df0 100644 --- a/CMakeScripts/ConfigPaths.cmake +++ b/CMakeScripts/ConfigPaths.cmake @@ -1,6 +1,156 @@ message(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}") if(WIN32) +# Directory containing the precompiled Inkscape libraries. Usually c:\devlibs or c:\devlibs64 + set(DEVLIBS_PATH C:/devlibs64) + + # Directory containing the MinGW instance used for compilation. Usually c:\mingw or c:\mingw64 + set(MINGW_PATH C:/mingw64) + + # Directory containing the Ghostscript installation. + set(GS_PATH C:/latex/gs/gs8.61) + + # Normalize directory separator slashes. + string(REGEX REPLACE "\\\\" "/" DEVLIBS_PATH ${DEVLIBS_PATH}) + string(REGEX REPLACE "\\\\" "/" MINGW_PATH ${MINGW_PATH}) + string(REGEX REPLACE "\\\\" "/" GS_PATH ${GS_PATH}) + + # =============== DEVLIBS CHECKS =============== + + # Directory containing the compile time .dll.a and .a files. + set(DEVLIBS_LIB "${DEVLIBS_PATH}/lib") + + if(NOT EXISTS "${DEVLIBS_LIB}") + message(FATAL_ERROR "Inkscape development libraries directory does not exist: ${DEVLIBS_LIB}") + endif() + + # Add devlibs libraries to linker path. + link_directories(${DEVLIBS_LIB}) + + set(DEVLIBS_INCLUDE ${DEVLIBS_PATH}/include) + + if(NOT EXISTS ${DEVLIBS_INCLUDE}) + message(FATAL_ERROR "Inkscape development libraries directory does not exist: ${DEVLIBS_INCLUDE}") + endif() + + # Add general MinGW headers to compiler include path. + #include_directories(${DEVLIBS_INCLUDE}) + + # Directory containing the precompiled .dll files. + set(DEVLIBS_BIN ${DEVLIBS_PATH}/bin) + + if(NOT EXISTS ${DEVLIBS_BIN}) + message(FATAL_ERROR "Inkscape development binaries directory does not exist: ${DEVLIBS_BIN}") + endif() + + # Directory containing the pkgconfig .pc files. + set(PKG_CONFIG_PATH "${DEVLIBS_PATH}/lib/pkgconfig") + + if(NOT EXISTS "${PKG_CONFIG_PATH}") + message(FATAL_ERROR "pkgconfig directory does not exist: ${PKG_CONFIG_PATH}") + endif() + + # Add the devlibs directories to the paths used to find libraries and programs. + list(APPEND CMAKE_PREFIX_PATH ${DEVLIBS_PATH}) + + # Eliminate error messages when not having mingw in the environment path variable. + list(APPEND CMAKE_PROGRAM_PATH ${DEVLIBS_BIN}) + + # =============== MINGW CHECKS =============== + + # We are in a MinGW environment. + set(HAVE_MINGW ON) + + # Try to determine the MinGW processor architecture. + if(EXISTS ${MINGW_PATH}/mingw32) + set(HAVE_MINGW64 OFF) + set(MINGW_ARCH mingw32) + elseif(EXISTS ${MINGW_PATH}/x86_64-w64-mingw32) + set(HAVE_MINGW64 ON) + set(MINGW_ARCH x86_64-w64-mingw32) + else() + message(FATAL_ERROR "Unable to determine MinGW processor architecture. Are you using an unsupported MinGW version?") + endif() + + # Path to processor architecture specific binaries and libs. + set(MINGW_ARCH_PATH ${MINGW_PATH}/${MINGW_ARCH}) + + set(MINGW_BIN ${MINGW_PATH}/bin) + + if(NOT EXISTS ${MINGW_BIN}) + message(FATAL_ERROR "MinGW binary directory does not exist: ${MINGW_BIN}") + endif() + + # Eliminate error messages when not having mingw in the environment path variable. + list(APPEND CMAKE_PROGRAM_PATH ${MINGW_BIN}) + + set(MINGW_LIB ${MINGW_PATH}/lib) + + if(NOT EXISTS ${MINGW_LIB}) + message(FATAL_ERROR "MinGW library directory does not exist: ${MINGW_LIB}") + endif() + + # Add MinGW libraries to linker path. + link_directories(${MINGW_LIB}) + + set(MINGW_INCLUDE ${MINGW_PATH}/include) + + if(NOT EXISTS ${MINGW_INCLUDE}) + message(FATAL_ERROR "MinGW include directory does not exist: ${MINGW_INCLUDE}") + endif() + + # Add general MinGW headers to compiler include path. + include_directories(${MINGW_INCLUDE}) + + if(HAVE_MINGW64) + set(MINGW64_LIB ${MINGW_ARCH_PATH}/lib) + + if(NOT EXISTS ${MINGW64_LIB}) + message(FATAL_ERROR "MinGW 64-Bit libraries directory does not exist: ${MINGW64_LIB}") + endif() + + # Add 64-Bit libraries to linker path. + link_directories(${MINGW64_LIB}) + + set(MINGW64_INCLUDE ${MINGW_ARCH_PATH}/include) + + if(NOT EXISTS ${MINGW64_INCLUDE}) + message(FATAL_ERROR "MinGW 64-Bit include directory does not exist: ${MINGW64_INCLUDE}") + endif() + + set(MINGW64_INCLUDE_SDL ${MINGW64_INCLUDE}/c++) + + if(NOT EXISTS ${MINGW64_INCLUDE_SDL}) + message(FATAL_ERROR "MinGW 64-Bit SDL include directory does not exist: ${MINGW64_INCLUDE_SDL}") + endif() + + # Add 64-Bit MinGW headers to compiler include path. + include_directories(${MINGW64_INCLUDE}) + #include_directories(${MINGW64_INCLUDE_SDL}) + endif() + + # =============== GHOSTSCRIPT CHECKS =============== + + # Check for Ghostscript. + set(GS_BIN "${GS_PATH}/bin") + + if(EXISTS "${GS_BIN}") + set(HAVE_GS_BIN ON) + else() + set(HAVE_GS_BIN OFF) + endif() + + # =============== LIBRARY AND LINKER =============== + + # Tweak CMake into using Unix-style library names. + set(CMAKE_FIND_LIBRARY_PREFIXES "lib") + set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".dll") + + if(NOT HAVE_MINGW64) + list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES ".a") + endif() + + # Directory containing the current locale (translations). set(PACKAGE_LOCALE_DIR "locale") set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") else(WIN32) diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 706860a00..b708484af 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -15,75 +15,31 @@ list(APPEND INKSCAPE_INCS ${PROJECT_SOURCE_DIR} # Files we include # ---------------------------------------------------------------------------- if(WIN32) -message("---------------- BEGIN: Win32 ----------------") - - # The name of the target operating system - set(CMAKE_SYSTEM_NAME Windows) - - message("CMAKE_SYSTEM_NAME: " ${CMAKE_SYSTEM_NAME}) - - set(CMAKE_C_COMPILER gcc) - set(CMAKE_CXX_COMPILER g++) - set(CMAKE_RC_COMPILER windres) - - # Adjust the command line parameters for windres to the verion of MinGW. - set(CMAKE_RC_COMPILER_INIT windres) - enable_language(RC) - set(CMAKE_RC_COMPILE_OBJECT " -O coff -i -o ") - - # Here is the target environment located - set(CMAKE_FIND_ROOT_PATH $ENV{MINGW_PATH}/) - - message("CMAKE_FIND_ROOT_PATH: " ${CMAKE_FIND_ROOT_PATH}) - - # Tweak CMake into using Unix-style library names. - set(CMAKE_FIND_LIBRARY_PREFIXES "lib") - set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".dll") - - message("CMAKE_FIND_LIBRARY_PREFIXES: " ${CMAKE_FIND_LIBRARY_PREFIXES}) - message("CMAKE_FIND_LIBRARY_SUFFIXES: " ${CMAKE_FIND_LIBRARY_SUFFIXES}) - - set(SDL_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}x86_64-w64-mingw32/include/c++) - - message("SDL_INCLUDE_DIR: " ${SDL_INCLUDE_DIR}) - - #if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "^amd64") - link_directories($ENV{MINGW_PATH}/lib) - link_directories($ENV{DEVLIBS_PATH}/lib) - link_directories($ENV{MINGW_PATH}/x86_64-w64-mingw32/lib) - link_directories($ENV{WINDIR}/system32) - - include_directories($ENV{MINGW_PATH}/include) - - include_directories($ENV{MINGW_PATH}/x86_64-w64-mingw32/include) - include_directories($ENV{MINGW_PATH}/x86_64-w64-mingw32/include/c++) - #endif () - - get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES) - - foreach(dir ${dirs}) - message("CMAKE_INCLUDE_DIR:" ${dir}) - endforeach() - - add_definitions(-DFLT_EPSILON=1e-9) - add_definitions(-DFLT_MAX=1e+37) - add_definitions(-DFLT_MIN=1e-37) - - list(APPEND INKSCAPE_LIBS "-lgomp") - list(APPEND INKSCAPE_LIBS "-lwinpthread") - list(APPEND INKSCAPE_LIBS "-lmscms") - - list(APPEND INKSCAPE_CXX_FLAGS "-mwindows") - list(APPEND INKSCAPE_CXX_FLAGS "-mthreads") - list(APPEND INKSCAPE_CXX_FLAGS "-m64") - - # Try to compile using C++ 11. - set(CMAKE_CXX_STANDARD 11) - - message("---------------- END: Win32 ----------------") + # Set the link and include directories + get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES) + + # MinGW supplied STL does not define these floating point constants.. :/ + add_definitions(-DFLT_EPSILON=1e-9) + add_definitions(-DFLT_MAX=1e+37) + add_definitions(-DFLT_MIN=1e-37) + + list(APPEND INKSCAPE_LIBS "-lmscms") + + list(APPEND INKSCAPE_CXX_FLAGS "-mwindows") + list(APPEND INKSCAPE_CXX_FLAGS "-mthreads") + + if(HAVE_MINGW64) + list(APPEND INKSCAPE_LIBS "-lgomp") + list(APPEND INKSCAPE_LIBS "-lwinpthread") + + list(APPEND INKSCAPE_CXX_FLAGS "-m64") + else() + list(APPEND INKSCAPE_CXX_FLAGS "-m32") + endif() endif() pkg_check_modules(INKSCAPE_DEP REQUIRED pangocairo pangoft2 fontconfig gthread-2.0 gsl gmodule-2.0) + list(APPEND INKSCAPE_LIBS ${INKSCAPE_DEP_LDFLAGS}) list(APPEND INKSCAPE_INCS_SYS ${INKSCAPE_DEP_INCLUDE_DIRS}) list(APPEND INKSCAPE_LIBS ${INKSCAPE_DEP_LIBRARIES}) -- cgit v1.2.3 From c55b258d2131bd51a1a98831324173f544cf236b Mon Sep 17 00:00:00 2001 From: Sebastian Faubel Date: Mon, 4 Jul 2016 10:02:41 +0200 Subject: Fixed locales. (bzr r15002.1.2) --- CMakeScripts/ConfigPaths.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake index 09cd96df0..6ce849206 100644 --- a/CMakeScripts/ConfigPaths.cmake +++ b/CMakeScripts/ConfigPaths.cmake @@ -151,7 +151,7 @@ if(WIN32) endif() # Directory containing the current locale (translations). - set(PACKAGE_LOCALE_DIR "locale") + set(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") else(WIN32) # TODO: check and change this to correct value: -- cgit v1.2.3 From 8155c4690b6a74d704eaee3b19fef32c62fd38a4 Mon Sep 17 00:00:00 2001 From: Sebastian Faubel Date: Tue, 5 Jul 2016 12:39:38 +0200 Subject: Refactored the path settings and install scripts. Fixed build for 32-Bit devlibs. (bzr r15002.1.3) --- CMakeScripts/ConfigPaths.cmake | 173 +++-------------------------------------- 1 file changed, 12 insertions(+), 161 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake index 6ce849206..cfe6c66b6 100644 --- a/CMakeScripts/ConfigPaths.cmake +++ b/CMakeScripts/ConfigPaths.cmake @@ -1,166 +1,17 @@ message(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}") if(WIN32) -# Directory containing the precompiled Inkscape libraries. Usually c:\devlibs or c:\devlibs64 - set(DEVLIBS_PATH C:/devlibs64) - - # Directory containing the MinGW instance used for compilation. Usually c:\mingw or c:\mingw64 - set(MINGW_PATH C:/mingw64) - - # Directory containing the Ghostscript installation. - set(GS_PATH C:/latex/gs/gs8.61) - - # Normalize directory separator slashes. - string(REGEX REPLACE "\\\\" "/" DEVLIBS_PATH ${DEVLIBS_PATH}) - string(REGEX REPLACE "\\\\" "/" MINGW_PATH ${MINGW_PATH}) - string(REGEX REPLACE "\\\\" "/" GS_PATH ${GS_PATH}) - - # =============== DEVLIBS CHECKS =============== - - # Directory containing the compile time .dll.a and .a files. - set(DEVLIBS_LIB "${DEVLIBS_PATH}/lib") - - if(NOT EXISTS "${DEVLIBS_LIB}") - message(FATAL_ERROR "Inkscape development libraries directory does not exist: ${DEVLIBS_LIB}") - endif() - - # Add devlibs libraries to linker path. - link_directories(${DEVLIBS_LIB}) - - set(DEVLIBS_INCLUDE ${DEVLIBS_PATH}/include) - - if(NOT EXISTS ${DEVLIBS_INCLUDE}) - message(FATAL_ERROR "Inkscape development libraries directory does not exist: ${DEVLIBS_INCLUDE}") - endif() - - # Add general MinGW headers to compiler include path. - #include_directories(${DEVLIBS_INCLUDE}) - - # Directory containing the precompiled .dll files. - set(DEVLIBS_BIN ${DEVLIBS_PATH}/bin) - - if(NOT EXISTS ${DEVLIBS_BIN}) - message(FATAL_ERROR "Inkscape development binaries directory does not exist: ${DEVLIBS_BIN}") - endif() - - # Directory containing the pkgconfig .pc files. - set(PKG_CONFIG_PATH "${DEVLIBS_PATH}/lib/pkgconfig") - - if(NOT EXISTS "${PKG_CONFIG_PATH}") - message(FATAL_ERROR "pkgconfig directory does not exist: ${PKG_CONFIG_PATH}") - endif() - - # Add the devlibs directories to the paths used to find libraries and programs. - list(APPEND CMAKE_PREFIX_PATH ${DEVLIBS_PATH}) - - # Eliminate error messages when not having mingw in the environment path variable. - list(APPEND CMAKE_PROGRAM_PATH ${DEVLIBS_BIN}) - - # =============== MINGW CHECKS =============== - - # We are in a MinGW environment. - set(HAVE_MINGW ON) - - # Try to determine the MinGW processor architecture. - if(EXISTS ${MINGW_PATH}/mingw32) - set(HAVE_MINGW64 OFF) - set(MINGW_ARCH mingw32) - elseif(EXISTS ${MINGW_PATH}/x86_64-w64-mingw32) - set(HAVE_MINGW64 ON) - set(MINGW_ARCH x86_64-w64-mingw32) - else() - message(FATAL_ERROR "Unable to determine MinGW processor architecture. Are you using an unsupported MinGW version?") - endif() - - # Path to processor architecture specific binaries and libs. - set(MINGW_ARCH_PATH ${MINGW_PATH}/${MINGW_ARCH}) - - set(MINGW_BIN ${MINGW_PATH}/bin) - - if(NOT EXISTS ${MINGW_BIN}) - message(FATAL_ERROR "MinGW binary directory does not exist: ${MINGW_BIN}") - endif() - - # Eliminate error messages when not having mingw in the environment path variable. - list(APPEND CMAKE_PROGRAM_PATH ${MINGW_BIN}) - - set(MINGW_LIB ${MINGW_PATH}/lib) - - if(NOT EXISTS ${MINGW_LIB}) - message(FATAL_ERROR "MinGW library directory does not exist: ${MINGW_LIB}") - endif() - - # Add MinGW libraries to linker path. - link_directories(${MINGW_LIB}) - - set(MINGW_INCLUDE ${MINGW_PATH}/include) - - if(NOT EXISTS ${MINGW_INCLUDE}) - message(FATAL_ERROR "MinGW include directory does not exist: ${MINGW_INCLUDE}") - endif() - - # Add general MinGW headers to compiler include path. - include_directories(${MINGW_INCLUDE}) - - if(HAVE_MINGW64) - set(MINGW64_LIB ${MINGW_ARCH_PATH}/lib) - - if(NOT EXISTS ${MINGW64_LIB}) - message(FATAL_ERROR "MinGW 64-Bit libraries directory does not exist: ${MINGW64_LIB}") - endif() - - # Add 64-Bit libraries to linker path. - link_directories(${MINGW64_LIB}) - - set(MINGW64_INCLUDE ${MINGW_ARCH_PATH}/include) - - if(NOT EXISTS ${MINGW64_INCLUDE}) - message(FATAL_ERROR "MinGW 64-Bit include directory does not exist: ${MINGW64_INCLUDE}") - endif() - - set(MINGW64_INCLUDE_SDL ${MINGW64_INCLUDE}/c++) - - if(NOT EXISTS ${MINGW64_INCLUDE_SDL}) - message(FATAL_ERROR "MinGW 64-Bit SDL include directory does not exist: ${MINGW64_INCLUDE_SDL}") - endif() - - # Add 64-Bit MinGW headers to compiler include path. - include_directories(${MINGW64_INCLUDE}) - #include_directories(${MINGW64_INCLUDE_SDL}) - endif() - - # =============== GHOSTSCRIPT CHECKS =============== - - # Check for Ghostscript. - set(GS_BIN "${GS_PATH}/bin") - - if(EXISTS "${GS_BIN}") - set(HAVE_GS_BIN ON) - else() - set(HAVE_GS_BIN OFF) - endif() - - # =============== LIBRARY AND LINKER =============== - - # Tweak CMake into using Unix-style library names. - set(CMAKE_FIND_LIBRARY_PREFIXES "lib") - set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".dll") - - if(NOT HAVE_MINGW64) - list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES ".a") - endif() - - # Directory containing the current locale (translations). - set(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") - set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") -else(WIN32) - # TODO: check and change this to correct value: - if(NOT PACKAGE_LOCALE_DIR) set(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") # packagers might overwrite this - endif(NOT PACKAGE_LOCALE_DIR) - - if(NOT SHARE_INSTALL) set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") - endif(NOT SHARE_INSTALL) - mark_as_advanced(SHARE_INSTALL) -endif(WIN32) +else() + # TODO: check and change this to correct value: + if(NOT PACKAGE_LOCALE_DIR) + set(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") # packagers might overwrite this + endif(NOT PACKAGE_LOCALE_DIR) + + if(NOT SHARE_INSTALL) + set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") + endif(NOT SHARE_INSTALL) + + mark_as_advanced(SHARE_INSTALL) +endif() \ No newline at end of file -- cgit v1.2.3 From 825b2c868bd97252896492838964475dbf504d78 Mon Sep 17 00:00:00 2001 From: Sebastian Faubel Date: Tue, 5 Jul 2016 12:42:03 +0200 Subject: Added missing files. (bzr r15002.1.4) --- CMakeScripts/ConfigEnv.cmake | 54 +++++++++ CMakeScripts/Install.cmake | 273 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 327 insertions(+) create mode 100644 CMakeScripts/ConfigEnv.cmake create mode 100644 CMakeScripts/Install.cmake (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigEnv.cmake b/CMakeScripts/ConfigEnv.cmake new file mode 100644 index 000000000..91404f874 --- /dev/null +++ b/CMakeScripts/ConfigEnv.cmake @@ -0,0 +1,54 @@ +# ----------------------------------------------------------------------------- +# Set platform defaults (originally copied from darktable) +# ----------------------------------------------------------------------------- +if(WIN32) + message("-- Windows build detected, setting default features") + + include(mingwenv.cmake) + + list(INSERT CMAKE_SYSTEM_INCLUDE_PATH 0 ${DEVLIBS_PATH}) + list(INSERT CMAKE_SYSTEM_LIBRARY_PATH 0 ${DEVLIBS_PATH}) + + set(CMAKE_C_COMPILER "${MINGW_BIN}/gcc.exe") + set(CMAKE_C_LINK_EXECUTABLE "${MINGW_BIN}/gcc.exe") + set(CMAKE_CXX_COMPILER "${MINGW_BIN}/g++.exe") + set(CMAKE_CXX_LINK_EXECUTABLE "${MINGW_BIN}/g++.exe") + set(CMAKE_CXX_STANDARD 11) + + # Setup Windows resource files compiler. + set(CMAKE_RC_COMPILER "${MINGW_BIN}/windres.exe") + set(CMAKE_RC_COMPILER_INIT windres) + enable_language(RC) + set(CMAKE_RC_COMPILE_OBJECT " -O coff -i -o ") + + # These options are required for having i18n support on Windows. + option(ENABLE_NLS "Compile with Native Language Support (using gettext)" ON) + option(HAVE_BIND_TEXTDOMAIN_CODESET "Compile with 'bind_textdomain_codeset' function" ON) + + # Does not compile on Windows with these options. + option(BR_PTHREADS "Use binreloc thread support" OFF) + option(ENABLE_BINRELOC "Use AutoPackage" OFF) +endif() + +if(APPLE) + message("-- Mac OS X build detected, setting default features") + + # prefer macports and/or user-installed libraries over system ones + #LIST(APPEND CMAKE_PREFIX_PATH /opt/local /usr/local) + set(CMAKE_FIND_FRAMEWORK "LAST") + + # test and display relevant env variables + if(DEFINED ENV{CMAKE_PREFIX_PATH}) + message("CMAKE_PREFIX_PATH: $ENV{CMAKE_PREFIX_PATH}") + endif() + + if(DEFINED ENV{GTKMM_BASEPATH}) + message("GTKMM_BASEPATH: $ENV{GTKMM_BASEPATH}") + endif() + + # detect current GTK+ backend + pkg_check_variable(gtk+-2.0 target) + message("GTK2 backend: ${GTK+_2.0_TARGET}") +endif() + +include(CMakeScripts/ConfigPaths.cmake) \ No newline at end of file diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake new file mode 100644 index 000000000..e7311f080 --- /dev/null +++ b/CMakeScripts/Install.cmake @@ -0,0 +1,273 @@ +if(UNIX) + #Define the installation + install( + TARGETS inkscape_base inkscape inkview + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib/inkscape + ARCHIVE DESTINATION lib/inkscape + ) + + #The install directive for the binaries and libraries are found in src/CMakeList.txt + install( + FILES ${CMAKE_BINARY_DIR}/inkscape.desktop + DESTINATION ${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/applications + ) + + # this should probably be done no matter what the platform is, just set SHARE_INSTALL first + add_subdirectory(share) +elseif(WIN32) + set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/inkscape) + + install(PROGRAMS + ${EXECUTABLE_OUTPUT_PATH}/inkscape.exe + ${EXECUTABLE_OUTPUT_PATH}/inkview.exe + DESTINATION ${CMAKE_INSTALL_PREFIX} + ) + + install(FILES + ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll + ${LIBRARY_OUTPUT_PATH}/libgrid2.dll + DESTINATION ${CMAKE_INSTALL_PREFIX} + ) + + # devlibs and mingw dlls + install(FILES + AUTHORS + COPYING + NEWS + README + TRANSLATORS + DESTINATION ${CMAKE_INSTALL_PREFIX}) + + # There are differences in the devlibs for 64-Bit and 32-Bit build environments. + if(HAVE_MINGW64) + install(FILES + ${DEVLIBS_BIN}/bz2-1.dll + ${DEVLIBS_BIN}/icudt56.dll + ${DEVLIBS_BIN}/icuin56.dll + ${DEVLIBS_BIN}/icuuc56.dll + ${DEVLIBS_BIN}/libMagick++-6.Q16-6.dll + ${DEVLIBS_BIN}/libMagickCore-6.Q16-2.dll + ${DEVLIBS_BIN}/libMagickWand-6.Q16-2.dll + ${DEVLIBS_BIN}/libaspell-15.dll + ${DEVLIBS_BIN}/libatk-1.0-0.dll + ${DEVLIBS_BIN}/libatkmm-1.6-1.dll + ${DEVLIBS_BIN}/libcairo-2.dll + ${DEVLIBS_BIN}/libcairomm-1.0-1.dll + ${DEVLIBS_BIN}/libcdr-0.1.dll + ${DEVLIBS_BIN}/libcurl-4.dll + ${DEVLIBS_BIN}/libexif-12.dll + ${DEVLIBS_BIN}/libexpat-1.dll + ${DEVLIBS_BIN}/libexslt-0.dll + ${DEVLIBS_BIN}/libffi-6.dll + ${DEVLIBS_BIN}/libfontconfig-1.dll + ${DEVLIBS_BIN}/libfreetype-6.dll + ${DEVLIBS_BIN}/libgc-1.dll + ${DEVLIBS_BIN}/libgdk-win32-2.0-0.dll + ${DEVLIBS_BIN}/libgdk_pixbuf-2.0-0.dll + ${DEVLIBS_BIN}/libgdkmm-2.4-1.dll + ${DEVLIBS_BIN}/libgio-2.0-0.dll + ${DEVLIBS_BIN}/libgiomm-2.4-1.dll + ${DEVLIBS_BIN}/libglib-2.0-0.dll + ${DEVLIBS_BIN}/libglibmm-2.4-1.dll + ${DEVLIBS_BIN}/libgmodule-2.0-0.dll + ${DEVLIBS_BIN}/libgobject-2.0-0.dll + ${DEVLIBS_BIN}/libgsl-19.dll + ${DEVLIBS_BIN}/libgslcblas-0.dll + ${DEVLIBS_BIN}/libgthread-2.0-0.dll + ${DEVLIBS_BIN}/libgtk-win32-2.0-0.dll + ${DEVLIBS_BIN}/libgtkmm-2.4-1.dll + ${DEVLIBS_BIN}/libharfbuzz-0.dll + ${DEVLIBS_BIN}/libiconv-2.dll + ${DEVLIBS_BIN}/libintl-8.dll + ${DEVLIBS_BIN}/libjpeg-9.dll + ${DEVLIBS_BIN}/liblcms2-2.dll + ${DEVLIBS_BIN}/liblzma-5.dll + ${DEVLIBS_BIN}/libpango-1.0-0.dll + ${DEVLIBS_BIN}/libpangocairo-1.0-0.dll + ${DEVLIBS_BIN}/libpangoft2-1.0-0.dll + ${DEVLIBS_BIN}/libpangomm-1.4-1.dll + ${DEVLIBS_BIN}/libpangowin32-1.0-0.dll + ${DEVLIBS_BIN}/libpixman-1-0.dll + ${DEVLIBS_BIN}/libpng16-16.dll + ${DEVLIBS_BIN}/libpoppler-58.dll + ${DEVLIBS_BIN}/libpoppler-glib-8.dll + ${DEVLIBS_BIN}/libpopt-0.dll + ${DEVLIBS_BIN}/libpotrace-0.dll + ${DEVLIBS_BIN}/librevenge-0.0.dll + ${DEVLIBS_BIN}/librevenge-stream-0.0.dll + ${DEVLIBS_BIN}/libsigc-2.0-0.dll + ${DEVLIBS_BIN}/libtiff-5.dll + ${DEVLIBS_BIN}/libvisio-0.1.dll + ${DEVLIBS_BIN}/libwpd-0.10.dll + ${DEVLIBS_BIN}/libwpg-0.3.dll + ${DEVLIBS_BIN}/libxml2-2.dll + ${DEVLIBS_BIN}/libxslt-1.dll + ${DEVLIBS_BIN}/zlib1.dll + ${MINGW_BIN}/libstdc++-6.dll + ${MINGW_BIN}/libwinpthread-1.dll + ${MINGW_BIN}/libgcc_s_seh-1.dll + ${MINGW_BIN}/libgomp-1.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + else() + install(FILES + ${DEVLIBS_BIN}/bzip2.dll + ${DEVLIBS_BIN}/freetype6.dll + ${DEVLIBS_BIN}/iconv.dll + ${DEVLIBS_BIN}/icudata50.dll + ${DEVLIBS_BIN}/icui18n50.dll + ${DEVLIBS_BIN}/icuuc50.dll + ${DEVLIBS_BIN}/intl.dll + ${DEVLIBS_BIN}/libMagick++-3.dll + ${DEVLIBS_BIN}/libMagickCore-3.dll + ${DEVLIBS_BIN}/libMagickWand-3.dll + ${DEVLIBS_BIN}/libatk-1.0-0.dll + ${DEVLIBS_BIN}/libatkmm-1.6-1.dll + ${DEVLIBS_BIN}/libcairo-2.dll + ${DEVLIBS_BIN}/libcairomm-1.0-1.dll + ${DEVLIBS_BIN}/libcdr-0.1.dll + ${DEVLIBS_BIN}/libexif-12.dll + ${DEVLIBS_BIN}/libexpat-1.dll + ${DEVLIBS_BIN}/libexslt.dll + ${DEVLIBS_BIN}/libfontconfig-1.dll + ${DEVLIBS_BIN}/libgcc_s_sjlj-1.dll + ${DEVLIBS_BIN}/libgdk-win32-2.0-0.dll + ${DEVLIBS_BIN}/libgdk_pixbuf-2.0-0.dll + ${DEVLIBS_BIN}/libgdkmm-2.4-1.dll + ${DEVLIBS_BIN}/libgio-2.0-0.dll + ${DEVLIBS_BIN}/libgiomm-2.4-1.dll + ${DEVLIBS_BIN}/libglib-2.0-0.dll + ${DEVLIBS_BIN}/libglibmm-2.4-1.dll + ${DEVLIBS_BIN}/libgmodule-2.0-0.dll + ${DEVLIBS_BIN}/libgobject-2.0-0.dll + ${DEVLIBS_BIN}/libgthread-2.0-0.dll + ${DEVLIBS_BIN}/libgtk-win32-2.0-0.dll + ${DEVLIBS_BIN}/libgtkmm-2.4-1.dll + ${DEVLIBS_BIN}/libintl-8.dll + ${DEVLIBS_BIN}/libjpeg-7.dll + ${DEVLIBS_BIN}/liblcms-1.dll + ${DEVLIBS_BIN}/liblcms2-2.dll + ${DEVLIBS_BIN}/libopenjpeg-2.dll + ${DEVLIBS_BIN}/libpango-1.0-0.dll + ${DEVLIBS_BIN}/libpangocairo-1.0-0.dll + ${DEVLIBS_BIN}/libpangoft2-1.0-0.dll + ${DEVLIBS_BIN}/libpangomm-1.4-1.dll + ${DEVLIBS_BIN}/libpangowin32-1.0-0.dll + ${DEVLIBS_BIN}/libpixman-1-0.dll + ${DEVLIBS_BIN}/libpng12-0.dll + ${DEVLIBS_BIN}/libpng14-14.dll + ${DEVLIBS_BIN}/libpoppler-58.dll + ${DEVLIBS_BIN}/libpoppler-glib-8.dll + ${DEVLIBS_BIN}/libpopt-0.dll + ${DEVLIBS_BIN}/librevenge-0.0.dll + ${DEVLIBS_BIN}/librevenge-stream-0.0.dll + ${DEVLIBS_BIN}/libsigc-2.0-0.dll + ${DEVLIBS_BIN}/libtiff-3.dll + ${DEVLIBS_BIN}/libvisio-0.1.dll + ${DEVLIBS_BIN}/libwpd-0.9.dll + ${DEVLIBS_BIN}/libwpd-stream-0.9.dll + ${DEVLIBS_BIN}/libwpg-0.2.dll + ${DEVLIBS_BIN}/libxml2.dll + ${DEVLIBS_BIN}/libxslt.dll + ${DEVLIBS_BIN}/msvcr70.dll + ${DEVLIBS_BIN}/msvcr71.dll + ${DEVLIBS_BIN}/pthreadGC2.dll + ${DEVLIBS_BIN}/zlib1.dll + ${MINGW_BIN}/mingwm10.dll + ${MINGW_BIN}/libgomp-1.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + endif() + + # Setup application data directories, poppler files, locales, icons and themes + file(MAKE_DIRECTORY + data + doc + modules + plugins) + + install(DIRECTORY + data + doc + modules + plugins + share + DESTINATION ${CMAKE_INSTALL_PREFIX} + PATTERN Adwaita EXCLUDE # NOTE: The theme is not used on Windows. + PATTERN hicolor/index.theme EXCLUDE # NOTE: Empty index.theme in hicolor icon theme causes SIGSEGV. + PATTERN CMakeLists.txt EXCLUDE + PATTERN *.am EXCLUDE) + + install(DIRECTORY ${DEVLIBS_PATH}/share/themes + DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + + install(DIRECTORY ${DEVLIBS_PATH}/share/locale + DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + + install(DIRECTORY ${DEVLIBS_PATH}/share/poppler + DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + + install(DIRECTORY ${DEVLIBS_PATH}/etc/fonts + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + + install(DIRECTORY ${DEVLIBS_PATH}/etc/gtk-2.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + + # GTK 2.0 + install(DIRECTORY ${DEVLIBS_LIB}/gtk-2.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + FILES_MATCHING + PATTERN "*.dll" + PATTERN "*.cache") + + install(DIRECTORY ${DEVLIBS_LIB}/gdk-pixbuf-2.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + FILES_MATCHING + PATTERN "*.dll" + PATTERN "*.cache") + + # Aspell dictionaries + install(DIRECTORY ${DEVLIBS_LIB}/aspell-0.60 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + + # Necessary to run extensions on windows if it is not in the path + if (HAVE_MINGW64) + install(FILES + ${DEVLIBS_BIN}/gspawn-win64-helper.exe + ${DEVLIBS_BIN}/gspawn-win64-helper-console.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + else() + install(FILES + ${DEVLIBS_BIN}/gspawn-win32-helper.exe + ${DEVLIBS_BIN}/gspawn-win32-helper-console.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + endif() + + # Perl + install(FILES + ${DEVLIBS_PATH}/perl/bin/perl58.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + + # Python + install(FILES + ${DEVLIBS_PATH}/python/python.exe + ${DEVLIBS_PATH}/python/pythonw.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}/python) + + if(HAVE_MINGW64) + install(FILES + ${DEVLIBS_PATH}/python/python27.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}/python) + else() + install(FILES + ${DEVLIBS_PATH}/python/python26.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}/python) + endif() + + install(DIRECTORY ${DEVLIBS_PATH}/python/lib + DESTINATION ${CMAKE_INSTALL_PREFIX}/python) + + install(DIRECTORY ${DEVLIBS_PATH}/python/dlls + DESTINATION ${CMAKE_INSTALL_PREFIX}/python) +elseif(APPLE) + # TODO +endif() \ No newline at end of file -- cgit v1.2.3 From af9a8fb23a525dc0392890762651f315b32544e8 Mon Sep 17 00:00:00 2001 From: Adrian Boguszewski Date: Tue, 5 Jul 2016 13:49:26 +0200 Subject: Added simple test for SPObject (bzr r14954.1.16) --- CMakeScripts/ConfigCompileFlags.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigCompileFlags.cmake b/CMakeScripts/ConfigCompileFlags.cmake index 85a8a151c..e9694c2b7 100644 --- a/CMakeScripts/ConfigCompileFlags.cmake +++ b/CMakeScripts/ConfigCompileFlags.cmake @@ -12,9 +12,9 @@ if(WIN32) endif(WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 ${COMPILE_PROFILING_FLAGS} ") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 ${COMPILE_PROFILING_FLAGS} ") # TODO add_definitions("-std=c++11") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 ${COMPILE_PROFILING_FLAGS} ") #set(CMAKE_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM} ") -- cgit v1.2.3 From f381a48f549f2a3c4d7ec48a1458e7555306766b Mon Sep 17 00:00:00 2001 From: Sebastian Faubel Date: Wed, 6 Jul 2016 16:04:54 +0200 Subject: Fixed config.h defines to point to the right locations for data (icons) and locales. (bzr r15002.1.5) --- CMakeScripts/ConfigPaths.cmake | 13 ++++++++++++- CMakeScripts/Install.cmake | 2 -- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake index cfe6c66b6..9774d4df2 100644 --- a/CMakeScripts/ConfigPaths.cmake +++ b/CMakeScripts/ConfigPaths.cmake @@ -1,9 +1,20 @@ message(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}") if(WIN32) - set(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") # packagers might overwrite this + set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/inkscape") + + set(INKSCAPE_LIBDIR "\\\\lib") + set(INKSCAPE_DATADIR "") + + set(PACKAGE_LOCALE_DIR "\\\\share\\\\locale") + set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") + + mark_as_advanced(SHARE_INSTALL) else() + set(INKSCAPE_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib") + set(INKSCAPE_DATADIR "${CMAKE_INSTALL_PREFIX}/share") + # TODO: check and change this to correct value: if(NOT PACKAGE_LOCALE_DIR) set(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") # packagers might overwrite this diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index e7311f080..6a95ce604 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -16,8 +16,6 @@ if(UNIX) # this should probably be done no matter what the platform is, just set SHARE_INSTALL first add_subdirectory(share) elseif(WIN32) - set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/inkscape) - install(PROGRAMS ${EXECUTABLE_OUTPUT_PATH}/inkscape.exe ${EXECUTABLE_OUTPUT_PATH}/inkview.exe -- cgit v1.2.3 From 7b0f2601a652adb7566bfac6ec0eab7a9d95c7a2 Mon Sep 17 00:00:00 2001 From: Sebastian Faubel Date: Wed, 6 Jul 2016 17:42:00 +0200 Subject: Fixing build for Linux. Replaced tabs with whitespaces. (bzr r15002.1.7) --- CMakeScripts/ConfigEnv.cmake | 82 +++---- CMakeScripts/ConfigPaths.cmake | 40 ++-- CMakeScripts/Install.cmake | 515 ++++++++++++++++++++--------------------- 3 files changed, 314 insertions(+), 323 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigEnv.cmake b/CMakeScripts/ConfigEnv.cmake index 91404f874..ebd005cb3 100644 --- a/CMakeScripts/ConfigEnv.cmake +++ b/CMakeScripts/ConfigEnv.cmake @@ -2,53 +2,53 @@ # Set platform defaults (originally copied from darktable) # ----------------------------------------------------------------------------- if(WIN32) - message("-- Windows build detected, setting default features") + message("-- Windows build detected, setting default features") - include(mingwenv.cmake) - - list(INSERT CMAKE_SYSTEM_INCLUDE_PATH 0 ${DEVLIBS_PATH}) - list(INSERT CMAKE_SYSTEM_LIBRARY_PATH 0 ${DEVLIBS_PATH}) - - set(CMAKE_C_COMPILER "${MINGW_BIN}/gcc.exe") - set(CMAKE_C_LINK_EXECUTABLE "${MINGW_BIN}/gcc.exe") - set(CMAKE_CXX_COMPILER "${MINGW_BIN}/g++.exe") - set(CMAKE_CXX_LINK_EXECUTABLE "${MINGW_BIN}/g++.exe") - set(CMAKE_CXX_STANDARD 11) - - # Setup Windows resource files compiler. - set(CMAKE_RC_COMPILER "${MINGW_BIN}/windres.exe") - set(CMAKE_RC_COMPILER_INIT windres) - enable_language(RC) - set(CMAKE_RC_COMPILE_OBJECT " -O coff -i -o ") - - # These options are required for having i18n support on Windows. - option(ENABLE_NLS "Compile with Native Language Support (using gettext)" ON) - option(HAVE_BIND_TEXTDOMAIN_CODESET "Compile with 'bind_textdomain_codeset' function" ON) - - # Does not compile on Windows with these options. - option(BR_PTHREADS "Use binreloc thread support" OFF) - option(ENABLE_BINRELOC "Use AutoPackage" OFF) + include(mingwenv.cmake) + + list(INSERT CMAKE_SYSTEM_INCLUDE_PATH 0 ${DEVLIBS_PATH}) + list(INSERT CMAKE_SYSTEM_LIBRARY_PATH 0 ${DEVLIBS_PATH}) + + set(CMAKE_C_COMPILER "${MINGW_BIN}/gcc.exe") + set(CMAKE_C_LINK_EXECUTABLE "${MINGW_BIN}/gcc.exe") + set(CMAKE_CXX_COMPILER "${MINGW_BIN}/g++.exe") + set(CMAKE_CXX_LINK_EXECUTABLE "${MINGW_BIN}/g++.exe") + set(CMAKE_CXX_STANDARD 11) + + # Setup Windows resource files compiler. + set(CMAKE_RC_COMPILER "${MINGW_BIN}/windres.exe") + set(CMAKE_RC_COMPILER_INIT windres) + enable_language(RC) + set(CMAKE_RC_COMPILE_OBJECT " -O coff -i -o ") + + # These options are required for having i18n support on Windows. + option(ENABLE_NLS "Compile with Native Language Support (using gettext)" ON) + option(HAVE_BIND_TEXTDOMAIN_CODESET "Compile with 'bind_textdomain_codeset' function" ON) + + # Does not compile on Windows with these options. + option(BR_PTHREADS "Use binreloc thread support" OFF) + option(ENABLE_BINRELOC "Use AutoPackage" OFF) endif() if(APPLE) - message("-- Mac OS X build detected, setting default features") - - # prefer macports and/or user-installed libraries over system ones - #LIST(APPEND CMAKE_PREFIX_PATH /opt/local /usr/local) - set(CMAKE_FIND_FRAMEWORK "LAST") + message("-- Mac OS X build detected, setting default features") + + # prefer macports and/or user-installed libraries over system ones + #LIST(APPEND CMAKE_PREFIX_PATH /opt/local /usr/local) + set(CMAKE_FIND_FRAMEWORK "LAST") - # test and display relevant env variables - if(DEFINED ENV{CMAKE_PREFIX_PATH}) - message("CMAKE_PREFIX_PATH: $ENV{CMAKE_PREFIX_PATH}") - endif() - - if(DEFINED ENV{GTKMM_BASEPATH}) - message("GTKMM_BASEPATH: $ENV{GTKMM_BASEPATH}") - endif() + # test and display relevant env variables + if(DEFINED ENV{CMAKE_PREFIX_PATH}) + message("CMAKE_PREFIX_PATH: $ENV{CMAKE_PREFIX_PATH}") + endif() + + if(DEFINED ENV{GTKMM_BASEPATH}) + message("GTKMM_BASEPATH: $ENV{GTKMM_BASEPATH}") + endif() - # detect current GTK+ backend - pkg_check_variable(gtk+-2.0 target) - message("GTK2 backend: ${GTK+_2.0_TARGET}") + # detect current GTK+ backend + pkg_check_variable(gtk+-2.0 target) + message("GTK2 backend: ${GTK+_2.0_TARGET}") endif() include(CMakeScripts/ConfigPaths.cmake) \ No newline at end of file diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake index 9774d4df2..9489ba047 100644 --- a/CMakeScripts/ConfigPaths.cmake +++ b/CMakeScripts/ConfigPaths.cmake @@ -1,28 +1,28 @@ message(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}") if(WIN32) - set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/inkscape") - - set(INKSCAPE_LIBDIR "\\\\lib") - set(INKSCAPE_DATADIR "") - - set(PACKAGE_LOCALE_DIR "\\\\share\\\\locale") - - set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") - - mark_as_advanced(SHARE_INSTALL) + set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/inkscape") + + set(INKSCAPE_LIBDIR "\\\\lib") + set(INKSCAPE_DATADIR "") + + set(PACKAGE_LOCALE_DIR "\\\\share\\\\locale") + + set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") + + mark_as_advanced(SHARE_INSTALL) else() - set(INKSCAPE_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib") - set(INKSCAPE_DATADIR "${CMAKE_INSTALL_PREFIX}/share") + set(INKSCAPE_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib") + set(INKSCAPE_DATADIR "${CMAKE_INSTALL_PREFIX}/share") - # TODO: check and change this to correct value: - if(NOT PACKAGE_LOCALE_DIR) - set(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") # packagers might overwrite this - endif(NOT PACKAGE_LOCALE_DIR) + # TODO: check and change this to correct value: + if(NOT PACKAGE_LOCALE_DIR) + set(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") # packagers might overwrite this + endif(NOT PACKAGE_LOCALE_DIR) - if(NOT SHARE_INSTALL) - set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") - endif(NOT SHARE_INSTALL) + if(NOT SHARE_INSTALL) + set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") + endif(NOT SHARE_INSTALL) - mark_as_advanced(SHARE_INSTALL) + mark_as_advanced(SHARE_INSTALL) endif() \ No newline at end of file diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index 6a95ce604..8306cec16 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -1,271 +1,262 @@ -if(UNIX) - #Define the installation - install( - TARGETS inkscape_base inkscape inkview - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib/inkscape - ARCHIVE DESTINATION lib/inkscape - ) - +if(UNIX) #The install directive for the binaries and libraries are found in src/CMakeList.txt - install( - FILES ${CMAKE_BINARY_DIR}/inkscape.desktop - DESTINATION ${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/applications - ) + install(FILES + ${CMAKE_BINARY_DIR}/inkscape.desktop + DESTINATION ${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/applications) +endif() +if(NOT WIN32) # this should probably be done no matter what the platform is, just set SHARE_INSTALL first - add_subdirectory(share) -elseif(WIN32) - install(PROGRAMS - ${EXECUTABLE_OUTPUT_PATH}/inkscape.exe - ${EXECUTABLE_OUTPUT_PATH}/inkview.exe - DESTINATION ${CMAKE_INSTALL_PREFIX} - ) + add_subdirectory(../share) +else() + install(PROGRAMS + ${EXECUTABLE_OUTPUT_PATH}/inkscape.exe + ${EXECUTABLE_OUTPUT_PATH}/inkview.exe + DESTINATION ${CMAKE_INSTALL_PREFIX} + ) - install(FILES - ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll - ${LIBRARY_OUTPUT_PATH}/libgrid2.dll - DESTINATION ${CMAKE_INSTALL_PREFIX} - ) - - # devlibs and mingw dlls - install(FILES - AUTHORS - COPYING - NEWS - README - TRANSLATORS - DESTINATION ${CMAKE_INSTALL_PREFIX}) - - # There are differences in the devlibs for 64-Bit and 32-Bit build environments. - if(HAVE_MINGW64) - install(FILES - ${DEVLIBS_BIN}/bz2-1.dll - ${DEVLIBS_BIN}/icudt56.dll - ${DEVLIBS_BIN}/icuin56.dll - ${DEVLIBS_BIN}/icuuc56.dll - ${DEVLIBS_BIN}/libMagick++-6.Q16-6.dll - ${DEVLIBS_BIN}/libMagickCore-6.Q16-2.dll - ${DEVLIBS_BIN}/libMagickWand-6.Q16-2.dll - ${DEVLIBS_BIN}/libaspell-15.dll - ${DEVLIBS_BIN}/libatk-1.0-0.dll - ${DEVLIBS_BIN}/libatkmm-1.6-1.dll - ${DEVLIBS_BIN}/libcairo-2.dll - ${DEVLIBS_BIN}/libcairomm-1.0-1.dll - ${DEVLIBS_BIN}/libcdr-0.1.dll - ${DEVLIBS_BIN}/libcurl-4.dll - ${DEVLIBS_BIN}/libexif-12.dll - ${DEVLIBS_BIN}/libexpat-1.dll - ${DEVLIBS_BIN}/libexslt-0.dll - ${DEVLIBS_BIN}/libffi-6.dll - ${DEVLIBS_BIN}/libfontconfig-1.dll - ${DEVLIBS_BIN}/libfreetype-6.dll - ${DEVLIBS_BIN}/libgc-1.dll - ${DEVLIBS_BIN}/libgdk-win32-2.0-0.dll - ${DEVLIBS_BIN}/libgdk_pixbuf-2.0-0.dll - ${DEVLIBS_BIN}/libgdkmm-2.4-1.dll - ${DEVLIBS_BIN}/libgio-2.0-0.dll - ${DEVLIBS_BIN}/libgiomm-2.4-1.dll - ${DEVLIBS_BIN}/libglib-2.0-0.dll - ${DEVLIBS_BIN}/libglibmm-2.4-1.dll - ${DEVLIBS_BIN}/libgmodule-2.0-0.dll - ${DEVLIBS_BIN}/libgobject-2.0-0.dll - ${DEVLIBS_BIN}/libgsl-19.dll - ${DEVLIBS_BIN}/libgslcblas-0.dll - ${DEVLIBS_BIN}/libgthread-2.0-0.dll - ${DEVLIBS_BIN}/libgtk-win32-2.0-0.dll - ${DEVLIBS_BIN}/libgtkmm-2.4-1.dll - ${DEVLIBS_BIN}/libharfbuzz-0.dll - ${DEVLIBS_BIN}/libiconv-2.dll - ${DEVLIBS_BIN}/libintl-8.dll - ${DEVLIBS_BIN}/libjpeg-9.dll - ${DEVLIBS_BIN}/liblcms2-2.dll - ${DEVLIBS_BIN}/liblzma-5.dll - ${DEVLIBS_BIN}/libpango-1.0-0.dll - ${DEVLIBS_BIN}/libpangocairo-1.0-0.dll - ${DEVLIBS_BIN}/libpangoft2-1.0-0.dll - ${DEVLIBS_BIN}/libpangomm-1.4-1.dll - ${DEVLIBS_BIN}/libpangowin32-1.0-0.dll - ${DEVLIBS_BIN}/libpixman-1-0.dll - ${DEVLIBS_BIN}/libpng16-16.dll - ${DEVLIBS_BIN}/libpoppler-58.dll - ${DEVLIBS_BIN}/libpoppler-glib-8.dll - ${DEVLIBS_BIN}/libpopt-0.dll - ${DEVLIBS_BIN}/libpotrace-0.dll - ${DEVLIBS_BIN}/librevenge-0.0.dll - ${DEVLIBS_BIN}/librevenge-stream-0.0.dll - ${DEVLIBS_BIN}/libsigc-2.0-0.dll - ${DEVLIBS_BIN}/libtiff-5.dll - ${DEVLIBS_BIN}/libvisio-0.1.dll - ${DEVLIBS_BIN}/libwpd-0.10.dll - ${DEVLIBS_BIN}/libwpg-0.3.dll - ${DEVLIBS_BIN}/libxml2-2.dll - ${DEVLIBS_BIN}/libxslt-1.dll - ${DEVLIBS_BIN}/zlib1.dll - ${MINGW_BIN}/libstdc++-6.dll - ${MINGW_BIN}/libwinpthread-1.dll - ${MINGW_BIN}/libgcc_s_seh-1.dll - ${MINGW_BIN}/libgomp-1.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) - else() - install(FILES - ${DEVLIBS_BIN}/bzip2.dll - ${DEVLIBS_BIN}/freetype6.dll - ${DEVLIBS_BIN}/iconv.dll - ${DEVLIBS_BIN}/icudata50.dll - ${DEVLIBS_BIN}/icui18n50.dll - ${DEVLIBS_BIN}/icuuc50.dll - ${DEVLIBS_BIN}/intl.dll - ${DEVLIBS_BIN}/libMagick++-3.dll - ${DEVLIBS_BIN}/libMagickCore-3.dll - ${DEVLIBS_BIN}/libMagickWand-3.dll - ${DEVLIBS_BIN}/libatk-1.0-0.dll - ${DEVLIBS_BIN}/libatkmm-1.6-1.dll - ${DEVLIBS_BIN}/libcairo-2.dll - ${DEVLIBS_BIN}/libcairomm-1.0-1.dll - ${DEVLIBS_BIN}/libcdr-0.1.dll - ${DEVLIBS_BIN}/libexif-12.dll - ${DEVLIBS_BIN}/libexpat-1.dll - ${DEVLIBS_BIN}/libexslt.dll - ${DEVLIBS_BIN}/libfontconfig-1.dll - ${DEVLIBS_BIN}/libgcc_s_sjlj-1.dll - ${DEVLIBS_BIN}/libgdk-win32-2.0-0.dll - ${DEVLIBS_BIN}/libgdk_pixbuf-2.0-0.dll - ${DEVLIBS_BIN}/libgdkmm-2.4-1.dll - ${DEVLIBS_BIN}/libgio-2.0-0.dll - ${DEVLIBS_BIN}/libgiomm-2.4-1.dll - ${DEVLIBS_BIN}/libglib-2.0-0.dll - ${DEVLIBS_BIN}/libglibmm-2.4-1.dll - ${DEVLIBS_BIN}/libgmodule-2.0-0.dll - ${DEVLIBS_BIN}/libgobject-2.0-0.dll - ${DEVLIBS_BIN}/libgthread-2.0-0.dll - ${DEVLIBS_BIN}/libgtk-win32-2.0-0.dll - ${DEVLIBS_BIN}/libgtkmm-2.4-1.dll - ${DEVLIBS_BIN}/libintl-8.dll - ${DEVLIBS_BIN}/libjpeg-7.dll - ${DEVLIBS_BIN}/liblcms-1.dll - ${DEVLIBS_BIN}/liblcms2-2.dll - ${DEVLIBS_BIN}/libopenjpeg-2.dll - ${DEVLIBS_BIN}/libpango-1.0-0.dll - ${DEVLIBS_BIN}/libpangocairo-1.0-0.dll - ${DEVLIBS_BIN}/libpangoft2-1.0-0.dll - ${DEVLIBS_BIN}/libpangomm-1.4-1.dll - ${DEVLIBS_BIN}/libpangowin32-1.0-0.dll - ${DEVLIBS_BIN}/libpixman-1-0.dll - ${DEVLIBS_BIN}/libpng12-0.dll - ${DEVLIBS_BIN}/libpng14-14.dll - ${DEVLIBS_BIN}/libpoppler-58.dll - ${DEVLIBS_BIN}/libpoppler-glib-8.dll - ${DEVLIBS_BIN}/libpopt-0.dll - ${DEVLIBS_BIN}/librevenge-0.0.dll - ${DEVLIBS_BIN}/librevenge-stream-0.0.dll - ${DEVLIBS_BIN}/libsigc-2.0-0.dll - ${DEVLIBS_BIN}/libtiff-3.dll - ${DEVLIBS_BIN}/libvisio-0.1.dll - ${DEVLIBS_BIN}/libwpd-0.9.dll - ${DEVLIBS_BIN}/libwpd-stream-0.9.dll - ${DEVLIBS_BIN}/libwpg-0.2.dll - ${DEVLIBS_BIN}/libxml2.dll - ${DEVLIBS_BIN}/libxslt.dll - ${DEVLIBS_BIN}/msvcr70.dll - ${DEVLIBS_BIN}/msvcr71.dll - ${DEVLIBS_BIN}/pthreadGC2.dll - ${DEVLIBS_BIN}/zlib1.dll - ${MINGW_BIN}/mingwm10.dll - ${MINGW_BIN}/libgomp-1.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) - endif() + install(FILES + ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll + ${LIBRARY_OUTPUT_PATH}/libgrid2.dll + DESTINATION ${CMAKE_INSTALL_PREFIX} + ) + + # devlibs and mingw dlls + install(FILES + AUTHORS + COPYING + NEWS + README + TRANSLATORS + DESTINATION ${CMAKE_INSTALL_PREFIX}) + + # There are differences in the devlibs for 64-Bit and 32-Bit build environments. + if(HAVE_MINGW64) + install(FILES + ${DEVLIBS_BIN}/bz2-1.dll + ${DEVLIBS_BIN}/icudt56.dll + ${DEVLIBS_BIN}/icuin56.dll + ${DEVLIBS_BIN}/icuuc56.dll + ${DEVLIBS_BIN}/libMagick++-6.Q16-6.dll + ${DEVLIBS_BIN}/libMagickCore-6.Q16-2.dll + ${DEVLIBS_BIN}/libMagickWand-6.Q16-2.dll + ${DEVLIBS_BIN}/libaspell-15.dll + ${DEVLIBS_BIN}/libatk-1.0-0.dll + ${DEVLIBS_BIN}/libatkmm-1.6-1.dll + ${DEVLIBS_BIN}/libcairo-2.dll + ${DEVLIBS_BIN}/libcairomm-1.0-1.dll + ${DEVLIBS_BIN}/libcdr-0.1.dll + ${DEVLIBS_BIN}/libcurl-4.dll + ${DEVLIBS_BIN}/libexif-12.dll + ${DEVLIBS_BIN}/libexpat-1.dll + ${DEVLIBS_BIN}/libexslt-0.dll + ${DEVLIBS_BIN}/libffi-6.dll + ${DEVLIBS_BIN}/libfontconfig-1.dll + ${DEVLIBS_BIN}/libfreetype-6.dll + ${DEVLIBS_BIN}/libgc-1.dll + ${DEVLIBS_BIN}/libgdk-win32-2.0-0.dll + ${DEVLIBS_BIN}/libgdk_pixbuf-2.0-0.dll + ${DEVLIBS_BIN}/libgdkmm-2.4-1.dll + ${DEVLIBS_BIN}/libgio-2.0-0.dll + ${DEVLIBS_BIN}/libgiomm-2.4-1.dll + ${DEVLIBS_BIN}/libglib-2.0-0.dll + ${DEVLIBS_BIN}/libglibmm-2.4-1.dll + ${DEVLIBS_BIN}/libgmodule-2.0-0.dll + ${DEVLIBS_BIN}/libgobject-2.0-0.dll + ${DEVLIBS_BIN}/libgsl-19.dll + ${DEVLIBS_BIN}/libgslcblas-0.dll + ${DEVLIBS_BIN}/libgthread-2.0-0.dll + ${DEVLIBS_BIN}/libgtk-win32-2.0-0.dll + ${DEVLIBS_BIN}/libgtkmm-2.4-1.dll + ${DEVLIBS_BIN}/libharfbuzz-0.dll + ${DEVLIBS_BIN}/libiconv-2.dll + ${DEVLIBS_BIN}/libintl-8.dll + ${DEVLIBS_BIN}/libjpeg-9.dll + ${DEVLIBS_BIN}/liblcms2-2.dll + ${DEVLIBS_BIN}/liblzma-5.dll + ${DEVLIBS_BIN}/libpango-1.0-0.dll + ${DEVLIBS_BIN}/libpangocairo-1.0-0.dll + ${DEVLIBS_BIN}/libpangoft2-1.0-0.dll + ${DEVLIBS_BIN}/libpangomm-1.4-1.dll + ${DEVLIBS_BIN}/libpangowin32-1.0-0.dll + ${DEVLIBS_BIN}/libpixman-1-0.dll + ${DEVLIBS_BIN}/libpng16-16.dll + ${DEVLIBS_BIN}/libpoppler-58.dll + ${DEVLIBS_BIN}/libpoppler-glib-8.dll + ${DEVLIBS_BIN}/libpopt-0.dll + ${DEVLIBS_BIN}/libpotrace-0.dll + ${DEVLIBS_BIN}/librevenge-0.0.dll + ${DEVLIBS_BIN}/librevenge-stream-0.0.dll + ${DEVLIBS_BIN}/libsigc-2.0-0.dll + ${DEVLIBS_BIN}/libtiff-5.dll + ${DEVLIBS_BIN}/libvisio-0.1.dll + ${DEVLIBS_BIN}/libwpd-0.10.dll + ${DEVLIBS_BIN}/libwpg-0.3.dll + ${DEVLIBS_BIN}/libxml2-2.dll + ${DEVLIBS_BIN}/libxslt-1.dll + ${DEVLIBS_BIN}/zlib1.dll + ${MINGW_BIN}/libstdc++-6.dll + ${MINGW_BIN}/libwinpthread-1.dll + ${MINGW_BIN}/libgcc_s_seh-1.dll + ${MINGW_BIN}/libgomp-1.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + else() + install(FILES + ${DEVLIBS_BIN}/bzip2.dll + ${DEVLIBS_BIN}/freetype6.dll + ${DEVLIBS_BIN}/iconv.dll + ${DEVLIBS_BIN}/icudata50.dll + ${DEVLIBS_BIN}/icui18n50.dll + ${DEVLIBS_BIN}/icuuc50.dll + ${DEVLIBS_BIN}/intl.dll + ${DEVLIBS_BIN}/libMagick++-3.dll + ${DEVLIBS_BIN}/libMagickCore-3.dll + ${DEVLIBS_BIN}/libMagickWand-3.dll + ${DEVLIBS_BIN}/libatk-1.0-0.dll + ${DEVLIBS_BIN}/libatkmm-1.6-1.dll + ${DEVLIBS_BIN}/libcairo-2.dll + ${DEVLIBS_BIN}/libcairomm-1.0-1.dll + ${DEVLIBS_BIN}/libcdr-0.1.dll + ${DEVLIBS_BIN}/libexif-12.dll + ${DEVLIBS_BIN}/libexpat-1.dll + ${DEVLIBS_BIN}/libexslt.dll + ${DEVLIBS_BIN}/libfontconfig-1.dll + ${DEVLIBS_BIN}/libgcc_s_sjlj-1.dll + ${DEVLIBS_BIN}/libgdk-win32-2.0-0.dll + ${DEVLIBS_BIN}/libgdk_pixbuf-2.0-0.dll + ${DEVLIBS_BIN}/libgdkmm-2.4-1.dll + ${DEVLIBS_BIN}/libgio-2.0-0.dll + ${DEVLIBS_BIN}/libgiomm-2.4-1.dll + ${DEVLIBS_BIN}/libglib-2.0-0.dll + ${DEVLIBS_BIN}/libglibmm-2.4-1.dll + ${DEVLIBS_BIN}/libgmodule-2.0-0.dll + ${DEVLIBS_BIN}/libgobject-2.0-0.dll + ${DEVLIBS_BIN}/libgthread-2.0-0.dll + ${DEVLIBS_BIN}/libgtk-win32-2.0-0.dll + ${DEVLIBS_BIN}/libgtkmm-2.4-1.dll + ${DEVLIBS_BIN}/libintl-8.dll + ${DEVLIBS_BIN}/libjpeg-7.dll + ${DEVLIBS_BIN}/liblcms-1.dll + ${DEVLIBS_BIN}/liblcms2-2.dll + ${DEVLIBS_BIN}/libopenjpeg-2.dll + ${DEVLIBS_BIN}/libpango-1.0-0.dll + ${DEVLIBS_BIN}/libpangocairo-1.0-0.dll + ${DEVLIBS_BIN}/libpangoft2-1.0-0.dll + ${DEVLIBS_BIN}/libpangomm-1.4-1.dll + ${DEVLIBS_BIN}/libpangowin32-1.0-0.dll + ${DEVLIBS_BIN}/libpixman-1-0.dll + ${DEVLIBS_BIN}/libpng12-0.dll + ${DEVLIBS_BIN}/libpng14-14.dll + ${DEVLIBS_BIN}/libpoppler-58.dll + ${DEVLIBS_BIN}/libpoppler-glib-8.dll + ${DEVLIBS_BIN}/libpopt-0.dll + ${DEVLIBS_BIN}/librevenge-0.0.dll + ${DEVLIBS_BIN}/librevenge-stream-0.0.dll + ${DEVLIBS_BIN}/libsigc-2.0-0.dll + ${DEVLIBS_BIN}/libtiff-3.dll + ${DEVLIBS_BIN}/libvisio-0.1.dll + ${DEVLIBS_BIN}/libwpd-0.9.dll + ${DEVLIBS_BIN}/libwpd-stream-0.9.dll + ${DEVLIBS_BIN}/libwpg-0.2.dll + ${DEVLIBS_BIN}/libxml2.dll + ${DEVLIBS_BIN}/libxslt.dll + ${DEVLIBS_BIN}/msvcr70.dll + ${DEVLIBS_BIN}/msvcr71.dll + ${DEVLIBS_BIN}/pthreadGC2.dll + ${DEVLIBS_BIN}/zlib1.dll + ${MINGW_BIN}/mingwm10.dll + ${MINGW_BIN}/libgomp-1.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + endif() - # Setup application data directories, poppler files, locales, icons and themes - file(MAKE_DIRECTORY - data - doc - modules - plugins) + # Setup application data directories, poppler files, locales, icons and themes + file(MAKE_DIRECTORY + data + doc + modules + plugins) - install(DIRECTORY - data - doc - modules - plugins - share - DESTINATION ${CMAKE_INSTALL_PREFIX} - PATTERN Adwaita EXCLUDE # NOTE: The theme is not used on Windows. - PATTERN hicolor/index.theme EXCLUDE # NOTE: Empty index.theme in hicolor icon theme causes SIGSEGV. - PATTERN CMakeLists.txt EXCLUDE - PATTERN *.am EXCLUDE) - - install(DIRECTORY ${DEVLIBS_PATH}/share/themes - DESTINATION ${CMAKE_INSTALL_PREFIX}/share) - - install(DIRECTORY ${DEVLIBS_PATH}/share/locale - DESTINATION ${CMAKE_INSTALL_PREFIX}/share) - - install(DIRECTORY ${DEVLIBS_PATH}/share/poppler - DESTINATION ${CMAKE_INSTALL_PREFIX}/share) - - install(DIRECTORY ${DEVLIBS_PATH}/etc/fonts - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) - - install(DIRECTORY ${DEVLIBS_PATH}/etc/gtk-2.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) - - # GTK 2.0 - install(DIRECTORY ${DEVLIBS_LIB}/gtk-2.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - FILES_MATCHING - PATTERN "*.dll" - PATTERN "*.cache") + install(DIRECTORY + data + doc + modules + plugins + share + DESTINATION ${CMAKE_INSTALL_PREFIX} + PATTERN Adwaita EXCLUDE # NOTE: The theme is not used on Windows. + PATTERN hicolor/index.theme EXCLUDE # NOTE: Empty index.theme in hicolor icon theme causes SIGSEGV. + PATTERN CMakeLists.txt EXCLUDE + PATTERN *.am EXCLUDE) + + install(DIRECTORY ${DEVLIBS_PATH}/share/themes + DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + + install(DIRECTORY ${DEVLIBS_PATH}/share/locale + DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + + install(DIRECTORY ${DEVLIBS_PATH}/share/poppler + DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + + install(DIRECTORY ${DEVLIBS_PATH}/etc/fonts + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + + install(DIRECTORY ${DEVLIBS_PATH}/etc/gtk-2.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + + # GTK 2.0 + install(DIRECTORY ${DEVLIBS_LIB}/gtk-2.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + FILES_MATCHING + PATTERN "*.dll" + PATTERN "*.cache") - install(DIRECTORY ${DEVLIBS_LIB}/gdk-pixbuf-2.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - FILES_MATCHING - PATTERN "*.dll" - PATTERN "*.cache") - - # Aspell dictionaries - install(DIRECTORY ${DEVLIBS_LIB}/aspell-0.60 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) - - # Necessary to run extensions on windows if it is not in the path - if (HAVE_MINGW64) - install(FILES - ${DEVLIBS_BIN}/gspawn-win64-helper.exe - ${DEVLIBS_BIN}/gspawn-win64-helper-console.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) - else() - install(FILES - ${DEVLIBS_BIN}/gspawn-win32-helper.exe - ${DEVLIBS_BIN}/gspawn-win32-helper-console.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) - endif() - - # Perl - install(FILES - ${DEVLIBS_PATH}/perl/bin/perl58.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(DIRECTORY ${DEVLIBS_LIB}/gdk-pixbuf-2.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + FILES_MATCHING + PATTERN "*.dll" + PATTERN "*.cache") + + # Aspell dictionaries + install(DIRECTORY ${DEVLIBS_LIB}/aspell-0.60 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + + # Necessary to run extensions on windows if it is not in the path + if (HAVE_MINGW64) + install(FILES + ${DEVLIBS_BIN}/gspawn-win64-helper.exe + ${DEVLIBS_BIN}/gspawn-win64-helper-console.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + else() + install(FILES + ${DEVLIBS_BIN}/gspawn-win32-helper.exe + ${DEVLIBS_BIN}/gspawn-win32-helper-console.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + endif() + + # Perl + install(FILES + ${DEVLIBS_PATH}/perl/bin/perl58.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) - # Python - install(FILES - ${DEVLIBS_PATH}/python/python.exe - ${DEVLIBS_PATH}/python/pythonw.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}/python) - - if(HAVE_MINGW64) - install(FILES - ${DEVLIBS_PATH}/python/python27.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}/python) - else() - install(FILES - ${DEVLIBS_PATH}/python/python26.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}/python) - endif() - - install(DIRECTORY ${DEVLIBS_PATH}/python/lib - DESTINATION ${CMAKE_INSTALL_PREFIX}/python) - - install(DIRECTORY ${DEVLIBS_PATH}/python/dlls - DESTINATION ${CMAKE_INSTALL_PREFIX}/python) -elseif(APPLE) - # TODO + # Python + install(FILES + ${DEVLIBS_PATH}/python/python.exe + ${DEVLIBS_PATH}/python/pythonw.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}/python) + + if(HAVE_MINGW64) + install(FILES + ${DEVLIBS_PATH}/python/python27.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}/python) + else() + install(FILES + ${DEVLIBS_PATH}/python/python26.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}/python) + endif() + + install(DIRECTORY ${DEVLIBS_PATH}/python/lib + DESTINATION ${CMAKE_INSTALL_PREFIX}/python) + + install(DIRECTORY ${DEVLIBS_PATH}/python/dlls + DESTINATION ${CMAKE_INSTALL_PREFIX}/python) endif() \ No newline at end of file -- cgit v1.2.3 From 24ac45b8bad3a477e2af643c36a77d82916a2017 Mon Sep 17 00:00:00 2001 From: Sebastian Faubel Date: Wed, 6 Jul 2016 17:45:34 +0200 Subject: Fixing build for Linux. (bzr r15002.1.8) --- CMakeScripts/Install.cmake | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index 8306cec16..aee0444de 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -5,10 +5,7 @@ if(UNIX) DESTINATION ${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/applications) endif() -if(NOT WIN32) - # this should probably be done no matter what the platform is, just set SHARE_INSTALL first - add_subdirectory(../share) -else() +if(WIN32) install(PROGRAMS ${EXECUTABLE_OUTPUT_PATH}/inkscape.exe ${EXECUTABLE_OUTPUT_PATH}/inkview.exe -- cgit v1.2.3 From e025d5e0ef78ecb969027f520140e389980bece5 Mon Sep 17 00:00:00 2001 From: Sebastian Faubel Date: Tue, 26 Jul 2016 23:31:41 +0200 Subject: CMake on Windows produces same output as btool. Added inkscape.com and icon to inkview.exe Added msysenv.sh to support compiling using MSYS. (bzr r15023.1.1) --- CMakeScripts/Install.cmake | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index aee0444de..ff6784fa7 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -11,10 +11,15 @@ if(WIN32) ${EXECUTABLE_OUTPUT_PATH}/inkview.exe DESTINATION ${CMAKE_INSTALL_PREFIX} ) + + install(PROGRAMS + ${EXECUTABLE_OUTPUT_PATH}/inkscape_com.exe + DESTINATION ${CMAKE_INSTALL_PREFIX} + RENAME inkscape.com + ) install(FILES ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll - ${LIBRARY_OUTPUT_PATH}/libgrid2.dll DESTINATION ${CMAKE_INSTALL_PREFIX} ) @@ -25,6 +30,9 @@ if(WIN32) NEWS README TRANSLATORS + GPL2.txt + GPL3.txt + LGPL2.1.txt DESTINATION ${CMAKE_INSTALL_PREFIX}) # There are differences in the devlibs for 64-Bit and 32-Bit build environments. -- cgit v1.2.3 From 3078d10fcf276c0d36975bfd48ef064b46f60b3d Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Wed, 27 Jul 2016 17:21:52 +0100 Subject: Disable GTK+ 2 support and delete internal copy of GDL Fixed bugs: - https://launchpad.net/bugs/1424830 - https://launchpad.net/bugs/1606558 (bzr r15023.2.1) --- CMakeScripts/DefineDependsandFlags.cmake | 29 ----------------------------- 1 file changed, 29 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index b708484af..7117c1f7e 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -237,7 +237,6 @@ endif() set(TRY_GTKSPELL 1) # Include dependencies: # use patched version until GTK2_CAIROMMCONFIG_INCLUDE_DIR is added -if("${WITH_GTK3_EXPERIMENTAL}") pkg_check_modules( GTK3 REQUIRED @@ -247,10 +246,8 @@ if("${WITH_GTK3_EXPERIMENTAL}") gdk-3.0>=3.8 gdl-3.0>=3.4 ) - message("Using EXPERIMENTAL Gtkmm 3 build") list(APPEND INKSCAPE_CXX_FLAGS ${GTK3_CFLAGS_OTHER}) set(WITH_GTKMM_3_0 1) - message("Using external GDL") set(WITH_EXT_GDL 1) # Check whether we can use new features in Gtkmm 3.10 @@ -291,32 +288,6 @@ if("${WITH_GTK3_EXPERIMENTAL}") ${GTK3_LIBRARIES} ${GTKSPELL3_LIBRARIES} ) -else() - pkg_check_modules(GTK REQUIRED - gtkmm-2.4>=2.24 - gdkmm-2.4 - gtk+-2.0 - gdk-2.0 - ) - list(APPEND INKSCAPE_CXX_FLAGS ${GTK_CFLAGS_OTHER}) - pkg_check_modules(GTKSPELL2 gtkspell-2.0) - if("${GTKSPELL2_FOUND}") - message("Using GtkSpell 2") - add_definitions(${GTKSPELL2_CFLAGS_OTHER}) - set (WITH_GTKSPELL 1) - else() - unset(WITH_GTKSPELL) - endif() - list(APPEND INKSCAPE_INCS_SYS - ${GTK_INCLUDE_DIRS} - ${GTKSPELL2_INCLUDE_DIRS} - ) - - list(APPEND INKSCAPE_LIBS - ${GTK_LIBRARIES} - ${GTKSPELL2_LIBRARIES} - ) -endif() find_package(Freetype REQUIRED) list(APPEND INKSCAPE_INCS_SYS ${FREETYPE_INCLUDE_DIRS}) -- cgit v1.2.3 From dcd91f59f597ab4af07cee5929ce0e2e1f9104d5 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Thu, 28 Jul 2016 16:16:18 +0100 Subject: Drop remaining GTKMM 2 fallback support (bzr r15023.2.7) --- CMakeScripts/DefineDependsandFlags.cmake | 1 - 1 file changed, 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 7117c1f7e..2c5acaff3 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -247,7 +247,6 @@ set(TRY_GTKSPELL 1) gdl-3.0>=3.4 ) list(APPEND INKSCAPE_CXX_FLAGS ${GTK3_CFLAGS_OTHER}) - set(WITH_GTKMM_3_0 1) set(WITH_EXT_GDL 1) # Check whether we can use new features in Gtkmm 3.10 -- cgit v1.2.3 From 49a7927ecf31ace696e9e5770e8d6543c356db7a Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Thu, 28 Jul 2016 19:15:34 +0100 Subject: Finish removing GTK+ 2 fallbacks (bzr r15023.2.8) --- CMakeScripts/DefineDependsandFlags.cmake | 1 - 1 file changed, 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 2c5acaff3..b56343eda 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -247,7 +247,6 @@ set(TRY_GTKSPELL 1) gdl-3.0>=3.4 ) list(APPEND INKSCAPE_CXX_FLAGS ${GTK3_CFLAGS_OTHER}) - set(WITH_EXT_GDL 1) # Check whether we can use new features in Gtkmm 3.10 # TODO: Drop this test and bump the version number in the GTK test above -- cgit v1.2.3 From adf43740cc2fb739be3b4fc10a11c47d99bb3c57 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Thu, 4 Aug 2016 18:17:28 +0100 Subject: Require C++11 (bzr r15039) --- CMakeScripts/DefineDependsandFlags.cmake | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index b56343eda..186daf33f 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -11,6 +11,12 @@ list(APPEND INKSCAPE_INCS ${PROJECT_SOURCE_DIR} ${CMAKE_BINARY_DIR}/include ) +# ---------------------------------------------------------------------------- +# Add C++11 standard compliance +# TODO: Add a proper check for compiler compliance here +# ---------------------------------------------------------------------------- +list(APPEND INKSCAPE_CXX_FLAGS "-std=c++11") + # ---------------------------------------------------------------------------- # Files we include # ---------------------------------------------------------------------------- -- cgit v1.2.3 From 5b4f5eea12a4ee758114c3b18d95962bd87b4a19 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Tue, 30 Aug 2016 12:38:29 +0100 Subject: Use HarfBuzz instead of deprecated Pango OT Fixed bugs: - https://launchpad.net/bugs/1488159 (bzr r15094) --- CMakeScripts/DefineDependsandFlags.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 186daf33f..e3bc9258e 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -44,7 +44,14 @@ if(WIN32) endif() endif() -pkg_check_modules(INKSCAPE_DEP REQUIRED pangocairo pangoft2 fontconfig gthread-2.0 gsl gmodule-2.0) +pkg_check_modules(INKSCAPE_DEP REQUIRED + harfbuzz + pangocairo + pangoft2 + fontconfig + gthread-2.0 + gsl + gmodule-2.0) list(APPEND INKSCAPE_LIBS ${INKSCAPE_DEP_LDFLAGS}) list(APPEND INKSCAPE_INCS_SYS ${INKSCAPE_DEP_INCLUDE_DIRS}) -- cgit v1.2.3 From bfd3776928695c2e2ffd7b05a3ac0490f813b97b Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 3 Sep 2016 13:23:06 +1000 Subject: Update CMake checker Report stale ignore files (bzr r15101) --- CMakeScripts/cmake_consistency_check.py | 212 ++++++++++++++++++-------------- 1 file changed, 123 insertions(+), 89 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/cmake_consistency_check.py b/CMakeScripts/cmake_consistency_check.py index 53026910e..64419936b 100755 --- a/CMakeScripts/cmake_consistency_check.py +++ b/CMakeScripts/cmake_consistency_check.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # $Id: cmake_consistency_check.py 38869 2011-07-31 03:15:37Z campbellbarton $ # ***** BEGIN GPL LICENSE BLOCK ***** @@ -23,13 +23,22 @@ # -from cmake_consistency_check_config import IGNORE, UTF8_CHECK, SOURCE_DIR +import sys +if not sys.version.startswith("3"): + print("\nPython3.x needed, found %s.\nAborting!\n" % + sys.version.partition(" ")[0]) + sys.exit(1) + +from cmake_consistency_check_config import ( + IGNORE, + UTF8_CHECK, + SOURCE_DIR, +) + import os from os.path import join, dirname, normpath, splitext -print("Scanning:", SOURCE_DIR) - global_h = set() global_c = set() global_refs = {} @@ -53,7 +62,7 @@ def replace_line(f, i, text, keep_indent=True): def source_list(path, filename_check=None): for dirpath, dirnames, filenames in os.walk(path): - # skip '.svn' + # skip '.bzr' if dirpath.startswith("."): continue @@ -70,12 +79,12 @@ def is_cmake(filename): def is_c_header(filename): ext = splitext(filename)[1] - return (ext in (".h", ".hpp", ".hxx")) + return (ext in {".h", ".hpp", ".hxx", ".hh"}) def is_c(filename): ext = splitext(filename)[1] - return (ext in (".c", ".cpp", ".cxx", ".m", ".mm", ".rc")) + return (ext in {".c", ".cpp", ".cxx", ".m", ".mm", ".rc", ".cc", ".inl"}) def is_c_any(filename): @@ -87,13 +96,16 @@ def cmake_get_src(f): sources_h = [] sources_c = [] - filen = open(f, "r") + filen = open(f, "r", encoding="utf8") it = iter(filen) found = False i = 0 # print(f) def is_definition(l, f, i, name): + if l.startswith("unset("): + return False + if ('set(%s' % name) in l or ('set(' in l and l.endswith(name)): if len(l.split()) > 1: raise Exception("strict formatting not kept 'set(%s*' %s:%d" % (name, f, i)) @@ -146,6 +158,7 @@ def cmake_get_src(f): # replace dirs l = l.replace("${CMAKE_CURRENT_SOURCE_DIR}", cmake_base) + l = l.strip('"') if not l: pass @@ -166,13 +179,21 @@ def cmake_get_src(f): elif is_c(new_file): sources_c.append(new_file) global_refs.setdefault(new_file, []).append((f, i)) - elif l in ("PARENT_SCOPE", ): + elif l in {"PARENT_SCOPE", }: # cmake var, ignore pass elif new_file.endswith(".list"): pass elif new_file.endswith(".def"): pass + elif new_file.endswith(".cl"): # opencl + pass + elif new_file.endswith(".cu"): # cuda + pass + elif new_file.endswith(".osl"): # open shading language + pass + elif new_file.endswith(".glsl"): + pass else: raise Exception("unknown file type - not c or h %s -> %s" % (f, new_file)) @@ -183,11 +204,11 @@ def cmake_get_src(f): if new_path_rel != l: print("overly relative path:\n %s:%d\n %s\n %s" % (f, i, l, new_path_rel)) - ## Save time. just replace the line + # # Save time. just replace the line # replace_line(f, i - 1, new_path_rel) else: - raise Exception("non existant include %s:%d -> %s" % (f, i, new_file)) + raise Exception("non existent include %s:%d -> %s" % (f, i, new_file)) # print(new_file) @@ -208,90 +229,103 @@ def cmake_get_src(f): ''' # reset - sources_h[:] = [] - sources_c[:] = [] + del sources_h[:] + del sources_c[:] filen.close() -for cmake in source_list(SOURCE_DIR, is_cmake): - cmake_get_src(cmake) - - -def is_ignore(f): - for ig in IGNORE: +def is_ignore(f, ignore_used): + for index, ig in enumerate(IGNORE): if ig in f: + ignore_used[index] = True return True return False -# First do stupid check, do these files exist? -print("\nChecking for missing references:") -is_err = False -errs = [] -for f in (global_h | global_c): - if f.endswith("dna.c"): - continue - - if not os.path.exists(f): - refs = global_refs[f] - if refs: - for cf, i in refs: - errs.append((cf, i)) - else: - raise Exception("CMake referenecs missing, internal error, aborting!") - is_err = True - -errs.sort() -errs.reverse() -for cf, i in errs: - print("%s:%d" % (cf, i)) - # Write a 'sed' script, useful if we get a lot of these - # print("sed '%dd' '%s' > '%s.tmp' ; mv '%s.tmp' '%s'" % (i, cf, cf, cf, cf)) - - -if is_err: - raise Exception("CMake referenecs missing files, aborting!") -del is_err -del errs - -# now check on files not accounted for. -print("\nC/C++ Files CMake doesnt know about...") -for cf in sorted(source_list(SOURCE_DIR, is_c)): - if not is_ignore(cf): - if cf not in global_c: - print("missing_c: ", cf) - - # check if automake builds a corrasponding .o file. - ''' - if cf in global_c: - out1 = os.path.splitext(cf)[0] + ".o" - out2 = os.path.splitext(cf)[0] + ".Po" - out2_dir, out2_file = out2 = os.path.split(out2) - out2 = os.path.join(out2_dir, ".deps", out2_file) - if not os.path.exists(out1) and not os.path.exists(out2): - print("bad_c: ", cf) - ''' - -print("\nC/C++ Headers CMake doesnt know about...") -for hf in sorted(source_list(SOURCE_DIR, is_c_header)): - if not is_ignore(hf): - if hf not in global_h: - print("missing_h: ", hf) - -if UTF8_CHECK: - # test encoding - import traceback - for files in (global_c, global_h): - for f in sorted(files): - if os.path.exists(f): - # ignore outside of our source tree - if "extern" not in f: - i = 1 - try: - for l in open(f, "r", encoding="utf8"): - i += 1 - except: - print("Non utf8: %s:%d" % (f, i)) - if i > 1: - traceback.print_exc() +def main(): + + print("Scanning:", SOURCE_DIR) + + for cmake in source_list(SOURCE_DIR, is_cmake): + cmake_get_src(cmake) + + # First do stupid check, do these files exist? + print("\nChecking for missing references:") + is_err = False + errs = [] + for f in (global_h | global_c): + + if not os.path.exists(f): + refs = global_refs[f] + if refs: + for cf, i in refs: + errs.append((cf, i)) + else: + raise Exception("CMake referenecs missing, internal error, aborting!") + is_err = True + + errs.sort() + errs.reverse() + for cf, i in errs: + print("%s:%d" % (cf, i)) + # Write a 'sed' script, useful if we get a lot of these + # print("sed '%dd' '%s' > '%s.tmp' ; mv '%s.tmp' '%s'" % (i, cf, cf, cf, cf)) + + if is_err: + raise Exception("CMake referenecs missing files, aborting!") + del is_err + del errs + + ignore_used = [False] * len(IGNORE) + + # now check on files not accounted for. + print("\nC/C++ Files CMake doesnt know about...") + for cf in sorted(source_list(SOURCE_DIR, is_c)): + if not is_ignore(cf, ignore_used): + if cf not in global_c: + print("missing_c: ", cf) + + # check if automake builds a corrasponding .o file. + ''' + if cf in global_c: + out1 = os.path.splitext(cf)[0] + ".o" + out2 = os.path.splitext(cf)[0] + ".Po" + out2_dir, out2_file = out2 = os.path.split(out2) + out2 = os.path.join(out2_dir, ".deps", out2_file) + if not os.path.exists(out1) and not os.path.exists(out2): + print("bad_c: ", cf) + ''' + + print("\nC/C++ Headers CMake doesnt know about...") + for hf in sorted(source_list(SOURCE_DIR, is_c_header)): + if not is_ignore(hf, ignore_used): + if hf not in global_h: + print("missing_h: ", hf) + + if UTF8_CHECK: + # test encoding + import traceback + for files in (global_c, global_h): + for f in sorted(files): + if os.path.exists(f): + # ignore outside of our source tree + if "extern" not in f: + i = 1 + try: + for l in open(f, "r", encoding="utf8"): + i += 1 + except UnicodeDecodeError: + print("Non utf8: %s:%d" % (f, i)) + if i > 1: + traceback.print_exc() + + # Check ignores aren't stale + print("\nCheck for unused 'IGNORE' paths...") + for index, ig in enumerate(IGNORE): + if not ignore_used[index]: + print("unused ignore: %r" % ig) + + +if __name__ == "__main__": + main() -- cgit v1.2.3 From 6dfb9fc73995304495bb3c6954337a9c092dcf61 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sun, 11 Sep 2016 19:45:53 +0200 Subject: cmake: fix "make install" to actually produce a runnable distribution on Windows (bzr r15113) --- CMakeScripts/Install.cmake | 84 +++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 46 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index ff6784fa7..f20979742 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -1,4 +1,4 @@ -if(UNIX) +if(UNIX) #The install directive for the binaries and libraries are found in src/CMakeList.txt install(FILES ${CMAKE_BINARY_DIR}/inkscape.desktop @@ -11,7 +11,7 @@ if(WIN32) ${EXECUTABLE_OUTPUT_PATH}/inkview.exe DESTINATION ${CMAKE_INSTALL_PREFIX} ) - + install(PROGRAMS ${EXECUTABLE_OUTPUT_PATH}/inkscape_com.exe DESTINATION ${CMAKE_INSTALL_PREFIX} @@ -22,8 +22,7 @@ if(WIN32) ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll DESTINATION ${CMAKE_INSTALL_PREFIX} ) - - # devlibs and mingw dlls + install(FILES AUTHORS COPYING @@ -34,7 +33,9 @@ if(WIN32) GPL3.txt LGPL2.1.txt DESTINATION ${CMAKE_INSTALL_PREFIX}) - + + # devlibs and mingw dlls + # There are differences in the devlibs for 64-Bit and 32-Bit build environments. if(HAVE_MINGW64) install(FILES @@ -49,9 +50,11 @@ if(WIN32) ${DEVLIBS_BIN}/libatk-1.0-0.dll ${DEVLIBS_BIN}/libatkmm-1.6-1.dll ${DEVLIBS_BIN}/libcairo-2.dll + ${DEVLIBS_BIN}/libcairo-gobject-2.dll ${DEVLIBS_BIN}/libcairomm-1.0-1.dll ${DEVLIBS_BIN}/libcdr-0.1.dll ${DEVLIBS_BIN}/libcurl-4.dll + ${DEVLIBS_BIN}/libepoxy-0.dll ${DEVLIBS_BIN}/libexif-12.dll ${DEVLIBS_BIN}/libexpat-1.dll ${DEVLIBS_BIN}/libexslt-0.dll @@ -59,9 +62,10 @@ if(WIN32) ${DEVLIBS_BIN}/libfontconfig-1.dll ${DEVLIBS_BIN}/libfreetype-6.dll ${DEVLIBS_BIN}/libgc-1.dll - ${DEVLIBS_BIN}/libgdk-win32-2.0-0.dll + ${DEVLIBS_BIN}/libgdk-3-0.dll ${DEVLIBS_BIN}/libgdk_pixbuf-2.0-0.dll - ${DEVLIBS_BIN}/libgdkmm-2.4-1.dll + ${DEVLIBS_BIN}/libgdkmm-3.0-1.dll + ${DEVLIBS_BIN}/libgdl-3-5.dll ${DEVLIBS_BIN}/libgio-2.0-0.dll ${DEVLIBS_BIN}/libgiomm-2.4-1.dll ${DEVLIBS_BIN}/libglib-2.0-0.dll @@ -71,8 +75,8 @@ if(WIN32) ${DEVLIBS_BIN}/libgsl-19.dll ${DEVLIBS_BIN}/libgslcblas-0.dll ${DEVLIBS_BIN}/libgthread-2.0-0.dll - ${DEVLIBS_BIN}/libgtk-win32-2.0-0.dll - ${DEVLIBS_BIN}/libgtkmm-2.4-1.dll + ${DEVLIBS_BIN}/libgtk-3-0.dll + ${DEVLIBS_BIN}/libgtkmm-3.0-1.dll ${DEVLIBS_BIN}/libharfbuzz-0.dll ${DEVLIBS_BIN}/libiconv-2.dll ${DEVLIBS_BIN}/libintl-8.dll @@ -103,7 +107,7 @@ if(WIN32) ${MINGW_BIN}/libstdc++-6.dll ${MINGW_BIN}/libwinpthread-1.dll ${MINGW_BIN}/libgcc_s_seh-1.dll - ${MINGW_BIN}/libgomp-1.dll + ${MINGW_BIN}/libgomp-1.dll DESTINATION ${CMAKE_INSTALL_PREFIX}) else() install(FILES @@ -170,7 +174,7 @@ if(WIN32) ${DEVLIBS_BIN}/pthreadGC2.dll ${DEVLIBS_BIN}/zlib1.dll ${MINGW_BIN}/mingwm10.dll - ${MINGW_BIN}/libgomp-1.dll + ${MINGW_BIN}/libgomp-1.dll DESTINATION ${CMAKE_INSTALL_PREFIX}) endif() @@ -188,43 +192,46 @@ if(WIN32) plugins share DESTINATION ${CMAKE_INSTALL_PREFIX} - PATTERN Adwaita EXCLUDE # NOTE: The theme is not used on Windows. PATTERN hicolor/index.theme EXCLUDE # NOTE: Empty index.theme in hicolor icon theme causes SIGSEGV. PATTERN CMakeLists.txt EXCLUDE PATTERN *.am EXCLUDE) - + + install(DIRECTORY ${DEVLIBS_PATH}/share/icons/Adwaita + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) + install(DIRECTORY ${DEVLIBS_PATH}/share/themes DESTINATION ${CMAKE_INSTALL_PREFIX}/share) - + install(DIRECTORY ${DEVLIBS_PATH}/share/locale - DESTINATION ${CMAKE_INSTALL_PREFIX}/share) - + DESTINATION ${CMAKE_INSTALL_PREFIX}/share + PATTERN "*gtk20.mo" EXCLUDE) + install(DIRECTORY ${DEVLIBS_PATH}/share/poppler DESTINATION ${CMAKE_INSTALL_PREFIX}/share) - + install(DIRECTORY ${DEVLIBS_PATH}/etc/fonts DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) - - install(DIRECTORY ${DEVLIBS_PATH}/etc/gtk-2.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) - - # GTK 2.0 - install(DIRECTORY ${DEVLIBS_LIB}/gtk-2.0 + + # GTK 3.0 + install(DIRECTORY ${DEVLIBS_LIB}/gtk-3.0 DESTINATION ${CMAKE_INSTALL_PREFIX}/lib FILES_MATCHING PATTERN "*.dll" PATTERN "*.cache") + install(DIRECTORY ${DEVLIBS_PATH}/etc/gtk-3.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + install(DIRECTORY ${DEVLIBS_LIB}/gdk-pixbuf-2.0 DESTINATION ${CMAKE_INSTALL_PREFIX}/lib FILES_MATCHING PATTERN "*.dll" PATTERN "*.cache") - + # Aspell dictionaries install(DIRECTORY ${DEVLIBS_LIB}/aspell-0.60 DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) - + # Necessary to run extensions on windows if it is not in the path if (HAVE_MINGW64) install(FILES @@ -237,31 +244,16 @@ if(WIN32) ${DEVLIBS_BIN}/gspawn-win32-helper-console.exe DESTINATION ${CMAKE_INSTALL_PREFIX}) endif() - + # Perl install(FILES ${DEVLIBS_PATH}/perl/bin/perl58.dll DESTINATION ${CMAKE_INSTALL_PREFIX}) # Python - install(FILES - ${DEVLIBS_PATH}/python/python.exe - ${DEVLIBS_PATH}/python/pythonw.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}/python) - - if(HAVE_MINGW64) - install(FILES - ${DEVLIBS_PATH}/python/python27.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}/python) - else() - install(FILES - ${DEVLIBS_PATH}/python/python26.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}/python) - endif() - - install(DIRECTORY ${DEVLIBS_PATH}/python/lib - DESTINATION ${CMAKE_INSTALL_PREFIX}/python) - - install(DIRECTORY ${DEVLIBS_PATH}/python/dlls - DESTINATION ${CMAKE_INSTALL_PREFIX}/python) + install(DIRECTORY ${DEVLIBS_PATH}/python + DESTINATION ${CMAKE_INSTALL_PREFIX} + PATTERN "python/include" EXCLUDE + PATTERN "python/libs" EXCLUDE + PATTERN "*.pyc" EXCLUDE) endif() \ No newline at end of file -- cgit v1.2.3 From 6efece51f99980b824b199bbeb6452f03e6736c6 Mon Sep 17 00:00:00 2001 From: Dmitry Zhulanov Date: Tue, 27 Sep 2016 00:23:14 +0700 Subject: add x-verbs support (bzr r15136.1.1) --- CMakeScripts/DefineDependsandFlags.cmake | 4 +++ CMakeScripts/Modules/Findyaml.cmake | 53 ++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 CMakeScripts/Modules/Findyaml.cmake (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index e3bc9258e..726e5d5db 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -387,6 +387,10 @@ list(APPEND INKSCAPE_LIBS ${SIGC++_LDFLAGS}) list(APPEND INKSCAPE_CXX_FLAGS ${SIGC++_CFLAGS_OTHER}) +find_package(yaml REQUIRED) +list(APPEND INKSCAPE_INCS_SYS ${YAML_INCLUDE_DIRS}) +list(APPEND INKSCAPE_LIBS ${YAML_LIBRARIES}) + list(REMOVE_DUPLICATES INKSCAPE_CXX_FLAGS) foreach(flag ${INKSCAPE_CXX_FLAGS}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}" CACHE STRING "" FORCE) diff --git a/CMakeScripts/Modules/Findyaml.cmake b/CMakeScripts/Modules/Findyaml.cmake new file mode 100644 index 000000000..0324c6b83 --- /dev/null +++ b/CMakeScripts/Modules/Findyaml.cmake @@ -0,0 +1,53 @@ +# - Try to find the YAML library +# Once done this will define +# +# YAML_FOUND - system has yaml +# YAML_INCLUDE_DIR - the yaml include directory +# YAML_LIBRARIES - the libraries needed to use yaml + +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +if (YAML_INCLUDE_DIR AND YAML_LIBRARIES) + + # in cache already + SET(YAML_FOUND TRUE) + +else (YAML_INCLUDE_DIR AND YAML_LIBRARIES) + + IF (NOT WIN32) + FIND_PACKAGE(PkgConfig) + IF (PKG_CONFIG_FOUND) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + pkg_check_modules(_YAML_PC QUIET yaml-1) + ENDIF (PKG_CONFIG_FOUND) + ENDIF (NOT WIN32) + + FIND_PATH(YAML_INCLUDE_DIR yaml123.h + /usr/include + /usr/local/include + ) + + FIND_LIBRARY(YAML_LIBRARIES NAMES yaml + PATHS + ) + + if (YAML_INCLUDE_DIR AND YAML_LIBRARIES) + set(YAML_FOUND TRUE) + endif (YAML_INCLUDE_DIR AND YAML_LIBRARIES) + + + if (YAML_FOUND) + if (NOT YAML_FIND_QUIETLY) + message(STATUS "Found YAML: ${YAML_LIBRARIES}") + endif (NOT YAML_FIND_QUIETLY) + else (YAML_FOUND) + if (YAML_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find YAML") + endif (YAML_FIND_REQUIRED) + endif (YAML_FOUND) + + MARK_AS_ADVANCED(YAML_INCLUDE_DIR YAML_LIBRARIES) + +endif (YAML_INCLUDE_DIR AND YAML_LIBRARIES) -- cgit v1.2.3 From 81364db0bc98b01319dc5ecb835a4e37b906bad2 Mon Sep 17 00:00:00 2001 From: Dmitry Zhulanov Date: Sat, 1 Oct 2016 13:05:10 +0700 Subject: disable xverb feature if WITH_YAML defined (bzr r15136.1.9) --- CMakeScripts/DefineDependsandFlags.cmake | 13 ++++++++++--- CMakeScripts/Modules/Findyaml.cmake | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 726e5d5db..daf5afd90 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -387,9 +387,16 @@ list(APPEND INKSCAPE_LIBS ${SIGC++_LDFLAGS}) list(APPEND INKSCAPE_CXX_FLAGS ${SIGC++_CFLAGS_OTHER}) -find_package(yaml REQUIRED) -list(APPEND INKSCAPE_INCS_SYS ${YAML_INCLUDE_DIRS}) -list(APPEND INKSCAPE_LIBS ${YAML_LIBRARIES}) +find_package(yaml) +if(YAML_FOUND) + set (WITH_YAML ON) + list(APPEND INKSCAPE_INCS_SYS ${YAML_INCLUDE_DIRS}) + list(APPEND INKSCAPE_LIBS ${YAML_LIBRARIES}) + add_definitions(-DWITH_YAML) +else(YAML_FOUND) + unset(WITH_YAML OFF) + message(STATUS "Could not locate the yaml library headers: xverb feature will be disabled") +endif() list(REMOVE_DUPLICATES INKSCAPE_CXX_FLAGS) foreach(flag ${INKSCAPE_CXX_FLAGS}) diff --git a/CMakeScripts/Modules/Findyaml.cmake b/CMakeScripts/Modules/Findyaml.cmake index 0324c6b83..d3f00cd13 100644 --- a/CMakeScripts/Modules/Findyaml.cmake +++ b/CMakeScripts/Modules/Findyaml.cmake @@ -24,7 +24,7 @@ else (YAML_INCLUDE_DIR AND YAML_LIBRARIES) ENDIF (PKG_CONFIG_FOUND) ENDIF (NOT WIN32) - FIND_PATH(YAML_INCLUDE_DIR yaml123.h + FIND_PATH(YAML_INCLUDE_DIR yaml.h /usr/include /usr/local/include ) -- cgit v1.2.3 From 017616c4fc99883323c2a0d6e44b88f7cd16ce2d Mon Sep 17 00:00:00 2001 From: Dmitry Zhulanov Date: Sat, 1 Oct 2016 17:08:49 +0700 Subject: fix cmake warning and remove whole xverbs code from compilation without yaml (bzr r15136.1.11) --- CMakeScripts/DefineDependsandFlags.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index daf5afd90..ad2d51724 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -394,7 +394,7 @@ if(YAML_FOUND) list(APPEND INKSCAPE_LIBS ${YAML_LIBRARIES}) add_definitions(-DWITH_YAML) else(YAML_FOUND) - unset(WITH_YAML OFF) + set(WITH_YAML OFF) message(STATUS "Could not locate the yaml library headers: xverb feature will be disabled") endif() -- cgit v1.2.3 From f9a55c6269f20bfe98e1eeb0dd07f5bb3036b7ab Mon Sep 17 00:00:00 2001 From: Dmitry Zhulanov Date: Mon, 3 Oct 2016 22:19:23 +0700 Subject: beautify idents (bzr r15136.1.14) --- CMakeScripts/Modules/Findyaml.cmake | 74 ++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 39 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/Modules/Findyaml.cmake b/CMakeScripts/Modules/Findyaml.cmake index d3f00cd13..154f2ed43 100644 --- a/CMakeScripts/Modules/Findyaml.cmake +++ b/CMakeScripts/Modules/Findyaml.cmake @@ -9,45 +9,41 @@ # For details see the accompanying COPYING-CMAKE-SCRIPTS file. if (YAML_INCLUDE_DIR AND YAML_LIBRARIES) - - # in cache already - SET(YAML_FOUND TRUE) - + # in cache already + SET(YAML_FOUND TRUE) else (YAML_INCLUDE_DIR AND YAML_LIBRARIES) - - IF (NOT WIN32) - FIND_PACKAGE(PkgConfig) - IF (PKG_CONFIG_FOUND) - # use pkg-config to get the directories and then use these values - # in the FIND_PATH() and FIND_LIBRARY() calls - pkg_check_modules(_YAML_PC QUIET yaml-1) - ENDIF (PKG_CONFIG_FOUND) - ENDIF (NOT WIN32) - - FIND_PATH(YAML_INCLUDE_DIR yaml.h - /usr/include - /usr/local/include - ) - - FIND_LIBRARY(YAML_LIBRARIES NAMES yaml - PATHS - ) - - if (YAML_INCLUDE_DIR AND YAML_LIBRARIES) - set(YAML_FOUND TRUE) - endif (YAML_INCLUDE_DIR AND YAML_LIBRARIES) - - - if (YAML_FOUND) - if (NOT YAML_FIND_QUIETLY) - message(STATUS "Found YAML: ${YAML_LIBRARIES}") - endif (NOT YAML_FIND_QUIETLY) - else (YAML_FOUND) - if (YAML_FIND_REQUIRED) - message(FATAL_ERROR "Could NOT find YAML") - endif (YAML_FIND_REQUIRED) - endif (YAML_FOUND) - - MARK_AS_ADVANCED(YAML_INCLUDE_DIR YAML_LIBRARIES) + IF (NOT WIN32) + FIND_PACKAGE(PkgConfig) + IF (PKG_CONFIG_FOUND) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + pkg_check_modules(_YAML_PC QUIET yaml-1) + ENDIF (PKG_CONFIG_FOUND) + ENDIF (NOT WIN32) + + FIND_PATH(YAML_INCLUDE_DIR yaml.h + /usr/include + /usr/local/include + ) + + FIND_LIBRARY(YAML_LIBRARIES NAMES yaml + PATHS) + + if (YAML_INCLUDE_DIR AND YAML_LIBRARIES) + set(YAML_FOUND TRUE) + endif (YAML_INCLUDE_DIR AND YAML_LIBRARIES) + + + if (YAML_FOUND) + if (NOT YAML_FIND_QUIETLY) + message(STATUS "Found YAML: ${YAML_LIBRARIES}") + endif (NOT YAML_FIND_QUIETLY) + else (YAML_FOUND) + if (YAML_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find YAML") + endif (YAML_FIND_REQUIRED) + endif (YAML_FOUND) + + MARK_AS_ADVANCED(YAML_INCLUDE_DIR YAML_LIBRARIES) endif (YAML_INCLUDE_DIR AND YAML_LIBRARIES) -- cgit v1.2.3 From 4f04836cc3fea4211d8cb4f25eb44c27c0751366 Mon Sep 17 00:00:00 2001 From: Marc Jeanmougin Date: Mon, 7 Nov 2016 23:36:49 +0100 Subject: annotate custom builds, and add correct revno into make dist tarballs (bzr r15223) --- CMakeScripts/inkscape-version.cmake | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'CMakeScripts') diff --git a/CMakeScripts/inkscape-version.cmake b/CMakeScripts/inkscape-version.cmake index 2155e0013..bbf222b32 100644 --- a/CMakeScripts/inkscape-version.cmake +++ b/CMakeScripts/inkscape-version.cmake @@ -7,13 +7,23 @@ # We should extract the version from build.xml # but for now just hard code + set(INKSCAPE_REVISION "unknown") +set(INKSCAPE_CUSTOM "custom") if(EXISTS ${INKSCAPE_SOURCE_DIR}/.bzr/) execute_process(COMMAND bzr revno --tree ${INKSCAPE_SOURCE_DIR} OUTPUT_VARIABLE INKSCAPE_REVISION OUTPUT_STRIP_TRAILING_WHITESPACE) + + execute_process(COMMAND + bzr status -S -V ${INKSCAPE_SOURCE_DIR}/src + OUTPUT_VARIABLE INKSCAPE_SOURCE_MODIFIED + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(NOT INKSCAPE_SOURCE_MODIFIED STREQUAL "") + string(CONCAT INKSCAPE_REVISION ${INKSCAPE_REVISION} " " ${INKSCAPE_CUSTOM}) + endif() endif() message("revision is " ${INKSCAPE_REVISION}) -- cgit v1.2.3 From 61b1ddd0599ee54f76494888524b156859134e85 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 26 Nov 2016 17:15:27 +0100 Subject: CMake: Add ${INKSCAPE_SHARE_INSTALL} This is set to "share/inkscape" by default, on Windows we need to be able to install directly into "share" however (bzr r15278) --- CMakeScripts/ConfigPaths.cmake | 2 ++ CMakeScripts/Install.cmake | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake index 9489ba047..fae8ceea6 100644 --- a/CMakeScripts/ConfigPaths.cmake +++ b/CMakeScripts/ConfigPaths.cmake @@ -9,6 +9,7 @@ if(WIN32) set(PACKAGE_LOCALE_DIR "\\\\share\\\\locale") set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") + set(INKSCAPE_SHARE_INSTALL "${SHARE_INSTALL}") # share/inkscape goes directly into /share on Windows mark_as_advanced(SHARE_INSTALL) else() @@ -23,6 +24,7 @@ else() if(NOT SHARE_INSTALL) set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") endif(NOT SHARE_INSTALL) + set(INKSCAPE_SHARE_INSTALL "${SHARE_INSTALL}/inkscape") mark_as_advanced(SHARE_INSTALL) endif() \ No newline at end of file diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index f20979742..01db2644c 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -190,7 +190,6 @@ if(WIN32) doc modules plugins - share DESTINATION ${CMAKE_INSTALL_PREFIX} PATTERN hicolor/index.theme EXCLUDE # NOTE: Empty index.theme in hicolor icon theme causes SIGSEGV. PATTERN CMakeLists.txt EXCLUDE -- cgit v1.2.3 From d11c2cb1902dfa00cb38cab81417272394e88a23 Mon Sep 17 00:00:00 2001 From: Marc Jeanmougin Date: Sat, 3 Dec 2016 00:46:54 +0100 Subject: prevent use of string concat for compatibility with old cmake (bzr r15292) --- CMakeScripts/inkscape-version.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/inkscape-version.cmake b/CMakeScripts/inkscape-version.cmake index bbf222b32..11316101f 100644 --- a/CMakeScripts/inkscape-version.cmake +++ b/CMakeScripts/inkscape-version.cmake @@ -22,7 +22,7 @@ if(EXISTS ${INKSCAPE_SOURCE_DIR}/.bzr/) OUTPUT_VARIABLE INKSCAPE_SOURCE_MODIFIED OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT INKSCAPE_SOURCE_MODIFIED STREQUAL "") - string(CONCAT INKSCAPE_REVISION ${INKSCAPE_REVISION} " " ${INKSCAPE_CUSTOM}) + set(INKSCAPE_REVISION ${INKSCAPE_REVISION} " " ${INKSCAPE_CUSTOM}) endif() endif() message("revision is " ${INKSCAPE_REVISION}) -- cgit v1.2.3 From 03c8e0552c0e7029ac5300b5f45e78a62c32d9b5 Mon Sep 17 00:00:00 2001 From: "mattia@debian.org" <> Date: Sat, 7 Jan 2017 21:32:44 +0100 Subject: Install the localized manpages in the correct directory (bzr r15399.1.1) --- CMakeScripts/Pod2man.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/Pod2man.cmake b/CMakeScripts/Pod2man.cmake index 3189192de..21010fb33 100644 --- a/CMakeScripts/Pod2man.cmake +++ b/CMakeScripts/Pod2man.cmake @@ -28,10 +28,12 @@ macro(pod2man PODFILE_FULL RELEASE SECTION CENTER) set(MANPAGE_TARGET "man-${NAME}-${LANG}") set(MANFILE_TEMP "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.${LANG}.tmp") set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.${LANG}.${SECTION}") + set(MANFILE_DEST "${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/man/${LANG}/man${SECTION}") else() set(MANPAGE_TARGET "man-${NAME}") set(MANFILE_TEMP "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.tmp") set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/man/${NAME}.${SECTION}") + set(MANFILE_DEST "${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/man/man${SECTION}") endif() add_custom_command( OUTPUT ${MANFILE_TEMP} @@ -48,7 +50,8 @@ macro(pod2man PODFILE_FULL RELEASE SECTION CENTER) ) install( FILES ${MANFILE_FULL} - DESTINATION ${CMAKE_INSTALL_PREFIX}/${SHARE_INSTALL}/man/man${SECTION} + RENAME ${NAME}.${SECTION} + DESTINATION ${MANFILE_DEST} ) endif() endmacro(pod2man PODFILE NAME SECTION CENTER) -- cgit v1.2.3 From 94011e762ba541fb9b9733a9fc00a01442e374cf Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sun, 5 Feb 2017 00:13:08 +0100 Subject: CMake: Remove duplicated check for sigc++ - It didn't make much sense to check twice anyway - The additional check for C++11 is not required anymore after r15039 as we use -std=c++11 by default now - The check broke subsequent cmake runs on Windows (i.e. compilation broke whenever a .cmake file changed and CMakeCache hat to be cleared manually) http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/15039 (bzr r15475) --- CMakeScripts/DefineDependsandFlags.cmake | 3 - CMakeScripts/Modules/FindSigC++.cmake | 128 ------------------------------- CMakeScripts/Modules/sigcpp_test.cpp | 15 ---- 3 files changed, 146 deletions(-) delete mode 100644 CMakeScripts/Modules/FindSigC++.cmake delete mode 100644 CMakeScripts/Modules/sigcpp_test.cpp (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index ad2d51724..d66541604 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -379,9 +379,6 @@ if(WITH_NLS) endif(GETTEXT_FOUND) endif(WITH_NLS) -#sets c++11 for newer sigc++ if required when pkg-config does not detect it -find_package(SigC++ REQUIRED) - pkg_check_modules(SIGC++ REQUIRED sigc++-2.0 ) list(APPEND INKSCAPE_LIBS ${SIGC++_LDFLAGS}) diff --git a/CMakeScripts/Modules/FindSigC++.cmake b/CMakeScripts/Modules/FindSigC++.cmake deleted file mode 100644 index 14cbf47f7..000000000 --- a/CMakeScripts/Modules/FindSigC++.cmake +++ /dev/null @@ -1,128 +0,0 @@ -# - Try to find SIGC++ -# Once done this will define -# -# SIGC++_FOUND - system has SIGC++ -# SIGC++_INCLUDE_DIRS - the SIGC++ include directory -# SIGC++_LIBRARIES - Link these to use SIGC++ -# SIGC++_DEFINITIONS - Compiler switches required for using SIGC++ -# -# Copyright (c) 2008 Andreas Schneider -# -# Redistribution and use is allowed according to the terms of the New -# BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. -# - -if (SIGC++_LIBRARIES AND SIGC++_INCLUDE_DIRS) - # in cache already - set(SIGC++_FOUND TRUE) -else (SIGC++_LIBRARIES AND SIGC++_INCLUDE_DIRS) - # use pkg-config to get the directories and then use these values - # in the FIND_PATH() and FIND_LIBRARY() calls - if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) - include(UsePkgConfig) - pkgconfig(sigc++-2.0 _SIGC++_INCLUDEDIR _SIGC++_LIBDIR _SIGC++_LDFLAGS _SIGC++_CFLAGS) - else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) - find_package(PkgConfig) - if (PKG_CONFIG_FOUND) - pkg_check_modules(_SIGC++ sigc++-2.0) - endif (PKG_CONFIG_FOUND) - endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) - - find_path(SIGC++_INCLUDE_DIR - NAMES - sigc++/sigc++.h - PATHS - ${_SIGC++_INCLUDEDIR} - /usr/include - /usr/local/include - /opt/local/include - /sw/include - PATH_SUFFIXES - sigc++-2.0 - ) - - find_path(SIGC++_CONFIG_INCLUDE_DIR - NAMES - sigc++config.h - PATHS - ${_SIGC++_INCLUDEDIR} - /usr/include - /usr/local/include - /opt/local/include - /opt/local/lib/sigc++-2.0/include - /sw/include - /usr/lib/sigc++-2.0/include - /usr/lib64/sigc++-2.0/include - ) - - find_library(SIGC-2.0_LIBRARY - NAMES - sigc-2.0 - PATHS - ${_SIGC++_LIBDIR} - /usr/lib - /usr/local/lib - /opt/local/lib - /sw/lib - ) - - if (SIGC-2.0_LIBRARY) - set(SIGC-2.0_FOUND TRUE) - endif (SIGC-2.0_LIBRARY) - - set(SIGC++_INCLUDE_DIRS - ${SIGC++_INCLUDE_DIR} - ${SIGC++_CONFIG_INCLUDE_DIR} - ) - - if (SIGC-2.0_FOUND) - set(SIGC++_LIBRARIES - ${SIGC++_LIBRARIES} - ${SIGC-2.0_LIBRARY} - ) - endif (SIGC-2.0_FOUND) - - if (SIGC++_INCLUDE_DIRS AND SIGC++_LIBRARIES) - set(SIGC++_FOUND TRUE) - endif (SIGC++_INCLUDE_DIRS AND SIGC++_LIBRARIES) - - if (SIGC++_FOUND) - if (NOT SIGC++_FIND_QUIETLY) - message(STATUS "Found SIGC++: ${SIGC++_LIBRARIES}") - endif (NOT SIGC++_FIND_QUIETLY) - else (SIGC++_FOUND) - if (SIGC++_FIND_REQUIRED) - message(FATAL_ERROR "Could not find SIGC++") - endif (SIGC++_FIND_REQUIRED) - endif (SIGC++_FOUND) - - # show the SIGC++_INCLUDE_DIRS and SIGC++_LIBRARIES variables only in the advanced view - mark_as_advanced(SIGC++_INCLUDE_DIRS SIGC++_LIBRARIES) - -endif (SIGC++_LIBRARIES AND SIGC++_INCLUDE_DIRS) - -# Try to add -std=c++11 if needed - see: -# https://bugs.launchpad.net/inkscape/+bug/1488079 - -macro (sigcpp_compile extra_cppflags) - set(sigcpp_compile_output "") - try_compile(SIGCPP_COMPILES_FINE "${CMAKE_BINARY_DIR}/sigcpp-bindir" - SOURCES "${CMAKE_SOURCE_DIR}/CMakeScripts/Modules/sigcpp_test.cpp" - COMPILE_DEFINITIONS ${_SIGC++_CFLAGS} ${extra_cppflags} - LINK_LIBRARIES ${SIGC++_LIBRARIES} - OUTPUT_VARIABLE sigcpp_compile_output) -endmacro() - - -sigcpp_compile("") -if (NOT "${SIGCPP_COMPILES_FINE}") - set (cppflag "-std=c++11") - sigcpp_compile("${cppflag}") - if ("${SIGCPP_COMPILES_FINE}") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${cppflag}") - else() - message(FATAL_ERROR "Could not compile against SIGC++ - output is <<${sigcpp_compile_output}>>") - endif() -endif() - diff --git a/CMakeScripts/Modules/sigcpp_test.cpp b/CMakeScripts/Modules/sigcpp_test.cpp deleted file mode 100644 index b4cf2c773..000000000 --- a/CMakeScripts/Modules/sigcpp_test.cpp +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Building this using: - - g++ `pkg-config --cflags sigc++-2.0` sigcpp_test.cpp - - Results in an error. - * */ -#include -#include -#include - -int main() -{ - return 0; -} -- cgit v1.2.3 From e0a83507e07588b45c83c003bee116e4d74e0c5d Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Mon, 13 Feb 2017 20:34:06 +0100 Subject: CMake: Include GSettings schemas into Windows installation Fixes crash issue when trying to use GTK file dialogs (error: "GLib-GIO-ERROR **: No GSettings schemas are installed on the system") Fixed bugs: - https://launchpad.net/bugs/1663884 - https://launchpad.net/bugs/1663999 (bzr r15514) --- CMakeScripts/Install.cmake | 3 +++ 1 file changed, 3 insertions(+) (limited to 'CMakeScripts') diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index 01db2644c..fc82172e7 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -208,6 +208,9 @@ if(WIN32) install(DIRECTORY ${DEVLIBS_PATH}/share/poppler DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + install(DIRECTORY ${DEVLIBS_PATH}/share/glib-2.0/schemas + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/glib-2.0) + install(DIRECTORY ${DEVLIBS_PATH}/etc/fonts DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) -- cgit v1.2.3 From 30a0802e0a6ccbb37a76e816aa47ebf08e2b548d Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Mon, 13 Feb 2017 22:41:13 +0100 Subject: CMake: Cosmetic fix for version string (set concatenates arguments with a semicolon ";") (bzr r15517) --- CMakeScripts/inkscape-version.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/inkscape-version.cmake b/CMakeScripts/inkscape-version.cmake index 11316101f..2e23925c4 100644 --- a/CMakeScripts/inkscape-version.cmake +++ b/CMakeScripts/inkscape-version.cmake @@ -22,7 +22,7 @@ if(EXISTS ${INKSCAPE_SOURCE_DIR}/.bzr/) OUTPUT_VARIABLE INKSCAPE_SOURCE_MODIFIED OUTPUT_STRIP_TRAILING_WHITESPACE) if(NOT INKSCAPE_SOURCE_MODIFIED STREQUAL "") - set(INKSCAPE_REVISION ${INKSCAPE_REVISION} " " ${INKSCAPE_CUSTOM}) + set(INKSCAPE_REVISION "${INKSCAPE_REVISION} ${INKSCAPE_CUSTOM}") endif() endif() message("revision is " ${INKSCAPE_REVISION}) -- cgit v1.2.3 From 4def15d764671b9f1de73d5d7389264cb65eddb9 Mon Sep 17 00:00:00 2001 From: mathog <> Date: Fri, 17 Feb 2017 09:31:47 -0800 Subject: partial fix bug 1640899 (bzr r15527) --- CMakeScripts/DefineDependsandFlags.cmake | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index d66541604..90df50c6d 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -85,19 +85,21 @@ if(WITH_GNOME_VFS) endif() if(ENABLE_LCMS) + unset(HAVE_LIBLCMS1) + unset(HAVE_LIBLCMS2) find_package(LCMS2) if(LCMS2_FOUND) list(APPEND INKSCAPE_INCS_SYS ${LCMS2_INCLUDE_DIRS}) list(APPEND INKSCAPE_LIBS ${LCMS2_LIBRARIES}) add_definitions(${LCMS2_DEFINITIONS}) - set (HAVE_LIBLCMS2 1) + set (HAVE_LIBLCMS2 ON) else() find_package(LCMS) if(LCMS_FOUND) list(APPEND INKSCAPE_INCS_SYS ${LCMS_INCLUDE_DIRS}) list(APPEND INKSCAPE_LIBS ${LCMS_LIBRARIES}) add_definitions(${LCMS_DEFINITIONS}) - set (HAVE_LIBLCMS1 1) + set (HAVE_LIBLCMS1 ON) else() set(ENABLE_LCMS OFF) endif() @@ -247,7 +249,7 @@ endif() # CMake's builtin # ---------------------------------------------------------------------------- -set(TRY_GTKSPELL 1) +set(TRY_GTKSPELL ON) # Include dependencies: # use patched version until GTK2_CAIROMMCONFIG_INCLUDE_DIR is added pkg_check_modules( @@ -270,14 +272,15 @@ set(TRY_GTKSPELL 1) if("${GTKMM_3_10_FOUND}") message("Using Gtkmm 3.10 build") - set (WITH_GTKMM_3_10 1) + set (WITH_GTKMM_3_10 ON) endif() pkg_check_modules(GDL_3_6 gdl-3.0>=3.6) if("${GDL_3_6_FOUND}") message("Using GDL 3.6 or higher") - set (WITH_GDL_3_6 1) + add_definitions(-DWITH_GDL_3_6) + set (WITH_GDL_3_6 ON) endif() set(TRY_GTKSPELL ) @@ -285,7 +288,7 @@ set(TRY_GTKSPELL 1) if("${GTKSPELL3_FOUND}") message("Using GtkSpell 3") - set (WITH_GTKSPELL 1) + set (WITH_GTKSPELL ON) else() unset(WITH_GTKSPELL) endif() -- cgit v1.2.3 From 3e4fbb2d79bf7e1abb902112f9a54dc427f1a5a0 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Mon, 20 Feb 2017 22:21:18 +0100 Subject: CMake: Generate a dummy file in hicolor/index.theme to avoid bug 1659336 on Windows Fixed bugs: - https://launchpad.net/bugs/1659336 (bzr r15535) --- CMakeScripts/Install.cmake | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'CMakeScripts') diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index fc82172e7..64ab4607b 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -195,6 +195,10 @@ if(WIN32) PATTERN CMakeLists.txt EXCLUDE PATTERN *.am EXCLUDE) + # Generate a dummy file in hicolor/index.theme to avoid bug 1635207 + file(GENERATE OUTPUT ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/index.theme + CONTENT "[Icon Theme]\nName=hicolor\nDirectories=") + install(DIRECTORY ${DEVLIBS_PATH}/share/icons/Adwaita DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) -- cgit v1.2.3 From e0cfcecca077b96759bc3709195a93d8ea0c48d6 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 4 Mar 2017 21:39:01 +0100 Subject: Support for building with MSYS2 See Wiki for build instructions: http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape_on_Windows_with_MSYS2 (bzr r15564) --- CMakeScripts/ConfigEnv.cmake | 6 +- CMakeScripts/InstallMSYS2.cmake | 228 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 232 insertions(+), 2 deletions(-) create mode 100644 CMakeScripts/InstallMSYS2.cmake (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigEnv.cmake b/CMakeScripts/ConfigEnv.cmake index ebd005cb3..dc4c70ba3 100644 --- a/CMakeScripts/ConfigEnv.cmake +++ b/CMakeScripts/ConfigEnv.cmake @@ -6,8 +6,10 @@ if(WIN32) include(mingwenv.cmake) - list(INSERT CMAKE_SYSTEM_INCLUDE_PATH 0 ${DEVLIBS_PATH}) - list(INSERT CMAKE_SYSTEM_LIBRARY_PATH 0 ${DEVLIBS_PATH}) + if(NOT HAVE_MSYS2) + list(INSERT CMAKE_SYSTEM_INCLUDE_PATH 0 ${DEVLIBS_PATH}) + list(INSERT CMAKE_SYSTEM_LIBRARY_PATH 0 ${DEVLIBS_PATH}) + endif() set(CMAKE_C_COMPILER "${MINGW_BIN}/gcc.exe") set(CMAKE_C_LINK_EXECUTABLE "${MINGW_BIN}/gcc.exe") diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake new file mode 100644 index 000000000..72069033c --- /dev/null +++ b/CMakeScripts/InstallMSYS2.cmake @@ -0,0 +1,228 @@ +if(WIN32) + install(PROGRAMS + ${EXECUTABLE_OUTPUT_PATH}/inkscape.exe + ${EXECUTABLE_OUTPUT_PATH}/inkview.exe + DESTINATION ${CMAKE_INSTALL_PREFIX} + ) + + install(PROGRAMS + ${EXECUTABLE_OUTPUT_PATH}/inkscape_com.exe + DESTINATION ${CMAKE_INSTALL_PREFIX} + RENAME inkscape.com + ) + + install(FILES + ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll + DESTINATION ${CMAKE_INSTALL_PREFIX} + ) + + install(FILES + AUTHORS + COPYING + NEWS + README + TRANSLATORS + GPL2.txt + GPL3.txt + LGPL2.1.txt + DESTINATION ${CMAKE_INSTALL_PREFIX}) + + # mingw dlls + install(FILES + ${MINGW_BIN}/LIBEAY32.dll + ${MINGW_BIN}/SSLEAY32.dll + ${MINGW_BIN}/libMagick++-6.Q16HDRI-6.dll + ${MINGW_BIN}/libMagickCore-6.Q16HDRI-2.dll + ${MINGW_BIN}/libMagickWand-6.Q16HDRI-2.dll + ${MINGW_BIN}/libaspell-15.dll + ${MINGW_BIN}/libatk-1.0-0.dll + ${MINGW_BIN}/libatkmm-1.6-1.dll + ${MINGW_BIN}/libbz2-1.dll + ${MINGW_BIN}/libcairo-2.dll + ${MINGW_BIN}/libcairo-gobject-2.dll + ${MINGW_BIN}/libcairomm-1.0-1.dll + ${MINGW_BIN}/libcdr-0.1.dll + ${MINGW_BIN}/libcurl-4.dll + ${MINGW_BIN}/libenchant.dll + ${MINGW_BIN}/libepoxy-0.dll + ${MINGW_BIN}/libexpat-1.dll + ${MINGW_BIN}/libffi-6.dll + ${MINGW_BIN}/libfftw3-3.dll + ${MINGW_BIN}/libfontconfig-1.dll + ${MINGW_BIN}/libfreetype-6.dll + ${MINGW_BIN}/libgc-1.dll + ${MINGW_BIN}/libgdk-3-0.dll + ${MINGW_BIN}/libgdk_pixbuf-2.0-0.dll + ${MINGW_BIN}/libgdkmm-3.0-1.dll + ${MINGW_BIN}/libgdl-3-5.dll + ${MINGW_BIN}/libgio-2.0-0.dll + ${MINGW_BIN}/libgiomm-2.4-1.dll + ${MINGW_BIN}/libglib-2.0-0.dll + ${MINGW_BIN}/libglibmm-2.4-1.dll + ${MINGW_BIN}/libgmodule-2.0-0.dll + ${MINGW_BIN}/libgmp-10.dll + ${MINGW_BIN}/libgnutls-30.dll + ${MINGW_BIN}/libgobject-2.0-0.dll + ${MINGW_BIN}/libgomp-1.dll + ${MINGW_BIN}/libgraphite2.dll + ${MINGW_BIN}/libgsl-19.dll + ${MINGW_BIN}/libgslcblas-0.dll + ${MINGW_BIN}/libgtk-3-0.dll + ${MINGW_BIN}/libgtkmm-3.0-1.dll + ${MINGW_BIN}/libgtkspell3-3-0.dll + ${MINGW_BIN}/libharfbuzz-0.dll + ${MINGW_BIN}/libhogweed-4.dll + ${MINGW_BIN}/libiconv-2.dll + ${MINGW_BIN}/libicudt57.dll + ${MINGW_BIN}/libicuin57.dll + ${MINGW_BIN}/libicuuc57.dll + ${MINGW_BIN}/libidn-11.dll + ${MINGW_BIN}/libintl-8.dll + ${MINGW_BIN}/libjpeg-8.dll + ${MINGW_BIN}/liblcms2-2.dll + ${MINGW_BIN}/liblqr-1-0.dll + ${MINGW_BIN}/libltdl-7.dll + ${MINGW_BIN}/liblzma-5.dll + ${MINGW_BIN}/libnettle-6.dll + ${MINGW_BIN}/libnghttp2-14.dll + ${MINGW_BIN}/libnspr4.dll + ${MINGW_BIN}/libopenjp2-7.dll + ${MINGW_BIN}/libp11-kit-0.dll + ${MINGW_BIN}/libpango-1.0-0.dll + ${MINGW_BIN}/libpangocairo-1.0-0.dll + ${MINGW_BIN}/libpangoft2-1.0-0.dll + ${MINGW_BIN}/libpangomm-1.4-1.dll + ${MINGW_BIN}/libpangowin32-1.0-0.dll + ${MINGW_BIN}/libpcre-1.dll + ${MINGW_BIN}/libpixman-1-0.dll + ${MINGW_BIN}/libplc4.dll + ${MINGW_BIN}/libplds4.dll + ${MINGW_BIN}/libpng16-16.dll + ${MINGW_BIN}/libpoppler-66.dll + ${MINGW_BIN}/libpoppler-glib-8.dll + ${MINGW_BIN}/libpopt-0.dll + ${MINGW_BIN}/libpotrace-0.dll + ${MINGW_BIN}/librevenge-0.0.dll + ${MINGW_BIN}/librevenge-stream-0.0.dll + ${MINGW_BIN}/librtmp-1.dll + ${MINGW_BIN}/libsigc-2.0-0.dll + ${MINGW_BIN}/libssh2-1.dll + ${MINGW_BIN}/libstdc++-6.dll + ${MINGW_BIN}/libtasn1-6.dll + ${MINGW_BIN}/libtiff-5.dll + ${MINGW_BIN}/libunistring-2.dll + ${MINGW_BIN}/libvisio-0.1.dll + ${MINGW_BIN}/libwinpthread-1.dll + ${MINGW_BIN}/libwpd-0.10.dll + ${MINGW_BIN}/libwpg-0.3.dll + ${MINGW_BIN}/libxml2-2.dll + ${MINGW_BIN}/libxslt-1.dll + ${MINGW_BIN}/nss3.dll + ${MINGW_BIN}/nssutil3.dll + ${MINGW_BIN}/smime3.dll + ${MINGW_BIN}/zlib1.dll + # these are not picked up by 'ldd' but are required for SVG support in gdk-pixbuf-2.0 + ${MINGW_BIN}/libcroco-0.6-3.dll + ${MINGW_BIN}/librsvg-2-2.dll + # required by lxml + ${MINGW_BIN}/libexslt-0.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + # There are differences for 64-Bit and 32-Bit build environments. + if(HAVE_MINGW64) + install(FILES + ${MINGW_BIN}/libgcc_s_seh-1.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + else() + install(FILES + ${MINGW_BIN}/libgcc_s_dw2-1.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + endif() + + # Setup application data directories, poppler files, locales, icons and themes + file(MAKE_DIRECTORY + data + doc + modules + plugins) + + install(DIRECTORY + data + doc + modules + plugins + DESTINATION ${CMAKE_INSTALL_PREFIX} + PATTERN hicolor/index.theme EXCLUDE # NOTE: Empty index.theme in hicolor icon theme causes SIGSEGV. + PATTERN CMakeLists.txt EXCLUDE + PATTERN *.am EXCLUDE) + + # Generate a dummy file in hicolor/index.theme to avoid bug 1635207 + file(GENERATE OUTPUT ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/index.theme + CONTENT "[Icon Theme]\nName=hicolor\nDirectories=") + + install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) + + install(DIRECTORY ${MINGW_PATH}/share/themes + DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + + install(DIRECTORY ${MINGW_PATH}/share/locale + DESTINATION ${CMAKE_INSTALL_PREFIX}/share + PATTERN "*gtk20.mo" EXCLUDE) + + install(DIRECTORY ${MINGW_PATH}/share/poppler + DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + + install(DIRECTORY ${MINGW_PATH}/share/glib-2.0/schemas + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/glib-2.0) + + install(DIRECTORY ${MINGW_PATH}/etc/fonts + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + + # GTK 3.0 + install(DIRECTORY ${MINGW_LIB}/gtk-3.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + FILES_MATCHING + PATTERN "*.dll" + PATTERN "*.cache") + + install(DIRECTORY ${MINGW_PATH}/etc/gtk-3.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + + install(DIRECTORY ${MINGW_LIB}/gdk-pixbuf-2.0 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + FILES_MATCHING + PATTERN "*.dll" + PATTERN "*.cache") + + # Aspell dictionaries + install(DIRECTORY ${MINGW_LIB}/aspell-0.60 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + + # Necessary to run extensions on windows if it is not in the path + if (HAVE_MINGW64) + install(FILES + ${MINGW_BIN}/gspawn-win64-helper.exe + ${MINGW_BIN}/gspawn-win64-helper-console.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + else() + install(FILES + ${MINGW_BIN}/gspawn-win32-helper.exe + ${MINGW_BIN}/gspawn-win32-helper-console.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + endif() + + # Python (a bit hacky for backwards compatibility with devlibs at this point) + install(FILES + ${MINGW_BIN}/python2.exe + RENAME python.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(FILES + ${MINGW_BIN}/python2w.exe + RENAME pythonw.exe + DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(FILES + ${MINGW_BIN}/libpython2.7.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(DIRECTORY ${MINGW_LIB}/python2.7 + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) +endif() \ No newline at end of file -- cgit v1.2.3 From 0140ace54f213a01c6e24e0e12179eeae8fe8a38 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sun, 5 Mar 2017 04:31:55 +0100 Subject: CMake: python2-numpy was missing dependencies (bzr r15566) --- CMakeScripts/InstallMSYS2.cmake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 72069033c..3cfc9c20c 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -124,8 +124,12 @@ if(WIN32) # these are not picked up by 'ldd' but are required for SVG support in gdk-pixbuf-2.0 ${MINGW_BIN}/libcroco-0.6-3.dll ${MINGW_BIN}/librsvg-2-2.dll - # required by lxml + # required by python2-lxml ${MINGW_BIN}/libexslt-0.dll + # required by python2-numpy + ${MINGW_BIN}/libgfortran-3.dll + ${MINGW_BIN}/libopenblas.dll + ${MINGW_BIN}/libquadmath-0.dll DESTINATION ${CMAKE_INSTALL_PREFIX}) # There are differences for 64-Bit and 32-Bit build environments. if(HAVE_MINGW64) -- cgit v1.2.3 From 0ae428950e2a20ead42222f9f4752193fa7691c6 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Wed, 8 Mar 2017 22:25:30 +0100 Subject: CMake: Assume mingw-w64 for MinGW builds (should be a safe assumption, if not let me know...) This resolves the "mingw-w64" vs. "MinGW 64-bit" ambiguity of the "HAVE_MINGW64" cmake variable (which worked before as devlibs = 32bit = mingw; devlibs64 = 64-bit = mingw-w64), but is not senseful for newer 32-bit MinGW builds that are based on mingw-w64, too. (bzr r15579) --- CMakeScripts/DefineDependsandFlags.cmake | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 90df50c6d..29ccb3a91 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -23,21 +23,16 @@ list(APPEND INKSCAPE_CXX_FLAGS "-std=c++11") if(WIN32) # Set the link and include directories get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES) - - # MinGW supplied STL does not define these floating point constants.. :/ - add_definitions(-DFLT_EPSILON=1e-9) - add_definitions(-DFLT_MAX=1e+37) - add_definitions(-DFLT_MIN=1e-37) list(APPEND INKSCAPE_LIBS "-lmscms") list(APPEND INKSCAPE_CXX_FLAGS "-mwindows") list(APPEND INKSCAPE_CXX_FLAGS "-mthreads") + + list(APPEND INKSCAPE_LIBS "-lgomp") + list(APPEND INKSCAPE_LIBS "-lwinpthread") if(HAVE_MINGW64) - list(APPEND INKSCAPE_LIBS "-lgomp") - list(APPEND INKSCAPE_LIBS "-lwinpthread") - list(APPEND INKSCAPE_CXX_FLAGS "-m64") else() list(APPEND INKSCAPE_CXX_FLAGS "-m32") -- cgit v1.2.3 From 0c9751c69184c11fea5f4f5e27074f1b21abb9da Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 9 Mar 2017 00:03:24 +0100 Subject: CMake: Prefer to install the genuine /hicolor/index.theme file in MSYS2 installs This avoids the issues hiughlighted by su_v in https://bugs.launchpad.net/inkscape/+bug/1659336/comments/5 (bzr r15581) --- CMakeScripts/InstallMSYS2.cmake | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 3cfc9c20c..63c6f0c4c 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -159,9 +159,10 @@ if(WIN32) PATTERN CMakeLists.txt EXCLUDE PATTERN *.am EXCLUDE) - # Generate a dummy file in hicolor/index.theme to avoid bug 1635207 - file(GENERATE OUTPUT ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/index.theme - CONTENT "[Icon Theme]\nName=hicolor\nDirectories=") + # Install hicolor/index.theme to avoid bug 1635207 + install(FILES + ${MINGW_PATH}/share/icons/hicolor/index.theme + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor) install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) -- cgit v1.2.3 From 81fcb041da64d709e6fffb815b0a520ffacdebff Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 9 Mar 2017 00:07:18 +0100 Subject: CMake: Don't install /share/themes on Windows There's nothing we want but stuff we definitely don't need. (bzr r15582) --- CMakeScripts/Install.cmake | 3 --- CMakeScripts/InstallMSYS2.cmake | 3 --- 2 files changed, 6 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index 64ab4607b..57c16b038 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -202,9 +202,6 @@ if(WIN32) install(DIRECTORY ${DEVLIBS_PATH}/share/icons/Adwaita DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) - install(DIRECTORY ${DEVLIBS_PATH}/share/themes - DESTINATION ${CMAKE_INSTALL_PREFIX}/share) - install(DIRECTORY ${DEVLIBS_PATH}/share/locale DESTINATION ${CMAKE_INSTALL_PREFIX}/share PATTERN "*gtk20.mo" EXCLUDE) diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 63c6f0c4c..fae4dacce 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -167,9 +167,6 @@ if(WIN32) install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) - install(DIRECTORY ${MINGW_PATH}/share/themes - DESTINATION ${CMAKE_INSTALL_PREFIX}/share) - install(DIRECTORY ${MINGW_PATH}/share/locale DESTINATION ${CMAKE_INSTALL_PREFIX}/share PATTERN "*gtk20.mo" EXCLUDE) -- cgit v1.2.3 From 3475114e7d20d9402f2fba8d4603c3bd6131c571 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 9 Mar 2017 00:14:40 +0100 Subject: CMake: Don't install /share/locale on Windows We only ever wanted "gtk30.mo" for translation of stock items. - As we stripped all stock items from our source we don't need it anymore - As there are *lots* of translations in MSYS2 we installed a huge amount of unneeded files (bzr r15583) --- CMakeScripts/Install.cmake | 4 ---- CMakeScripts/InstallMSYS2.cmake | 4 ---- 2 files changed, 8 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index 57c16b038..9250f3d00 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -202,10 +202,6 @@ if(WIN32) install(DIRECTORY ${DEVLIBS_PATH}/share/icons/Adwaita DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) - install(DIRECTORY ${DEVLIBS_PATH}/share/locale - DESTINATION ${CMAKE_INSTALL_PREFIX}/share - PATTERN "*gtk20.mo" EXCLUDE) - install(DIRECTORY ${DEVLIBS_PATH}/share/poppler DESTINATION ${CMAKE_INSTALL_PREFIX}/share) diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index fae4dacce..87867ff73 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -167,10 +167,6 @@ if(WIN32) install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) - install(DIRECTORY ${MINGW_PATH}/share/locale - DESTINATION ${CMAKE_INSTALL_PREFIX}/share - PATTERN "*gtk20.mo" EXCLUDE) - install(DIRECTORY ${MINGW_PATH}/share/poppler DESTINATION ${CMAKE_INSTALL_PREFIX}/share) -- cgit v1.2.3 From d3c760ca97323625ad78234ae76521096b6008ed Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 8 Apr 2017 12:41:15 +0200 Subject: cmake/MSYS2: Spell checking via gtkspell now working * the Aspell backend for Enchant was missing (now available [1]) * actually install the backend * install translations required by gtkspell Also re-enable installation of gtk3 translations after r15583 as we still need them in the context menu of native gtk inputs [1] https://github.com/Alexpux/MINGW-packages/pull/2369 (bzr r15618) --- CMakeScripts/InstallMSYS2.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'CMakeScripts') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 87867ff73..bff09cabf 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -167,6 +167,13 @@ if(WIN32) install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) + # translations for libraries (we usually shouldn't need many) + install(DIRECTORY ${MINGW_PATH}/share/locale + DESTINATION ${CMAKE_INSTALL_PREFIX}/share + FILES_MATCHING + PATTERN "*gtk30.mo" + PATTERN "*gtkspell3.mo") + install(DIRECTORY ${MINGW_PATH}/share/poppler DESTINATION ${CMAKE_INSTALL_PREFIX}/share) @@ -196,6 +203,11 @@ if(WIN32) install(DIRECTORY ${MINGW_LIB}/aspell-0.60 DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + # Aspell backend for Enchant (gtkspell uses Enchant to access Aspell dictionaries) + install(FILES + ${MINGW_LIB}/enchant/libenchant_aspell.dll + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/enchant) + # Necessary to run extensions on windows if it is not in the path if (HAVE_MINGW64) install(FILES -- cgit v1.2.3 From 3a5ecff18c444eddc4eeb1de6c404a4b44081c60 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 29 Apr 2017 23:16:31 +0200 Subject: cmake/MSYS2: Only install a fixed list of Python extensions (instead of all extensions that happen to be installed on the build system) (bzr r15650) --- CMakeScripts/DefineDependsandFlags.cmake | 1 + CMakeScripts/HelperFunctions.cmake | 139 ++++++++++++++++++++++++++++++- CMakeScripts/InstallMSYS2.cmake | 26 +++++- 3 files changed, 161 insertions(+), 5 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 29ccb3a91..8cc0f0cd9 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -39,6 +39,7 @@ if(WIN32) endif() endif() +find_package(PkgConfig REQUIRED) pkg_check_modules(INKSCAPE_DEP REQUIRED harfbuzz pangocairo diff --git a/CMakeScripts/HelperFunctions.cmake b/CMakeScripts/HelperFunctions.cmake index f4ed255d5..3cd9e2736 100644 --- a/CMakeScripts/HelperFunctions.cmake +++ b/CMakeScripts/HelperFunctions.cmake @@ -1,10 +1,8 @@ # pkg_check_variable() - a function to retrieve pkg-config variables in CMake # # source: http://bloerg.net/2015/03/06/pkg-config-variables-in-cmake.html - -find_package(PkgConfig REQUIRED) - function(pkg_check_variable _pkg _name) + find_package(PkgConfig REQUIRED) string(TOUPPER ${_pkg} _pkg_upper) string(TOUPPER ${_name} _name_upper) string(REPLACE "-" "_" _pkg_upper ${_pkg_upper}) @@ -32,3 +30,138 @@ function(join OUTPUT GLUE) endforeach() set(${OUTPUT} "${_TMP_RESULT}" PARENT_SCOPE) endfunction() + + + +# Checks if the last call to execute_process() was sucessful and throws an error otherwise. +# ${result} and ${stderr} should hold the value of RESULT_VARIABLE and ERROR_VARIABLE respectively +function(check_error result stderr) + if("${result}" STREQUAL 0) + if(NOT "${stderr}" STREQUAL "") + MESSAGE(WARNING "Process returned sucessfully but the following was output to stderr: ${stderr}") + endif() + else() + if("${stderr}" STREQUAL "") + MESSAGE(FATAL_ERROR "Process failed with error code: ${result}") + else() + MESSAGE(FATAL_ERROR "Process failed with error code: ${result} (stderr: ${stderr})") + endif() + endif() +endfunction(check_error) + + + +# Get the list of files installed by pacman for package ${package_name} and return it as ${file_list}. +# Paths are relative to the root directory of the MinGW installations (the directory returned by function "get_mingw_root()") +function(list_files_pacman package_name file_list) + set(MINGW_PACKAGE_PREFIX $ENV{MINGW_PACKAGE_PREFIX}) # e.g. "mingw-w64-x86_64" + get_filename_component(MINGW_PREFIX $ENV{MINGW_PREFIX} NAME) # e.g. "mingw64" + + # use pacman to list all files/folders installed by the package + execute_process( + COMMAND pacman -Ql ${MINGW_PACKAGE_PREFIX}-${package_name} + OUTPUT_FILE list_files_pacman_temp.txt + RESULT_VARIABLE res + ERROR_VARIABLE err + ) + check_error("${res}" "${err}") + + # clean up output + execute_process( + COMMAND grep -v '/$' # get rid of folders + COMMAND sed -e 's/^${MINGW_PACKAGE_PREFIX}-${package_name} //' # remove package name + COMMAND sed -e 's/^\\/${MINGW_PREFIX}\\///' # remove root path + COMMAND tr '\n' '\;' # finally replace newlines with semicolon + INPUT_FILE list_files_pacman_temp.txt + OUTPUT_VARIABLE out + RESULT_VARIABLE res + ERROR_VARIABLE err + ) + check_error("${res}" "${err}") + + SET(${file_list} ${out} PARENT_SCOPE) + file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/list_files_pacman_temp.txt) +endfunction(list_files_pacman) + + + +# Get the list of files installed by pip for package ${package_name} and return it as ${file_list}. +# Paths are relative to the python distributions "site-packages" folder, i.e. "${root}/lib/python2.7/site-packages" +function(list_files_pip package_name file_list) + # use pip to show package information including full list of files installed by the package + execute_process( + COMMAND pip show -f ${package_name} + OUTPUT_FILE list_files_pip_temp.txt + RESULT_VARIABLE res + ERROR_VARIABLE err + ) + check_error("${res}" "${err}") + + # clean up output + execute_process( + COMMAND sed -e '1,/Files:/d' # strip everything but the files list + COMMAND tr -d ' ' # strip spaces + COMMAND tr '\n' '\;' # finally replace newlines with semicolon + INPUT_FILE list_files_pip_temp.txt + OUTPUT_VARIABLE out + RESULT_VARIABLE res + ERROR_VARIABLE err + ) + check_error("${res}" "${err}") + + SET(${file_list} ${out} PARENT_SCOPE) + file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/list_files_pip_temp.txt) +endfunction(list_files_pip) + + + +# Install a list of files maintaining directory structure +# +# Options: +# FILES - the list of files (absolute or relative paths) +# ROOT - the root to search the files in (if file paths are relative) +# DESTINATION - the destination where to install files to +# INCLUDE - a (list of) regular expression(s) specifying which files to include +# (omit or leave empty to inlcude all files) +# EXCLUDE - a (list of) regular expression(s) specifying which files to exclude +# (takes precedence over include rules) +function(install_list) + # parse arguments + set(oneValueArgs ROOT DESTINATION) + set(multiValueArgs FILES INCLUDE EXCLUDE) + cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + #MESSAGE("ARG_FILES: ${ARG_FILES}" ) + #MESSAGE("ARG_ROOT: ${ARG_ROOT}" ) + #MESSAGE("ARG_DESTINATION: ${ARG_DESTINATION}" ) + #MESSAGE("ARG_INCLUDE: ${ARG_INCLUDE}" ) + #MESSAGE("ARG_EXCLUDE: ${ARG_EXCLUDE}" ) + #MESSAGE("ARG_UNPARSED_ARGUMENTS: ${ARG_UNPARSED_ARGUMENTS}" ) + + # install the files + foreach(file ${ARG_FILES}) + #MESSAGE("file: " ${file}) + + # check includes and excludes (excludes take precedence) + set(include_file 0) + if("${ARG_INCLUDE}" STREQUAL "") # start with the assumption to include all files by default + set(include_file 1) + endif() + foreach(include ${ARG_INCLUDE}) + if("${file}" MATCHES "${include}") + set(include_file 1) + endif() + endforeach() + foreach(exclude ${ARG_EXCLUDE}) + if("${file}" MATCHES "${exclude}") + set(include_file 0) + endif() + endforeach() + + # install if file should be included + if(${include_file}) + get_filename_component(directory ${file} DIRECTORY) + install(FILES "${ARG_ROOT}/${file}" DESTINATION "${ARG_DESTINATION}${directory}") + endif() + endforeach() +endfunction(install_list) diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index bff09cabf..8d31aca46 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -173,7 +173,7 @@ if(WIN32) FILES_MATCHING PATTERN "*gtk30.mo" PATTERN "*gtkspell3.mo") - + install(DIRECTORY ${MINGW_PATH}/share/poppler DESTINATION ${CMAKE_INSTALL_PREFIX}/share) @@ -234,5 +234,27 @@ if(WIN32) ${MINGW_BIN}/libpython2.7.dll DESTINATION ${CMAKE_INSTALL_PREFIX}) install(DIRECTORY ${MINGW_LIB}/python2.7 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + PATTERN "python2.7/site-packages" EXCLUDE) + + set(site_packages "lib/python2.7/site-packages") + # Python packages installed via pacman + set(packages "python2-lxml" "python2-numpy") + foreach(package ${packages}) + list_files_pacman(${package} paths) + install_list(FILES ${paths} + ROOT ${MINGW_PATH} + INCLUDE ${site_packages} # only include content from "site-packages" (we might consider to install everything) + ) + endforeach() + # Python packages installed via pip + set(packages "coverage" "pyserial" "scour" "six") + foreach(package ${packages}) + list_files_pip(${package} paths) + install_list(FILES ${paths} + ROOT ${MINGW_PATH}/${site_packages} + DESTINATION ${site_packages}/ + EXCLUDE "^\\.\\.\\/" # exclude content in parent directories (notably scripts installed to /bin) + ) + endforeach() endif() \ No newline at end of file -- cgit v1.2.3 From a42c31431619e71e4da2166fdb28ac49f5ffc365 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sat, 29 Apr 2017 23:45:55 +0200 Subject: cmake: Do not build/install folders (data,modules,plugins) They're empty, are only created on Windows and seem to be completely unused (bzr r15651) --- CMakeScripts/Install.cmake | 20 +++----------------- CMakeScripts/InstallMSYS2.cmake | 20 +++----------------- 2 files changed, 6 insertions(+), 34 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index 9250f3d00..f1fda7bcc 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -34,6 +34,9 @@ if(WIN32) LGPL2.1.txt DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(DIRECTORY doc + DESTINATION ${CMAKE_INSTALL_PREFIX}) + # devlibs and mingw dlls # There are differences in the devlibs for 64-Bit and 32-Bit build environments. @@ -178,23 +181,6 @@ if(WIN32) DESTINATION ${CMAKE_INSTALL_PREFIX}) endif() - # Setup application data directories, poppler files, locales, icons and themes - file(MAKE_DIRECTORY - data - doc - modules - plugins) - - install(DIRECTORY - data - doc - modules - plugins - DESTINATION ${CMAKE_INSTALL_PREFIX} - PATTERN hicolor/index.theme EXCLUDE # NOTE: Empty index.theme in hicolor icon theme causes SIGSEGV. - PATTERN CMakeLists.txt EXCLUDE - PATTERN *.am EXCLUDE) - # Generate a dummy file in hicolor/index.theme to avoid bug 1635207 file(GENERATE OUTPUT ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/index.theme CONTENT "[Icon Theme]\nName=hicolor\nDirectories=") diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 8d31aca46..c6690bbe9 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -27,6 +27,9 @@ if(WIN32) LGPL2.1.txt DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(DIRECTORY doc + DESTINATION ${CMAKE_INSTALL_PREFIX}) + # mingw dlls install(FILES ${MINGW_BIN}/LIBEAY32.dll @@ -142,23 +145,6 @@ if(WIN32) DESTINATION ${CMAKE_INSTALL_PREFIX}) endif() - # Setup application data directories, poppler files, locales, icons and themes - file(MAKE_DIRECTORY - data - doc - modules - plugins) - - install(DIRECTORY - data - doc - modules - plugins - DESTINATION ${CMAKE_INSTALL_PREFIX} - PATTERN hicolor/index.theme EXCLUDE # NOTE: Empty index.theme in hicolor icon theme causes SIGSEGV. - PATTERN CMakeLists.txt EXCLUDE - PATTERN *.am EXCLUDE) - # Install hicolor/index.theme to avoid bug 1635207 install(FILES ${MINGW_PATH}/share/icons/hicolor/index.theme -- cgit v1.2.3 From 670266198729ea4264915d3f635ff0735d2cd5bf Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Wed, 3 May 2017 22:32:58 +0200 Subject: cmake/MSYS2: Exclude python testsuite from install (those are unittests for Python itself, unittest module is still included) (bzr r15660) --- CMakeScripts/InstallMSYS2.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index c6690bbe9..aac4fd648 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -221,7 +221,9 @@ if(WIN32) DESTINATION ${CMAKE_INSTALL_PREFIX}) install(DIRECTORY ${MINGW_LIB}/python2.7 DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - PATTERN "python2.7/site-packages" EXCLUDE) + PATTERN "python2.7/site-packages" EXCLUDE # specify individual packages to install below + PATTERN "python2.7/test" EXCLUDE # we don't need the Python testsuite + ) set(site_packages "lib/python2.7/site-packages") # Python packages installed via pacman -- cgit v1.2.3 From bf8e8f45f675e740fe793227c22d554113ea7232 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Thu, 4 May 2017 23:41:22 +0200 Subject: cmake/MSYS2: adjust fonts.conf to store fontconfig cache in AppData MSYS2 uses '/var/cache/fontconfig' by default which is not available outside of the MSYS environment and therefore get's created in the root folder of the Inkscape installation. On most systems this will be in read-only 'Program Files' (which might still work thanks to virtual store, but better be safe then sorry). This also makes sure we do not re-introduce bug #1196373 (bzr r15661) --- CMakeScripts/InstallMSYS2.cmake | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'CMakeScripts') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index aac4fd648..c8c580fe4 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -166,7 +166,20 @@ if(WIN32) install(DIRECTORY ${MINGW_PATH}/share/glib-2.0/schemas DESTINATION ${CMAKE_INSTALL_PREFIX}/share/glib-2.0) + # fontconfig install(DIRECTORY ${MINGW_PATH}/etc/fonts + DESTINATION ${CMAKE_INSTALL_PREFIX}/etc + FILES_MATCHING PATTERN "fonts.conf" EXCLUDE) + # adjust fonts.conf to store font cache in AppData + set(cachedir_default "\\t^/var/cache/fontconfig^") # the '^' are needed to escape angle brackets on Windows command shell + set(cachedir_appdata "\\t^LOCAL_APPDATA_FONTCONFIG_CACHE^") + add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/etc/fonts/fonts.conf + COMMAND sed 's!${cachedir_default}!${cachedir_appdata}\\n${cachedir_default}!' ${MINGW_PATH}/etc/fonts/fonts.conf > ${CMAKE_BINARY_DIR}/etc/fonts/fonts.conf + MAIN_DEPENDENCY ${MINGW_PATH}/etc/fonts/fonts.conf + ) + add_custom_target(fonts_conf ALL DEPENDS ${CMAKE_BINARY_DIR}/etc/fonts/fonts.conf) + install(DIRECTORY ${CMAKE_BINARY_DIR}/etc/fonts DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) # GTK 3.0 -- cgit v1.2.3 From 55514fe81102aff77643153208125f2ea0c3c2fb Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Mon, 8 May 2017 22:11:37 +0200 Subject: Build an inkview.com as consoler wrapper around inkview.exe to allow for printing to console (just as we do with inkscape.com / inkscape.exe) (bzr r15677) --- CMakeScripts/InstallMSYS2.cmake | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'CMakeScripts') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index c8c580fe4..a96df045b 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -10,6 +10,11 @@ if(WIN32) DESTINATION ${CMAKE_INSTALL_PREFIX} RENAME inkscape.com ) + install(PROGRAMS + ${EXECUTABLE_OUTPUT_PATH}/inkview_com.exe + DESTINATION ${CMAKE_INSTALL_PREFIX} + RENAME inkview.com + ) install(FILES ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll -- cgit v1.2.3 From 576e8b76d437b1f3b3583e9a8f5d55f133c11dda Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Tue, 9 May 2017 00:59:44 +0200 Subject: cmake: Correctly use 'install(TARGETS ...)' instead of 'install(FILES ...)' for inkscape executables. It's not only more elegant, but it also makes the "install/strip" target work! Also convert DESTINATION to a relative path. As relative paths are relative to ${CMAKE_INSTALL_PREFIX}, it's effectively the same as before, but cmake does not properly handle absolute paths on Windows, see [1]. [1] https://gitlab.kitware.com/cmake/cmake/issues/16859 (bzr r15678) --- CMakeScripts/Install.cmake | 17 ----------------- CMakeScripts/InstallMSYS2.cmake | 22 ---------------------- 2 files changed, 39 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index f1fda7bcc..aab92067a 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -6,23 +6,6 @@ if(UNIX) endif() if(WIN32) - install(PROGRAMS - ${EXECUTABLE_OUTPUT_PATH}/inkscape.exe - ${EXECUTABLE_OUTPUT_PATH}/inkview.exe - DESTINATION ${CMAKE_INSTALL_PREFIX} - ) - - install(PROGRAMS - ${EXECUTABLE_OUTPUT_PATH}/inkscape_com.exe - DESTINATION ${CMAKE_INSTALL_PREFIX} - RENAME inkscape.com - ) - - install(FILES - ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll - DESTINATION ${CMAKE_INSTALL_PREFIX} - ) - install(FILES AUTHORS COPYING diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index a96df045b..982237538 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -1,26 +1,4 @@ if(WIN32) - install(PROGRAMS - ${EXECUTABLE_OUTPUT_PATH}/inkscape.exe - ${EXECUTABLE_OUTPUT_PATH}/inkview.exe - DESTINATION ${CMAKE_INSTALL_PREFIX} - ) - - install(PROGRAMS - ${EXECUTABLE_OUTPUT_PATH}/inkscape_com.exe - DESTINATION ${CMAKE_INSTALL_PREFIX} - RENAME inkscape.com - ) - install(PROGRAMS - ${EXECUTABLE_OUTPUT_PATH}/inkview_com.exe - DESTINATION ${CMAKE_INSTALL_PREFIX} - RENAME inkview.com - ) - - install(FILES - ${LIBRARY_OUTPUT_PATH}/libinkscape_base.dll - DESTINATION ${CMAKE_INSTALL_PREFIX} - ) - install(FILES AUTHORS COPYING -- cgit v1.2.3 From 4c0dbf08b7e1b057fa4c108dfd6ef02b267f0586 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Tue, 9 May 2017 01:22:58 +0200 Subject: cmake: do not install static libraries on Windows (bzr r15679) --- CMakeScripts/HelperMacros.cmake | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/HelperMacros.cmake b/CMakeScripts/HelperMacros.cmake index d5e6d8536..a0bdd9866 100644 --- a/CMakeScripts/HelperMacros.cmake +++ b/CMakeScripts/HelperMacros.cmake @@ -34,10 +34,15 @@ macro(add_inkscape_lib # works fine without having the includes # listed is helpful for IDE's (QtCreator/MSVC) inkscape_source_group("${sources}") - install(TARGETS ${name} - LIBRARY DESTINATION lib/inkscape - ARCHIVE DESTINATION lib/inkscape - ) + + # static libraries are probably not useful on Windows + # (if we ever build shared libraries those would use the RUNTIME target and we might have to revisit this) + if(NOT WIN32) + install(TARGETS ${name} + LIBRARY DESTINATION lib/inkscape + ARCHIVE DESTINATION lib/inkscape + ) + endif() endmacro() -- cgit v1.2.3 From 67810fe35e7654b9cf0706abc317a9b53dcbff72 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Tue, 9 May 2017 20:11:04 +0200 Subject: cmake: Don't include 'ConfigPaths.cmake' twice (bzr r15680) --- CMakeScripts/ConfigEnv.cmake | 2 -- 1 file changed, 2 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigEnv.cmake b/CMakeScripts/ConfigEnv.cmake index dc4c70ba3..dd4e7e10c 100644 --- a/CMakeScripts/ConfigEnv.cmake +++ b/CMakeScripts/ConfigEnv.cmake @@ -52,5 +52,3 @@ if(APPLE) pkg_check_variable(gtk+-2.0 target) message("GTK2 backend: ${GTK+_2.0_TARGET}") endif() - -include(CMakeScripts/ConfigPaths.cmake) \ No newline at end of file -- cgit v1.2.3 From ae2703a5383eb29078c09610d713411b2da5ecf8 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Tue, 9 May 2017 20:42:01 +0200 Subject: cmake/Windows: convert all 'DESTINATION's to relative paths and allow easy customization of install location via 'CMAKE_INSTALL_PREFIX' (bzr r15681) --- CMakeScripts/ConfigPaths.cmake | 4 +++- CMakeScripts/Install.cmake | 34 +++++++++++++++--------------- CMakeScripts/InstallMSYS2.cmake | 46 ++++++++++++++++++++--------------------- 3 files changed, 43 insertions(+), 41 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake index fae8ceea6..417b265bf 100644 --- a/CMakeScripts/ConfigPaths.cmake +++ b/CMakeScripts/ConfigPaths.cmake @@ -1,7 +1,9 @@ message(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}") if(WIN32) - set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/inkscape") + if(${CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT}) + set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/inkscape") + endif() set(INKSCAPE_LIBDIR "\\\\lib") set(INKSCAPE_DATADIR "") diff --git a/CMakeScripts/Install.cmake b/CMakeScripts/Install.cmake index aab92067a..782161dc2 100644 --- a/CMakeScripts/Install.cmake +++ b/CMakeScripts/Install.cmake @@ -15,10 +15,10 @@ if(WIN32) GPL2.txt GPL3.txt LGPL2.1.txt - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) install(DIRECTORY doc - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) # devlibs and mingw dlls @@ -94,7 +94,7 @@ if(WIN32) ${MINGW_BIN}/libwinpthread-1.dll ${MINGW_BIN}/libgcc_s_seh-1.dll ${MINGW_BIN}/libgomp-1.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) else() install(FILES ${DEVLIBS_BIN}/bzip2.dll @@ -161,66 +161,66 @@ if(WIN32) ${DEVLIBS_BIN}/zlib1.dll ${MINGW_BIN}/mingwm10.dll ${MINGW_BIN}/libgomp-1.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) endif() # Generate a dummy file in hicolor/index.theme to avoid bug 1635207 - file(GENERATE OUTPUT ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/index.theme + file(GENERATE OUTPUT share/icons/hicolor/index.theme CONTENT "[Icon Theme]\nName=hicolor\nDirectories=") install(DIRECTORY ${DEVLIBS_PATH}/share/icons/Adwaita - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) + DESTINATION share/icons) install(DIRECTORY ${DEVLIBS_PATH}/share/poppler - DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + DESTINATION share) install(DIRECTORY ${DEVLIBS_PATH}/share/glib-2.0/schemas - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/glib-2.0) + DESTINATION share/glib-2.0) install(DIRECTORY ${DEVLIBS_PATH}/etc/fonts - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + DESTINATION etc) # GTK 3.0 install(DIRECTORY ${DEVLIBS_LIB}/gtk-3.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + DESTINATION lib FILES_MATCHING PATTERN "*.dll" PATTERN "*.cache") install(DIRECTORY ${DEVLIBS_PATH}/etc/gtk-3.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + DESTINATION etc) install(DIRECTORY ${DEVLIBS_LIB}/gdk-pixbuf-2.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + DESTINATION lib FILES_MATCHING PATTERN "*.dll" PATTERN "*.cache") # Aspell dictionaries install(DIRECTORY ${DEVLIBS_LIB}/aspell-0.60 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + DESTINATION lib) # Necessary to run extensions on windows if it is not in the path if (HAVE_MINGW64) install(FILES ${DEVLIBS_BIN}/gspawn-win64-helper.exe ${DEVLIBS_BIN}/gspawn-win64-helper-console.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) else() install(FILES ${DEVLIBS_BIN}/gspawn-win32-helper.exe ${DEVLIBS_BIN}/gspawn-win32-helper-console.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) endif() # Perl install(FILES ${DEVLIBS_PATH}/perl/bin/perl58.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) # Python install(DIRECTORY ${DEVLIBS_PATH}/python - DESTINATION ${CMAKE_INSTALL_PREFIX} + DESTINATION . PATTERN "python/include" EXCLUDE PATTERN "python/libs" EXCLUDE PATTERN "*.pyc" EXCLUDE) diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 982237538..a5d451a88 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -8,10 +8,10 @@ if(WIN32) GPL2.txt GPL3.txt LGPL2.1.txt - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) install(DIRECTORY doc - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) # mingw dlls install(FILES @@ -116,42 +116,42 @@ if(WIN32) ${MINGW_BIN}/libgfortran-3.dll ${MINGW_BIN}/libopenblas.dll ${MINGW_BIN}/libquadmath-0.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) # There are differences for 64-Bit and 32-Bit build environments. if(HAVE_MINGW64) install(FILES ${MINGW_BIN}/libgcc_s_seh-1.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) else() install(FILES ${MINGW_BIN}/libgcc_s_dw2-1.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) endif() # Install hicolor/index.theme to avoid bug 1635207 install(FILES ${MINGW_PATH}/share/icons/hicolor/index.theme - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor) + DESTINATION share/icons/hicolor) install(DIRECTORY ${MINGW_PATH}/share/icons/Adwaita - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons) + DESTINATION share/icons) # translations for libraries (we usually shouldn't need many) install(DIRECTORY ${MINGW_PATH}/share/locale - DESTINATION ${CMAKE_INSTALL_PREFIX}/share + DESTINATION share FILES_MATCHING PATTERN "*gtk30.mo" PATTERN "*gtkspell3.mo") install(DIRECTORY ${MINGW_PATH}/share/poppler - DESTINATION ${CMAKE_INSTALL_PREFIX}/share) + DESTINATION share) install(DIRECTORY ${MINGW_PATH}/share/glib-2.0/schemas - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/glib-2.0) + DESTINATION share/glib-2.0) # fontconfig install(DIRECTORY ${MINGW_PATH}/etc/fonts - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc + DESTINATION etc FILES_MATCHING PATTERN "fonts.conf" EXCLUDE) # adjust fonts.conf to store font cache in AppData set(cachedir_default "\\t^/var/cache/fontconfig^") # the '^' are needed to escape angle brackets on Windows command shell @@ -163,60 +163,60 @@ if(WIN32) ) add_custom_target(fonts_conf ALL DEPENDS ${CMAKE_BINARY_DIR}/etc/fonts/fonts.conf) install(DIRECTORY ${CMAKE_BINARY_DIR}/etc/fonts - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + DESTINATION etc) # GTK 3.0 install(DIRECTORY ${MINGW_LIB}/gtk-3.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + DESTINATION lib FILES_MATCHING PATTERN "*.dll" PATTERN "*.cache") install(DIRECTORY ${MINGW_PATH}/etc/gtk-3.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/etc) + DESTINATION etc) install(DIRECTORY ${MINGW_LIB}/gdk-pixbuf-2.0 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + DESTINATION lib FILES_MATCHING PATTERN "*.dll" PATTERN "*.cache") # Aspell dictionaries install(DIRECTORY ${MINGW_LIB}/aspell-0.60 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + DESTINATION lib) # Aspell backend for Enchant (gtkspell uses Enchant to access Aspell dictionaries) install(FILES ${MINGW_LIB}/enchant/libenchant_aspell.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/enchant) + DESTINATION lib/enchant) # Necessary to run extensions on windows if it is not in the path if (HAVE_MINGW64) install(FILES ${MINGW_BIN}/gspawn-win64-helper.exe ${MINGW_BIN}/gspawn-win64-helper-console.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) else() install(FILES ${MINGW_BIN}/gspawn-win32-helper.exe ${MINGW_BIN}/gspawn-win32-helper-console.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) endif() # Python (a bit hacky for backwards compatibility with devlibs at this point) install(FILES ${MINGW_BIN}/python2.exe RENAME python.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) install(FILES ${MINGW_BIN}/python2w.exe RENAME pythonw.exe - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) install(FILES ${MINGW_BIN}/libpython2.7.dll - DESTINATION ${CMAKE_INSTALL_PREFIX}) + DESTINATION .) install(DIRECTORY ${MINGW_LIB}/python2.7 - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + DESTINATION lib PATTERN "python2.7/site-packages" EXCLUDE # specify individual packages to install below PATTERN "python2.7/test" EXCLUDE # we don't need the Python testsuite ) -- cgit v1.2.3 From aafd57bd9a86853df3d4b369df16d8a555908baf Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sun, 14 May 2017 17:48:05 +0200 Subject: cmake: Store defauklt CMAKE_INSTALL_PREFIX to cache, otherwise it will be lost on subsequent runs (bzr r15692) --- CMakeScripts/ConfigPaths.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake index 417b265bf..de053c4d8 100644 --- a/CMakeScripts/ConfigPaths.cmake +++ b/CMakeScripts/ConfigPaths.cmake @@ -2,7 +2,8 @@ message(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}") if(WIN32) if(${CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT}) - set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/inkscape") + set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/inkscape" + CACHE PATH "Install path prefix, prepended onto install directories." FORCE) endif() set(INKSCAPE_LIBDIR "\\\\lib") -- cgit v1.2.3 From c222a986219d10890555ae21b60f4d2a6c9f3ec3 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sun, 14 May 2017 18:00:58 +0200 Subject: cmake/MSYS2: Install translations for glib (required for help output on console) (bzr r15693) --- CMakeScripts/InstallMSYS2.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'CMakeScripts') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index a5d451a88..ec2cd0a14 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -140,6 +140,7 @@ if(WIN32) install(DIRECTORY ${MINGW_PATH}/share/locale DESTINATION share FILES_MATCHING + PATTERN "*glib20.mo" PATTERN "*gtk30.mo" PATTERN "*gtkspell3.mo") -- cgit v1.2.3 From f18b7199542c83ddf5c3813fe0ff0336a81fa464 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Tue, 23 May 2017 20:44:33 +0200 Subject: cmake/MSYS2: Include libyaml for xverb feature (bzr r15699) --- CMakeScripts/InstallMSYS2.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'CMakeScripts') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index ec2cd0a14..495e8e1e6 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -103,6 +103,7 @@ if(WIN32) ${MINGW_BIN}/libwpg-0.3.dll ${MINGW_BIN}/libxml2-2.dll ${MINGW_BIN}/libxslt-1.dll + ${MINGW_BIN}/libyaml-0-2.dll ${MINGW_BIN}/nss3.dll ${MINGW_BIN}/nssutil3.dll ${MINGW_BIN}/smime3.dll -- cgit v1.2.3 From 260a45509ec8e9ef91d2df86a2cc9e876a7f9d93 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Mon, 29 May 2017 21:22:42 +0200 Subject: cmake/MSYS2: install python2-pillow (bzr r15717) --- CMakeScripts/InstallMSYS2.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/InstallMSYS2.cmake b/CMakeScripts/InstallMSYS2.cmake index 495e8e1e6..d3e63c3c9 100644 --- a/CMakeScripts/InstallMSYS2.cmake +++ b/CMakeScripts/InstallMSYS2.cmake @@ -225,7 +225,7 @@ if(WIN32) set(site_packages "lib/python2.7/site-packages") # Python packages installed via pacman - set(packages "python2-lxml" "python2-numpy") + set(packages "python2-lxml" "python2-numpy" "python2-pillow") foreach(package ${packages}) list_files_pacman(${package} paths) install_list(FILES ${paths} -- cgit v1.2.3