Skip to content

Commit da92d23

Browse files
authored
Merge pull request #262 from eseiler/fix/find_package
[FIX] Do not find_package yourself
2 parents e9bc14b + fb9bf00 commit da92d23

File tree

2 files changed

+24
-21
lines changed

2 files changed

+24
-21
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ project (sharg
1919
DESCRIPTION "Sharg -- hungrily eating away your arguments"
2020
HOMEPAGE_URL "https://github.com/seqan/sharg-parser")
2121

22-
find_package (Sharg 1.0 REQUIRED HINTS ${SHARG_MODULE_PATH})
22+
include (sharg-config)
2323

2424
option (INSTALL_SHARG "Enable installation of Sharg. (Projects embedding Sharg may want to turn this OFF.)" ON)
2525

cmake/sharg-config.cmake

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -288,30 +288,33 @@ endif ()
288288
# Finish find_package call
289289
# ----------------------------------------------------------------------------
290290

291-
find_package_handle_standard_args (${CMAKE_FIND_PACKAGE_NAME} REQUIRED_VARS SHARG_INCLUDE_DIR)
292-
293-
# Set SHARG_* variables with the content of ${CMAKE_FIND_PACKAGE_NAME}_(FOUND|...|VERSION)
294-
# This needs to be done, because `find_package(SHARG)` might be called in any case-sensitive way and we want to
295-
# guarantee that SHARG_* are always set.
296-
foreach (package_var
297-
FOUND
298-
DIR
299-
ROOT
300-
CONFIG
301-
VERSION
302-
VERSION_MAJOR
303-
VERSION_MINOR
304-
VERSION_PATCH
305-
VERSION_TWEAK
306-
VERSION_COUNT)
307-
set (SHARG_${package_var} "${${CMAKE_FIND_PACKAGE_NAME}_${package_var}}")
308-
endforeach ()
309-
291+
if (CMAKE_FIND_PACKAGE_NAME)
292+
find_package_handle_standard_args (${CMAKE_FIND_PACKAGE_NAME} REQUIRED_VARS SHARG_INCLUDE_DIR)
293+
294+
# Set SHARG_* variables with the content of ${CMAKE_FIND_PACKAGE_NAME}_(FOUND|...|VERSION)
295+
# This needs to be done, because `find_package(SHARG)` might be called in any case-sensitive way and we want to
296+
# guarantee that SHARG_* are always set.
297+
foreach (package_var
298+
FOUND
299+
DIR
300+
ROOT
301+
CONFIG
302+
VERSION
303+
VERSION_MAJOR
304+
VERSION_MINOR
305+
VERSION_PATCH
306+
VERSION_TWEAK
307+
VERSION_COUNT)
308+
set (SHARG_${package_var} "${${CMAKE_FIND_PACKAGE_NAME}_${package_var}}")
309+
endforeach ()
310+
else ()
311+
set (SHARG_VERSION "${PACKAGE_VERSION}")
312+
endif ()
310313
# ----------------------------------------------------------------------------
311314
# Export targets
312315
# ----------------------------------------------------------------------------
313316

314-
if (SHARG_FOUND AND NOT TARGET sharg::sharg)
317+
if (NOT TARGET sharg::sharg)
315318
add_library (sharg_sharg INTERFACE)
316319
target_compile_definitions (sharg_sharg INTERFACE ${SHARG_DEFINITIONS})
317320
target_compile_options (sharg_sharg INTERFACE ${SHARG_CXX_FLAGS})

0 commit comments

Comments
 (0)