From e4cff18db45ff0b4ffb4857b66f09a82f07b8a7d Mon Sep 17 00:00:00 2001 From: eidheim Date: Fri, 8 Jul 2016 10:46:08 +0200 Subject: [PATCH] Added CPack to CMakeLists.txt, which can be used to build jucipp packages on various platforms --- CMakeLists.txt | 19 ++++++++++++++++--- README.md | 1 - debian/control | 2 +- docs/install.md | 4 ++-- src/CMakeLists.txt | 8 ++++---- src/files.h | 2 -- 6 files changed, 23 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 17ae446..1bd102b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,22 @@ cmake_minimum_required (VERSION 2.8.8) -set(project_name juci) -project (${project_name}) +project(juci) +set(JUCI_VERSION "1.2.0.1") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -pthread -Wall -Wextra -Wno-unused-parameter -Wno-reorder") +set(CPACK_PACKAGE_NAME "jucipp") +set(CPACK_PACKAGE_CONTACT "Ole Christian Eidheim ") +set(CPACK_PACKAGE_VENDOR ${CPACK_PACKAGE_CONTACT}) +set(CPACK_PACKAGE_VERSION ${JUCI_VERSION}) +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A lightweight, platform independent C++-IDE with support for C++11, C++14, and experimental C++17 features depending on libclang version.") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) +set(CPACK_DEBIAN_PACKAGE_DEPENDS "cmake, make, g++, libclang-dev, liblldb-3.5-dev, clang-format-3.5, pkg-config, libboost-system-dev, libboost-filesystem-dev, libgtksourceviewmm-3.0-dev, aspell-en, libaspell-dev, libgit2-dev, exuberant-ctags") +set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/cppit/jucipp") +set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) +include(CPack) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DJUCI_VERSION=\\\"${JUCI_VERSION}\\\" -std=c++1y -pthread -Wall -Wextra -Wno-unused-parameter -Wno-reorder") if(CMAKE_BUILD_TYPE STREQUAL "") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") endif() diff --git a/README.md b/README.md index 683fbd4..217df51 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,6 @@ See [enhancements](https://github.com/cppit/jucipp/labels/enhancement) for plann ## Dependencies * boost-filesystem -* boost-regex * gtkmm-3.0 * gtksourceviewmm-3.0 * aspell diff --git a/debian/control b/debian/control index aaa525d..1e69ddd 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: jucipp Section: unknown Priority: optional Maintainer: Ole Christian Eidheim -Build-Depends: debhelper (>= 9), cmake, make, g++, libclang-dev, liblldb-3.5-dev, clang-format-3.5, pkg-config, libboost-system-dev, libboost-thread-dev, libboost-filesystem-dev, libboost-log-dev, libboost-regex-dev, libgtksourceviewmm-3.0-dev, aspell-en, libaspell-dev +Build-Depends: debhelper (>= 9), cmake, make, g++, libclang-dev, liblldb-3.5-dev, clang-format-3.5, pkg-config, libboost-system-dev, libboost-filesystem-dev, libgtksourceviewmm-3.0-dev, aspell-en, libaspell-dev, libgit2-dev, exuberant-ctags Standards-Version: 3.9.5 Homepage: https://github.com/cppit/jucipp diff --git a/docs/install.md b/docs/install.md index 17c9231..3aed8ea 100644 --- a/docs/install.md +++ b/docs/install.md @@ -16,7 +16,7 @@ ## Debian testing/Linux Mint/Ubuntu Install dependencies: ```sh -sudo apt-get install git cmake make g++ libclang-3.6-dev liblldb-3.6-dev clang-format-3.6 pkg-config libboost-filesystem-dev libboost-regex-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev libgit2-dev exuberant-ctags +sudo apt-get install git cmake make g++ libclang-3.6-dev liblldb-3.6-dev clang-format-3.6 pkg-config libboost-filesystem-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev libgit2-dev exuberant-ctags ``` Get juCi++ source, compile and install: @@ -32,7 +32,7 @@ sudo make install ## Debian stable/Linux Mint Debian Edition/Raspbian Install dependencies: ```sh -sudo apt-get install git cmake make g++ libclang-3.5-dev liblldb-3.5-dev clang-format-3.5 pkg-config libboost-filesystem-dev libboost-regex-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev libgit2-dev exuberant-ctags +sudo apt-get install git cmake make g++ libclang-3.5-dev liblldb-3.5-dev clang-format-3.5 pkg-config libboost-filesystem-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev libgit2-dev exuberant-ctags ``` Get juCi++ source, compile and install: diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a4b9547..75ce786 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -90,11 +90,11 @@ include_directories(${global_includes}) add_library(project_shared OBJECT ${project_shared_files}) if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") AND (NOT $ENV{distribution} STREQUAL "")) - add_library(${project_name} OBJECT ${project_files}) + add_library(${CMAKE_PROJECT_NAME} OBJECT ${project_files}) else() - add_executable(${project_name} ${project_files} $) - target_link_libraries(${project_name} ${global_libraries}) - install(TARGETS ${project_name} + add_executable(${CMAKE_PROJECT_NAME} ${project_files} $) + target_link_libraries(${CMAKE_PROJECT_NAME} ${global_libraries}) + install(TARGETS ${CMAKE_PROJECT_NAME} RUNTIME DESTINATION bin ) endif() diff --git a/src/files.h b/src/files.h index 53d73fd..4ce002e 100644 --- a/src/files.h +++ b/src/files.h @@ -2,8 +2,6 @@ #define JUCI_FILES_H_ #include -#define JUCI_VERSION "1.2.0-1" - const std::string default_config_file = R"RAW({ "version": ")RAW"+std::string(JUCI_VERSION)+R"RAW(", "default_window_size": {