Skip to content
Draft
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
7 changes: 7 additions & 0 deletions CMake/HippoMocksConfig.cmake.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
@PACKAGE_INIT@

if(NOT TARGET HippoMocks::HippoMocks)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")

include(${CMAKE_CURRENT_LIST_DIR}/HippoMocksTargets.cmake)
endif()
39 changes: 33 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,38 @@
cmake_minimum_required(VERSION 3.0)
enable_testing()

if (NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -Wno-long-long -std=c++11")
endif()
project(HippoMocks)

include(CTest)

add_subdirectory(HippoMocks)
add_subdirectory(HippoMocksTest)
if (BUILD_TESTING)
add_subdirectory(HippoMocksTest)
endif()

include(CMakePackageConfigHelpers)

set(HIPPOMOCKS_CMAKE_CONFIG_DESTINATION "cmake/")

configure_package_config_file(
${CMAKE_CURRENT_LIST_DIR}/CMake/HippoMocksConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/HippoMocksConfig.cmake
INSTALL_DESTINATION
${HIPPOMOCKS_CMAKE_CONFIG_DESTINATION}
)

install(
EXPORT
HippoMocksTargets
NAMESPACE
HippoMocks::
DESTINATION
${HIPPOMOCKS_CMAKE_CONFIG_DESTINATION}
)

install(FILES ${PROJECT_SOURCE_DIR}/HippoMocks/hippomocks.h
DESTINATION include/)
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/HippoMocksConfig.cmake"
DESTINATION
${HIPPOMOCKS_CMAKE_CONFIG_DESTINATION}
)
16 changes: 13 additions & 3 deletions HippoMocks/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
project(HippoMocks)

add_library(${PROJECT_NAME} INTERFACE)
target_include_directories(${PROJECT_NAME} INTERFACE .)
target_include_directories(HippoMocks INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include>)
target_compile_features(HippoMocks INTERFACE cxx_std_11)

install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/hippomocks.h
DESTINATION include/)

install(
TARGETS
HippoMocks
EXPORT
HippoMocksTargets
DESTINATION
./
)
7 changes: 7 additions & 0 deletions HippoMocksTest/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@ cmake_minimum_required(VERSION 3.0)

project(HippoMocksTests CXX)

if (NOT WIN32)
target_compile_options(HippoMocksTests
PRIVATE
-Wall -Wextra -pedantic -Wno-long-long
)
endif()

add_executable(${PROJECT_NAME}
Framework.cpp
is_virtual.cpp
Expand Down