Browse Source

Improve CMake package config and find_package scripts.

master
Ghislain MARY 3 years ago
parent
commit
e29952e7ce
4 changed files with 44 additions and 58 deletions
  1. +19
    -27
      BCG729Config.cmake.in
  2. +21
    -22
      CMakeLists.txt
  3. +3
    -2
      build/CMakeLists.txt
  4. +1
    -7
      src/CMakeLists.txt

Bcg729Config.cmake.in → BCG729Config.cmake.in View File


+ 21
- 22
CMakeLists.txt View File

@ -20,9 +20,9 @@
#
############################################################################
cmake_minimum_required(VERSION 3.1)
cmake_minimum_required(VERSION 3.22)
project(bcg729 VERSION 1.1.1 LANGUAGES C)
project(BCG729 VERSION 1.1.1 LANGUAGES C)
set(PACKAGE "${PROJECT_NAME}")
@ -77,21 +77,30 @@ endif()
include(CMakePackageConfigHelpers)
set(CONFIG_PACKAGE_LOCATION "${CMAKE_INSTALL_DATADIR}/Bcg729/cmake")
write_basic_package_version_file(
"${PROJECT_BINARY_DIR}/Bcg729ConfigVersion.cmake"
VERSION ${PACKAGE_VERSION}
set(CMAKE_MODULES_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake")
configure_package_config_file("${PROJECT_NAME}Config.cmake.in" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
INSTALL_DESTINATION "${CMAKE_MODULES_INSTALL_DIR}"
NO_SET_AND_CHECK_MACRO
)
write_basic_package_version_file("${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
export(EXPORT Bcg729Targets
FILE "${PROJECT_BINARY_DIR}/Bcg729Targets.cmake"
install(FILES
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
DESTINATION ${CMAKE_MODULES_INSTALL_DIR}
)
export(EXPORT ${PROJECT_NAME}Targets
FILE "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake"
)
configure_package_config_file(Bcg729Config.cmake.in
"${PROJECT_BINARY_DIR}/Bcg729Config.cmake"
INSTALL_DESTINATION ${CONFIG_PACKAGE_LOCATION}
NO_SET_AND_CHECK_MACRO
install(EXPORT ${PROJECT_NAME}Targets
FILE "${PROJECT_NAME}Targets.cmake"
DESTINATION ${CMAKE_MODULES_INSTALL_DIR}
)
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
set(includedir "\${prefix}/include")
@ -105,15 +114,5 @@ install(FILES
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
)
install(EXPORT Bcg729Targets
FILE Bcg729Targets.cmake
DESTINATION ${CONFIG_PACKAGE_LOCATION}
)
install(FILES
"${PROJECT_BINARY_DIR}/Bcg729Config.cmake"
"${PROJECT_BINARY_DIR}/Bcg729ConfigVersion.cmake"
DESTINATION ${CONFIG_PACKAGE_LOCATION}
)
add_subdirectory(build)

+ 3
- 2
build/CMakeLists.txt View File

@ -1,6 +1,6 @@
############################################################################
# CMakeLists.txt
# Copyright (C) 2017-2018 Belledonne Communications, Grenoble France
# Copyright (C) 2017-2023 Belledonne Communications, Grenoble France
#
############################################################################
#
@ -21,7 +21,8 @@
############################################################################
if(NOT CPACK_PACKAGE_NAME)
set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
string(TOLOWER "${PROJECT_NAME}" LOWERCASE_PROJECT_NAME)
set(CPACK_PACKAGE_NAME "${LOWERCASE_PROJECT_NAME}")
ENDIF()
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/../LICENSE.txt")


+ 1
- 7
src/CMakeLists.txt View File

@ -49,11 +49,6 @@ set(BCG729_SOURCE_FILES
vad.c
)
if(MSVC)
set(MSVC_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include/MSVC")
include_directories(${MSVC_INCLUDE_DIR})
endif()
add_library(bcg729 ${BCG729_SOURCE_FILES})
target_compile_definitions(bcg729 PRIVATE "BCG729_EXPORTS")
set_target_properties(bcg729 PROPERTIES VERSION 0)
@ -65,7 +60,6 @@ target_include_directories(bcg729
${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/src
${PROJECT_BINARY_DIR}
${MSVC_INCLUDE_DIR}
)
if(MSVC AND BUILD_SHARED_LIBS)
@ -79,7 +73,7 @@ if(MSVC AND BUILD_SHARED_LIBS)
endif()
install(TARGETS bcg729 EXPORT Bcg729Targets
install(TARGETS bcg729 EXPORT ${PROJECT_NAME}Targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}


Loading…
Cancel
Save