diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..4ecb921 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,46 @@ +# Copyright 2018 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +cmake_minimum_required(VERSION 3.1.0) +project(astc-codec) + +option(OPTION_ASTC_TESTS "Build all the unit tests." ON) + +# TODO add support for the fuzzer, it has some additional dependencies we are not +# yet bringing in. +option(OPTION_BUILD_FUZZER "Build the fuzzer tests." OFF) + +set (CMAKE_CXX_STANDARD 11) +if(OPTION_ASTC_TESTS) + enable_testing() + + # No need to build gmock if an external project defines it. + if(NOT TARGET gmock_main) + # We use the approach suggested by https://crascit.com/2015/07/25/cmake-gtest/ to download gtest. + include(ExternalProject) + # Download and unpack googletest at configure time + configure_file(GoogleTest-CMakeLists.txt.in googletest-download/CMakeLists.txt) + execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download") + execute_process(COMMAND "${CMAKE_COMMAND}" --build . WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download") + + # Prevent GoogleTest from overriding our compiler/linker options when building with Visual Studio + set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) + + # Add googletest directly to our build. This adds the following targets: gtest, gtest_main, gmock and gmock_main + add_subdirectory("${CMAKE_BINARY_DIR}/googletest-src" "${CMAKE_BINARY_DIR}/googletest-build") + endif() +endif() + +add_subdirectory(src/base) +add_subdirectory(src/decoder) |