-
Notifications
You must be signed in to change notification settings - Fork 350
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: CMake package and pkgconfig rework (#916)
add tests that exercise the CMake module and pkg-config files --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Loading branch information
1 parent
c299ddb
commit c071cb6
Showing
8 changed files
with
201 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,7 @@ | ||
configure_file("cmake/CLI11.pc.in" "CLI11.pc" @ONLY) | ||
if(CLI11_PRECOMPILED) | ||
configure_file("cmake/CLI11precompiled.pc.in" "CLI11.pc" @ONLY) | ||
else() | ||
configure_file("cmake/CLI11.pc.in" "CLI11.pc" @ONLY) | ||
endif() | ||
|
||
install(FILES "${PROJECT_BINARY_DIR}/CLI11.pc" DESTINATION "${CMAKE_INSTALL_DATADIR}/pkgconfig") | ||
install(FILES "${PROJECT_BINARY_DIR}/CLI11.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
prefix=@CMAKE_INSTALL_PREFIX@ | ||
exec_prefix=${prefix} | ||
includedir=${prefix}/include | ||
libdir=${exec_prefix}/lib | ||
|
||
Name: CLI11 | ||
Description: C++ command line parser | ||
Version: @PROJECT_VERSION@ | ||
|
||
Cflags: -I${includedir} -DCLI11_COMPILE | ||
Libs: -L${libdir} -lCLI11 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
// Copyright (c) 2017-2023, University of Cincinnati, developed by Henry Schreiner | ||
// under NSF AWARD 1414736 and by the respective contributors. | ||
// All rights reserved. | ||
// | ||
// SPDX-License-Identifier: BSD-3-Clause | ||
|
||
#pragma once | ||
|
||
//single file header | ||
#include "../CLI11.hpp" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
cmake_minimum_required(VERSION 3.10...3.26) | ||
|
||
project(CLI11-find-package-test) | ||
|
||
include(CTest) | ||
|
||
if(CLI11_DIR) | ||
set(CMAKE_PREFIX_PATH ${CLI11_DIR}) | ||
endif() | ||
|
||
# Test the CLI11 CMake package config | ||
find_package(CLI11 2.0 REQUIRED) | ||
|
||
# Test the target | ||
add_executable(package-test ../../examples/positional_validation.cpp) | ||
target_link_libraries(package-test CLI11::CLI11) | ||
|
||
add_test(NAME package-test1 COMMAND package-test one) | ||
set_property(TEST package-test1 PROPERTY PASS_REGULAR_EXPRESSION "File 1 = one") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
cmake_minimum_required(VERSION 3.10...3.26) | ||
|
||
project(CLI11-package-config-test) | ||
|
||
include(CTest) | ||
|
||
find_package(PkgConfig) | ||
|
||
if(CLI11_DIR) | ||
set(CMAKE_PREFIX_PATH ${CLI11_DIR} ${CLI11_DIR}/lib) | ||
endif() | ||
|
||
message(STATUS "${CLI11_DIR}-- ${CMAKE_PREFIX_PATH}") | ||
pkg_check_modules(CLI11 REQUIRED IMPORTED_TARGET CLI11) | ||
|
||
# Test the target | ||
add_executable(package-config-test ../../examples/positional_validation.cpp) | ||
target_link_libraries(package-config-test PkgConfig::CLI11) | ||
|
||
add_test(NAME package-config-test1 COMMAND package-config-test one) | ||
set_property(TEST package-config-test1 PROPERTY PASS_REGULAR_EXPRESSION "File 1 = one") |