Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ project (sharg
DESCRIPTION "Sharg -- hungrily eating away your arguments"
HOMEPAGE_URL "https://github.com/seqan/sharg-parser")

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

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

Expand Down
43 changes: 23 additions & 20 deletions cmake/sharg-config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -288,30 +288,33 @@ endif ()
# Finish find_package call
# ----------------------------------------------------------------------------

find_package_handle_standard_args (${CMAKE_FIND_PACKAGE_NAME} REQUIRED_VARS SHARG_INCLUDE_DIR)

# Set SHARG_* variables with the content of ${CMAKE_FIND_PACKAGE_NAME}_(FOUND|...|VERSION)
# This needs to be done, because `find_package(SHARG)` might be called in any case-sensitive way and we want to
# guarantee that SHARG_* are always set.
foreach (package_var
FOUND
DIR
ROOT
CONFIG
VERSION
VERSION_MAJOR
VERSION_MINOR
VERSION_PATCH
VERSION_TWEAK
VERSION_COUNT)
set (SHARG_${package_var} "${${CMAKE_FIND_PACKAGE_NAME}_${package_var}}")
endforeach ()

if (CMAKE_FIND_PACKAGE_NAME)
find_package_handle_standard_args (${CMAKE_FIND_PACKAGE_NAME} REQUIRED_VARS SHARG_INCLUDE_DIR)

# Set SHARG_* variables with the content of ${CMAKE_FIND_PACKAGE_NAME}_(FOUND|...|VERSION)
# This needs to be done, because `find_package(SHARG)` might be called in any case-sensitive way and we want to
# guarantee that SHARG_* are always set.
foreach (package_var
FOUND
DIR
ROOT
CONFIG
VERSION
VERSION_MAJOR
VERSION_MINOR
VERSION_PATCH
VERSION_TWEAK
VERSION_COUNT)
set (SHARG_${package_var} "${${CMAKE_FIND_PACKAGE_NAME}_${package_var}}")
endforeach ()
else ()
set (SHARG_VERSION "${PACKAGE_VERSION}")
endif ()
# ----------------------------------------------------------------------------
# Export targets
# ----------------------------------------------------------------------------

if (SHARG_FOUND AND NOT TARGET sharg::sharg)
if (NOT TARGET sharg::sharg)
add_library (sharg_sharg INTERFACE)
target_compile_definitions (sharg_sharg INTERFACE ${SHARG_DEFINITIONS})
target_compile_options (sharg_sharg INTERFACE ${SHARG_CXX_FLAGS})
Expand Down
Loading