From b84a63420c4506b610335d476cbb4b9e02434a1e Mon Sep 17 00:00:00 2001 From: Mathieu Faverge <mathieu.faverge@inria.fr> Date: Mon, 12 Jun 2017 11:58:54 +0200 Subject: [PATCH] Start working on the cmakelist for inclusion within chameleon --- CMakeLists.txt | 34 ++++++++++++------- ...nPkgConfig.cmake => GenHQRPkgConfig.cmake} | 18 +++++----- 2 files changed, 31 insertions(+), 21 deletions(-) rename cmake_modules/{GenPkgConfig.cmake => GenHQRPkgConfig.cmake} (89%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 13dafb7..e2b7fd9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,23 +9,33 @@ # ### cmake_minimum_required (VERSION 3.0) -project (LIBHQR C) +project (HQR C) + +# Check if compiled independtly or within another project +if ( ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURENT_SOURCE_DIR}) + set( BUILD_SUBPROJECT OFF ) +else() + set( BUILD_SUBPROJECT ON ) +endif() + list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules") -include(GenPkgConfig) +include(GenHQRPkgConfig) # The current version number -set (LIBHQR_VERSION_MAJOR 0) -set (LIBHQR_VERSION_MINOR 1) -set (LIBHQR_VERSION_MICRO 0) +set (HQR_VERSION_MAJOR 0) +set (HQR_VERSION_MINOR 1) +set (HQR_VERSION_MICRO 0) -set( LIBHQR_VERSION "${LIBHQR_VERSION_MAJOR}.${LIBHQR_VERSION_MINOR}.${LIBHQR_VERSION_MICRO}" ) +set( HQR_VERSION "${HQR_VERSION_MAJOR}.${HQR_VERSION_MINOR}.${HQR_VERSION_MICRO}" ) ### Misc options -option(BUILD_SHARED_LIBS - "Build shared libraries" OFF) -if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are None, Debug, Release, RelWithDebInfo and MinSizeRel." FORCE) -endif(NOT CMAKE_BUILD_TYPE) +if ( NOT BUILD_SUBPROJECT ) + option(BUILD_SHARED_LIBS + "Build shared libraries" OFF) + if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are None, Debug, Release, RelWithDebInfo and MinSizeRel." FORCE) + endif(NOT CMAKE_BUILD_TYPE) +endif() set(hdrs include/common.h @@ -56,7 +66,7 @@ install(FILES install(TARGETS hqr DESTINATION lib) -generate_pkgconfig_file() +generate_hqr_pkgconfig_file() #-- Add a custom target to generate tags add_custom_target (tags diff --git a/cmake_modules/GenPkgConfig.cmake b/cmake_modules/GenHQRPkgConfig.cmake similarity index 89% rename from cmake_modules/GenPkgConfig.cmake rename to cmake_modules/GenHQRPkgConfig.cmake index ecb7163..6335666 100644 --- a/cmake_modules/GenPkgConfig.cmake +++ b/cmake_modules/GenHQRPkgConfig.cmake @@ -78,23 +78,23 @@ ENDMACRO(CLEAN_LIB_LIST) # GENERATE_PKGCONFIG_FILE: generate files libhqr.pc # ### -MACRO(GENERATE_PKGCONFIG_FILE) +MACRO(GENERATE_HQR_PKGCONFIG_FILE) - SET(LIBHQR_PKGCONFIG_LIBS "-lhqr") - SET(LIBHQR_PKGCONFIG_LIBS_PRIVATE "-lm") - SET(LIBHQR_PKGCONFIG_REQUIRED "") - SET(LIBHQR_PKGCONFIG_REQUIRED_PRIVATE "") + SET(HQR_PKGCONFIG_LIBS "-lhqr") + SET(HQR_PKGCONFIG_LIBS_PRIVATE "-lm") + SET(HQR_PKGCONFIG_REQUIRED "") + SET(HQR_PKGCONFIG_REQUIRED_PRIVATE "") CLEAN_LIB_LIST(LIBHQR) - SET(_output_libhqr_file "${CMAKE_BINARY_DIR}/libhqr.pc") + SET(_output_libhqr_file "${CMAKE_BINARY_DIR}/hqr.pc") CONFIGURE_FILE( - "${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/libhqr.pc.in" - "${_output_libhqr_file}" + "${CMAKE_CURRENT_SOURCE_DIR}/lib/pkgconfig/hqr.pc.in" + "${_output_hqr_file}" @ONLY ) INSTALL( - FILES ${_output_libhqr_file} + FILES ${_output_hqr_file} DESTINATION lib/pkgconfig ) ENDMACRO(GENERATE_PKGCONFIG_FILE) -- GitLab