Rename CMake/pkg-config target Catch2Main to Catch2WithMain

This describes the reality better, as it also links in the rest
of Catch2.

The on-disk name of the static library remains just `Catch2Main`,
as that is what it is -- single main function -- and on-disk artifacts
cannot describe link dependencies.
This commit is contained in:
Martin Hořeňovský 2020-05-03 18:54:38 +02:00
parent 33c58dad41
commit 19ecad6f68
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A
6 changed files with 18 additions and 15 deletions

View File

@ -2,9 +2,9 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@ libdir=@CMAKE_INSTALL_FULL_LIBDIR@
pkg_version=@Catch2_VERSION@ pkg_version=@Catch2_VERSION@
Name: Catch2-Main Name: Catch2-With-Main
Description: Links in the default main function for Catch2 Description: A modern, C++-native test framework for C++14 and above (links in default main)
Version: ${pkg_version} Version: ${pkg_version}
Requires: catch2 = ${pkg_version} Requires: catch2 = ${pkg_version}
Cflags: -I${includedir} Cflags: -I${includedir}
Libs: -L${libdir} -lCatch2Main Libs: -L${libdir} -lCatch2WithMain

View File

@ -2,7 +2,7 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
libdir=@CMAKE_INSTALL_FULL_LIBDIR@ libdir=@CMAKE_INSTALL_FULL_LIBDIR@
Name: Catch2 Name: Catch2
Description: A modern, C++-native, header-only, test framework for C++14 and above Description: A modern, C++-native, test framework for C++14 and above
URL: https://github.com/catchorg/Catch2 URL: https://github.com/catchorg/Catch2
Version: @Catch2_VERSION@ Version: @Catch2_VERSION@
Cflags: -I${includedir} Cflags: -I${includedir}

View File

@ -166,14 +166,14 @@ if (NOT_SUBPROJECT)
@ONLY @ONLY
) )
configure_file( configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/CMake/catch2-main.pc.in ${CMAKE_CURRENT_SOURCE_DIR}/CMake/catch2-with-main.pc.in
${CMAKE_CURRENT_BINARY_DIR}/catch2-main.pc ${CMAKE_CURRENT_BINARY_DIR}/catch2-with-main.pc
@ONLY @ONLY
) )
install( install(
FILES FILES
"${CMAKE_CURRENT_BINARY_DIR}/catch2.pc" "${CMAKE_CURRENT_BINARY_DIR}/catch2.pc"
"${CMAKE_CURRENT_BINARY_DIR}/catch2-main.pc" "${CMAKE_CURRENT_BINARY_DIR}/catch2-with-main.pc"
DESTINATION DESTINATION
${PKGCONFIG_INSTALL_DIR} ${PKGCONFIG_INSTALL_DIR}
) )

View File

@ -40,6 +40,6 @@ class CatchConan(ConanFile):
def package_info(self): def package_info(self):
self.cpp_info.libs = [ self.cpp_info.libs = [
'Catch2Main', 'Catch2'] if self.options.with_main else ['Catch2'] 'Catch2WithMain', 'Catch2'] if self.options.with_main else ['Catch2']
self.cpp_info.names["cmake_find_package"] = "Catch2" self.cpp_info.names["cmake_find_package"] = "Catch2"
self.cpp_info.names["cmake_find_package_multi"] = "Catch2" self.cpp_info.names["cmake_find_package_multi"] = "Catch2"

View File

@ -52,7 +52,7 @@ set(ALL_EXAMPLE_TARGETS
) )
foreach( name ${ALL_EXAMPLE_TARGETS} ) foreach( name ${ALL_EXAMPLE_TARGETS} )
target_link_libraries( ${name} Catch2 Catch2Main ) target_link_libraries( ${name} Catch2 Catch2WithMain )
set_property(TARGET ${name} PROPERTY CXX_STANDARD 14) set_property(TARGET ${name} PROPERTY CXX_STANDARD 14)
set_property(TARGET ${name} PROPERTY CXX_EXTENSIONS OFF) set_property(TARGET ${name} PROPERTY CXX_EXTENSIONS OFF)
endforeach() endforeach()

View File

@ -269,19 +269,22 @@ target_include_directories(Catch2
) )
add_library(Catch2Main STATIC add_library(Catch2WithMain STATIC
${SOURCES_DIR}/internal/catch_main.cpp ${SOURCES_DIR}/internal/catch_main.cpp
) )
add_library(Catch2::Catch2Main ALIAS Catch2Main) add_library(Catch2::Catch2WithMain ALIAS Catch2WithMain)
target_link_libraries(Catch2Main PUBLIC Catch2) target_link_libraries(Catch2WithMain PUBLIC Catch2)
set_target_properties(Catch2WithMain
PROPERTIES
OUTPUT_NAME "Catch2Main"
)
if (NOT_SUBPROJECT) if (NOT_SUBPROJECT)
# create and install an export set for catch target as Catch2::Catch # create and install an export set for catch target as Catch2::Catch
install( install(
TARGETS TARGETS
Catch2 Catch2
Catch2Main Catch2WithMain
EXPORT EXPORT
Catch2Targets Catch2Targets
DESTINATION DESTINATION
@ -342,5 +345,5 @@ if (CATCH_BUILD_EXAMPLES OR CATCH_BUILD_EXTRA_TESTS)
) )
endif() endif()
list(APPEND CATCH_WARNING_TARGETS Catch2 Catch2Main) list(APPEND CATCH_WARNING_TARGETS Catch2 Catch2WithMain)
set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE) set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE)