Skip to content
Snippets Groups Projects
Commit ccc2ced8 authored by Martin Wölzer's avatar Martin Wölzer
Browse files

cmake/gsl.cmake: removed GSL dependency entirely

parent 75a07892
No related branches found
No related tags found
1 merge request!24Create release v.0.6.0
......@@ -26,12 +26,8 @@ variables:
- if [ "${COMPILER}" == "clang" ]; then export CC="clang-${COMPILER_VERSION}"; export CXX="clang++-${COMPILER_VERSION}"; fi
- export BUILD_DIR="build_${COMPILER}_${COMPILER_VERSION}_${BUILD_TYPE}"
- echo "Using ${CXX} and ${CC} to build ${BUILD_TYPE}, build dir ${BUILD_DIR}"
- mkdir "third_party/GSL/${BUILD_DIR}"
- cd "third_party/GSL/${BUILD_DIR}"
- cmake -DGSL_CXX_STANDARD="17" -DGSL_TEST=Off -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
- cmake --build . --target install
- mkdir "../../../${BUILD_DIR}"
- cd "../../../${BUILD_DIR}"
- mkdir "${BUILD_DIR}"
- cd "${BUILD_DIR}"
- cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DlibClaPP_PEDANTIC_COMPILER_FLAGS=On -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
- cmake --build . --target install
- mkdir "../usage/cmake_import/${BUILD_DIR}"
......@@ -47,12 +43,8 @@ variables:
- if [ "${COMPILER}" == "clang" ]; then export CC="clang-${COMPILER_VERSION}"; export CXX="clang++-${COMPILER_VERSION}"; fi
- export BUILD_DIR="build_${COMPILER}_${COMPILER_VERSION}_${BUILD_TYPE}"
- echo "Using ${CXX} and ${CC} to build ${BUILD_TYPE}, build dir ${BUILD_DIR}"
- mkdir "third_party/GSL/${BUILD_DIR}"
- cd "third_party/GSL/${BUILD_DIR}"
- cmake -DGSL_CXX_STANDARD="17" -DGSL_TEST=Off -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
- cmake --build . --target install
- mkdir "../../../${BUILD_DIR}"
- cd "../../../${BUILD_DIR}"
- mkdir "${BUILD_DIR}"
- cd "${BUILD_DIR}"
- cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DlibClaPP_PEDANTIC_COMPILER_FLAGS=On -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
- cmake --build . --target install
- mkdir "../usage/cmake_pkgconfig/${BUILD_DIR}"
......@@ -68,12 +60,8 @@ variables:
- if [ "${COMPILER}" == "clang" ]; then export CC="clang-${COMPILER_VERSION}"; export CXX="clang++-${COMPILER_VERSION}"; fi
- export BUILD_DIR="build_${COMPILER}_${COMPILER_VERSION}_${BUILD_TYPE}"
- echo "Using ${CXX} and ${CC} to build ${BUILD_TYPE}, build dir ${BUILD_DIR}"
- mkdir "third_party/GSL/${BUILD_DIR}"
- cd "third_party/GSL/${BUILD_DIR}"
- cmake -DGSL_CXX_STANDARD="17" -DGSL_TEST=Off -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
- cmake --build . --target install
- mkdir "../../../${BUILD_DIR}"
- cd "../../../${BUILD_DIR}"
- mkdir "${BUILD_DIR}"
- cd "${BUILD_DIR}"
- cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DlibClaPP_PEDANTIC_COMPILER_FLAGS=On -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..
- cmake --build . --target install
- cd ../usage/make_pkgconfig
......
[submodule "third_party/googletest"]
path = third_party/googletest
url = https://github.com/google/googletest
[submodule "third_party/GSL"]
path = third_party/GSL
url = https://github.com/microsoft/GSL
......@@ -53,7 +53,6 @@ if(libClaPP_CPPCHECK)
endif()
include(cmake/sanitizer.cmake)
include(cmake/gsl.cmake)
include(cmake/gtest.cmake)
enable_testing()
......
add_library(libClaPP_GSL INTERFACE)
if(libClaPP_SUBMODULE_DEPENDENCIES)
if(NOT TARGET Microsoft.GSL::GSL)
set(GSL_CXX_STANDARD "17" CACHE STRING "Use c++ standard")
add_subdirectory("${THIRD_PARTY_DIR}/GSL" EXCLUDE_FROM_ALL)
endif()
else()
if(NOT TARGET Microsoft.GSL::GSL)
find_package(Microsoft.GSL 3.1.0 REQUIRED)
endif()
endif()
target_link_libraries(libClaPP_GSL INTERFACE Microsoft.GSL::GSL)
if(libClaPP_PEDANTIC_COMPILER_FLAGS)
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
target_compile_options(libClaPP_GSL INTERFACE -Wno-weak-vtables)
endif()
endif()
......@@ -6,7 +6,7 @@ set(libClaPP_INCLUDE_DIRS $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../inclu
target_include_directories(clapp PUBLIC ${libClaPP_INCLUDE_DIRS})
target_link_libraries(clapp PUBLIC libClaPP_SANITIZER libClaPP_GSL ${libClaPP_CXX_FS_LINKER_FLAG})
target_link_libraries(clapp PUBLIC libClaPP_SANITIZER ${libClaPP_CXX_FS_LINKER_FLAG})
target_link_libraries(clapp PRIVATE libClaPP_CXX_COMPILE_OPTIONS)
set_target_properties(clapp PROPERTIES
VERSION "${libClaPP_VERSION}"
......@@ -18,7 +18,7 @@ endif()
add_library(libClaPP::clapp ALIAS clapp)
install(TARGETS clapp libClaPP_GSL libClaPP_SANITIZER libClaPP_CXX_COMPILE_OPTIONS
install(TARGETS clapp libClaPP_SANITIZER libClaPP_CXX_COMPILE_OPTIONS
EXPORT libclapp-targets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
......
Subproject commit 0f6dbc9e2915ef5c16830f3fa3565738de2a9230
......@@ -2,7 +2,6 @@ cmake_minimum_required(VERSION 3.8.0)
project(libclapp-usage-cmake-import)
find_package(libclapp REQUIRED)
find_package(Microsoft.GSL REQUIRED)
add_executable(usage_cmake_import ../main.cpp)
target_compile_features(usage_cmake_import PRIVATE cxx_std_20)
......
......@@ -9,13 +9,6 @@ target_include_directories(libClaPP_clapp SYSTEM INTERFACE ${LIBCLAPP_INCLUDE_DI
target_link_libraries(libClaPP_clapp INTERFACE ${LIBCLAPP_LIBRARIES})
add_library(libClaPP::clapp ALIAS libClaPP_clapp)
find_path(libClaPP_GSL_INCLUDE_DIR NAMES gsl_assert span PATH_SUFFIXES gsl)
if(NOT libClaPP_GSL_INCLUDE_DIR)
message(FATAL_ERROR "Could not find GSL library.")
endif()
add_library(libClaPP_GSL INTERFACE)
target_include_directories(libClaPP_GSL INTERFACE ${libClaPP_GSL_INCLUDE_DIR}/..)
add_executable(usage_cmake_pkgconfig ../main.cpp)
target_compile_features(usage_cmake_pkgconfig PRIVATE cxx_std_20)
target_link_libraries(usage_cmake_pkgconfig PRIVATE libClaPP::clapp libClaPP_GSL)
target_link_libraries(usage_cmake_pkgconfig PRIVATE libClaPP::clapp)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment