CMake 3.5 is a sad, sad affair.

This commit is contained in:
ThePhD 2018-02-17 01:07:10 -05:00
parent a9b1c8e5fb
commit 0192fcb176

View File

@ -41,27 +41,32 @@ set(catch_include_dirs "${catch_build_toplevel}")
set(catch_sources catch.hpp) set(catch_sources catch.hpp)
prepend(catch_sources "${catch_build_toplevel}/" ${catch_sources}) prepend(catch_sources "${catch_build_toplevel}/" ${catch_sources})
# # !! Catch 3.5 does not have DOWNLOAD_NO_EXTRACT e.e
# # Now I know why people don't like CMake that much: the earlier versions were kind of garbage
# # External project to get sources # # External project to get sources
ExternalProject_Add(CATCH_BUILD_SOURCE #ExternalProject_Add(CATCH_BUILD_SOURCE
BUILD_IN_SOURCE TRUE # BUILD_IN_SOURCE TRUE
BUILD_ALWAYS FALSE # BUILD_ALWAYS FALSE
DOWNLOAD_NO_EXTRACT TRUE # DOWNLOAD_NO_EXTRACT TRUE
URL https://github.com/catchorg/Catch2/releases/download/v${catch_version}/catch.hpp # URL https://github.com/catchorg/Catch2/releases/download/v${catch_version}/catch.hpp
TLS_VERIFY TRUE # TLS_VERIFY TRUE
PREFIX ${catch_build_toplevel} # PREFIX ${catch_build_toplevel}
SOURCE_DIR ${catch_build_toplevel} # SOURCE_DIR ${catch_build_toplevel}
DOWNLOAD_DIR ${catch_build_toplevel} # DOWNLOAD_DIR ${catch_build_toplevel}
TMP_DIR "${catch_build_toplevel}-tmp" # TMP_DIR "${catch_build_toplevel}-tmp"
STAMP_DIR "${catch_build_toplevel}-stamp" # STAMP_DIR "${catch_build_toplevel}-stamp"
INSTALL_DIR "${catch_build_toplevel}/local" # INSTALL_DIR "${catch_build_toplevel}/local"
CONFIGURE_COMMAND "" # CONFIGURE_COMMAND ""
BUILD_COMMAND "" # BUILD_COMMAND ""
INSTALL_COMMAND "" # INSTALL_COMMAND ""
TEST_COMMAND "" # TEST_COMMAND ""
BUILD_BYPRODUCTS "${catch_sources}") # BUILD_BYPRODUCTS "${catch_sources}")
file(MAKE_DIRECTORY "${catch_build_toplevel}")
file(DOWNLOAD https://github.com/catchorg/Catch2/releases/download/v${catch_version}/catch.hpp ${catch_sources})
add_library(${catch_lib} INTERFACE) add_library(${catch_lib} INTERFACE)
add_dependencies(${catch_lib} CATCH_BUILD_SOURCE) # add_dependencies(${catch_lib} CATCH_BUILD_SOURCE)
target_include_directories(${catch_lib} INTERFACE ${catch_include_dirs}) target_include_directories(${catch_lib} INTERFACE ${catch_include_dirs})
if (MSVC) if (MSVC)