46 lines
1.6 KiB
CMake
46 lines
1.6 KiB
CMake
|
# Copyright (c) 2019-present, Facebook, Inc.
|
||
|
#
|
||
|
# This source code is licensed under the license found in the
|
||
|
# LICENSE.txt file in the root directory of this source tree.
|
||
|
|
||
|
cmake_minimum_required(VERSION 3.12)
|
||
|
|
||
|
project(libunifex LANGUAGES CXX
|
||
|
VERSION 0.1.0)
|
||
|
|
||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||
|
|
||
|
include(project-is-top-level)
|
||
|
include(unifex_options)
|
||
|
include(unifex_env)
|
||
|
include(unifex_flags)
|
||
|
|
||
|
# The library target is defined in the source subdirectory
|
||
|
add_subdirectory(source)
|
||
|
|
||
|
# Don't build tests or examples if this project is not a top-level project
|
||
|
# and only consumed via add_subdirectory in a git submodule fashion
|
||
|
if (PROJECT_IS_TOP_LEVEL)
|
||
|
# We enable testing in both cases, either if doing tests or building examples
|
||
|
# Note, that examples are also registered as tests by subsequent calls to add_test()
|
||
|
# You can run all tests or examples at once by using `ctest` or `ninja test`
|
||
|
include(CTest)
|
||
|
if(BUILD_TESTING OR UNIFEX_BUILD_EXAMPLES)
|
||
|
# Examples do not use gtest
|
||
|
if(UNIFEX_BUILD_EXAMPLES)
|
||
|
add_subdirectory(examples)
|
||
|
endif(UNIFEX_BUILD_EXAMPLES)
|
||
|
# Tests do use gtest
|
||
|
if(BUILD_TESTING)
|
||
|
include(gtest)
|
||
|
target_compile_features(gtest PUBLIC cxx_std_17)
|
||
|
target_compile_features(gtest_main PUBLIC cxx_std_17)
|
||
|
if (UNIFEX_CXX_COMPILER_CLANGCL)
|
||
|
target_compile_options(gtest PRIVATE -Wno-error)
|
||
|
target_compile_options(gtest_main PRIVATE -Wno-error)
|
||
|
endif()
|
||
|
add_subdirectory(test)
|
||
|
endif(BUILD_TESTING)
|
||
|
endif(BUILD_TESTING OR UNIFEX_BUILD_EXAMPLES)
|
||
|
endif(PROJECT_IS_TOP_LEVEL)
|