From b60d6f5a2f63da673c383bb4fbbcf3e59a82fdb6 Mon Sep 17 00:00:00 2001 From: eidheim Date: Mon, 23 May 2016 17:29:05 +0200 Subject: [PATCH] CMakeLists.txt cleanup --- CMakeLists.txt | 30 ++++++++++++++++--- .../FindLibClang.cmake | 0 .../FindPlantuml.cmake | 0 src/CMakeLists.txt | 26 ++-------------- src/cmake/Modules/FindLibClangmm.cmake | 20 ------------- tests/CMakeLists.txt | 20 +------------ 6 files changed, 29 insertions(+), 67 deletions(-) rename {src/cmake/Modules => cmake_modules}/FindLibClang.cmake (100%) rename {src/cmake/Modules => cmake_modules}/FindPlantuml.cmake (100%) delete mode 100644 src/cmake/Modules/FindLibClangmm.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 56125b4..f8fb174 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,16 +3,38 @@ cmake_minimum_required (VERSION 2.8.4) set(project_name juci) project (${project_name}) -add_subdirectory("src") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread -Wall -Wextra -Wno-unused-parameter -Wno-reorder") +if(NOT (CMAKE_BUILD_TYPE STREQUAL "Debug")) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") +endif() -if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD|OpenBSD|NetBSD") - install(FILES "${CMAKE_SOURCE_DIR}/share/juci.desktop" - DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications") +if(APPLE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -undefined dynamic_lookup") #TODO: fix this + link_directories(/usr/local/lib /usr/local/opt/gettext/lib) + include_directories(/usr/local/opt/gettext/include) + set(CMAKE_MACOSX_RPATH 1) + set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig") endif() +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake_modules/") +find_package(LibClang REQUIRED) +find_package(Boost 1.54 COMPONENTS regex system filesystem REQUIRED) +find_package(ASPELL REQUIRED) +include(FindPkgConfig) +pkg_check_modules(GTKMM gtkmm-3.0 REQUIRED) +pkg_check_modules(GTKSVMM gtksourceviewmm-3.0 REQUIRED) + +add_subdirectory("src") + +#TODO: instead of the if-expression below, disable tests on Travis CI for clang++ builds if(NOT (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") AND (NOT $ENV{distribution} STREQUAL ""))) if(ENABLE_TESTING) enable_testing() add_subdirectory(tests) endif() endif() + +if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD|OpenBSD|NetBSD") + install(FILES "${CMAKE_SOURCE_DIR}/share/juci.desktop" + DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications") +endif() diff --git a/src/cmake/Modules/FindLibClang.cmake b/cmake_modules/FindLibClang.cmake similarity index 100% rename from src/cmake/Modules/FindLibClang.cmake rename to cmake_modules/FindLibClang.cmake diff --git a/src/cmake/Modules/FindPlantuml.cmake b/cmake_modules/FindPlantuml.cmake similarity index 100% rename from src/cmake/Modules/FindPlantuml.cmake rename to cmake_modules/FindPlantuml.cmake diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 682cbda..4e56656 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,15 +1,3 @@ -add_definitions(-DBOOST_LOG_DYN_LINK) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -std=c++11 -pthread -Wall -Wextra -Wno-unused-parameter -Wno-reorder") -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/cmake/Modules/") - -if(APPLE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -undefined dynamic_lookup") - link_directories(/usr/local/lib /usr/local/opt/gettext/lib) - include_directories(/usr/local/opt/gettext/include) - set(CMAKE_MACOSX_RPATH 1) - set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig") -endif() - if(UNIX) #Checking if compiling on Ubuntu that for instance has a buggy menu system find_program(LSB_RELEASE_BIN lsb_release) if(LSB_RELEASE_BIN) @@ -25,12 +13,6 @@ if(MSYS) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMSYS_PROCESS_USE_SH") endif() -find_package(LibClang REQUIRED) -find_package(Boost 1.54 COMPONENTS regex system filesystem REQUIRED) -find_package(ASPELL REQUIRED) -set(LIBCLANGMM_INCLUDE_DIR ../libclangmm/src) -set(TINY_PROCESS_INCLUDE_DIR ../tiny-process-library) - string(REPLACE libclang liblldb LIBLLDB_LIBRARIES "${LIBCLANG_LIBRARIES}") if(EXISTS "${LIBLLDB_LIBRARIES}") set(LIBLLDB_FOUND TRUE) @@ -45,18 +27,14 @@ else() message("liblldb not found. Building juCi++ without debugging support") endif() -include(FindPkgConfig) -pkg_check_modules(GTKMM gtkmm-3.0 REQUIRED) -pkg_check_modules(GTKSVMM gtksourceviewmm-3.0 REQUIRED) - set(global_includes ${Boost_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS} ${GTKSVMM_INCLUDE_DIRS} ${LIBCLANG_INCLUDE_DIRS} - ${LIBCLANGMM_INCLUDE_DIR} ${ASPELL_INCLUDE_DIR} - ${TINY_PROCESS_INCLUDE_DIR} + ../libclangmm/src + ../tiny-process-library ) set(global_libraries diff --git a/src/cmake/Modules/FindLibClangmm.cmake b/src/cmake/Modules/FindLibClangmm.cmake deleted file mode 100644 index b44b45d..0000000 --- a/src/cmake/Modules/FindLibClangmm.cmake +++ /dev/null @@ -1,20 +0,0 @@ -# LCL_FOUND - Libclangmm is available -# LCL_INCLUDE_DIRS - The libclangmm include directories -# LCL_LIBRARIES - - -find_package(PkgConfig) - -find_path(LCL_INCLUDE_DIR clangmm.h - PATH_SUFFIXES libclangmm -) - -find_library(LCL_LIBRARY NAMES clangmm) - -set(LCL_LIBRARIES ${LCL_LIBRARY} ) -set(LCL_INCLUDE_DIRS ${LCL_INCLUDE_DIR} ) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(LCL DEFAULT_MSG - LCL_LIBRARY LCL_INCLUDE_DIR) - -mark_as_advanced(LCL_INCLUDE_DIR LCL_LIBRARY ) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index fee7b5b..2f78419 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,22 +1,4 @@ -add_definitions(-DBOOST_LOG_DYN_LINK) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-access-control -std=c++11 -pthread -Wall -Wextra -Wno-unused-parameter -Wno-reorder") - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DJUCI_TESTS_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}\\\"") - -if(APPLE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -undefined dynamic_lookup") - link_directories(/usr/local/lib /usr/local/opt/gettext/lib) - include_directories(/usr/local/opt/gettext/include) - set(CMAKE_MACOSX_RPATH 1) - set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig") -endif() - -find_package(Boost 1.54 COMPONENTS regex system filesystem REQUIRED) -find_package(ASPELL REQUIRED) -set(LIBCLANGMM_INCLUDE_DIR ../libclangmm/src) - -include(FindPkgConfig) -pkg_check_modules(GTKMM gtkmm-3.0 REQUIRED) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-access-control -DJUCI_TESTS_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}\\\"") set(global_includes ${Boost_INCLUDE_DIRS}