diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt index 01f66a8..567a909 100644 --- a/src/client/CMakeLists.txt +++ b/src/client/CMakeLists.txt @@ -12,6 +12,7 @@ include(macos-libarchive.cmake) find_package(LibArchive 3 REQUIRED) find_package(CURL REQUIRED) find_package(Threads REQUIRED) +find_package(CLI11 REQUIRED) # rpath needs help on macos # Should be in a preset, but needed for all builds @@ -23,23 +24,9 @@ if(APPLE) list(APPEND CMAKE_INSTALL_RPATH "/usr/local/lib") endif() -include(FetchContent) -FetchContent_Declare(cli11 - URL https://github.com/CLIUtils/CLI11/releases/download/v2.5.0/CLI11.hpp - DOWNLOAD_NO_EXTRACT TRUE -) -FetchContent_MakeAvailable(cli11) -add_library(cli11 INTERFACE IMPORTED) -target_include_directories(cli11 SYSTEM INTERFACE ${cli11_SOURCE_DIR}) - # ctpl_stl external include -include(FetchContent) -FetchContent_Declare(ctpl_stl_src - GIT_REPOSITORY https://github.com/vit-vit/CTPL.git - GIT_TAG v.0.0.2 - GIT_SHALLOW TRUE -) -FetchContent_MakeAvailable(ctpl_stl_src) +# Pick up ctpl_stl.h put into ctpl/ at the root of this project. +set(ctpl_stl_src_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../ctpl") set(MARKER_FILE "${ctpl_stl_src_SOURCE_DIR}/ctpl_stl_patched.marker") if(NOT EXISTS ${MARKER_FILE}) message(STATUS "Patching CTPL sources") @@ -63,7 +50,7 @@ target_include_directories(ctpl_stl SYSTEM INTERFACE ${ctpl_stl_src_SOURCE_DIR}) file(GLOB CLIENT_SOURCE *.hpp *.cpp) add_executable(srcml ${CLIENT_SOURCE}) target_include_directories(srcml BEFORE PRIVATE .) -target_link_libraries(srcml PRIVATE srcML::LibsrcML LibArchive::LibArchive CURL::libcurl Threads::Threads cli11 ctpl_stl) +target_link_libraries(srcml PRIVATE srcML::LibsrcML LibArchive::LibArchive CURL::libcurl Threads::Threads CLI11 ctpl_stl) # Put executable in bin directory set_target_properties(srcml PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) diff --git a/src/client/srcml_cli.cpp b/src/client/srcml_cli.cpp index 0c0c832..cd75b1a 100644 --- a/src/client/srcml_cli.cpp +++ b/src/client/srcml_cli.cpp @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include using namespace ::std::literals::string_view_literals; diff --git a/src/parser/CMakeLists.txt b/src/parser/CMakeLists.txt index 69720b4..65d62b3 100644 --- a/src/parser/CMakeLists.txt +++ b/src/parser/CMakeLists.txt @@ -10,28 +10,15 @@ option(SRCML_DEBUG_PARSER "Enable parser debugging output" OFF) # TinySHA1 external include -include(FetchContent) -FetchContent_Declare(TinySHA1 - GIT_REPOSITORY https://github.com/mohaps/tinysha1 - GIT_TAG 2795aa8de91b1797defdfbff61ed93b22b5ced81 - GIT_SHALLOW TRUE -) -FetchContent_MakeAvailable(TinySHA1) -add_library(TinySHA1 INTERFACE IMPORTED) -target_include_directories(TinySHA1 INTERFACE ${tinysha1_SOURCE_DIR}) +# Just pick up TinySHA1.hpp put into this directory. find_package(LibXml2 REQUIRED) find_package(Iconv REQUIRED) find_package(Java COMPONENTS Runtime REQUIRED) # Setup ANTLR 2.7 library -include(FetchContent) -FetchContent_Declare(antlrsrc - URL https://www.antlr2.org/download/antlr-2.7.7.tar.gz - URL_HASH MD5=01cc9a2a454dd33dcd8c856ec89af090 -) -# Fetch the content using previously declared details -FetchContent_MakeAvailable(antlrsrc) +# Pick up antlr-2.7.7.tar.gz extracted in root of this project. +set(antlrsrc_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../antlr-2.7.7") # Custom marker file to check if modifications have been made set(MARKER_FILE "${antlrsrc_SOURCE_DIR}/antlr_patched.marker") # Fetch and modify only once @@ -85,7 +72,6 @@ set_target_properties(parser PROPERTIES POSITION_INDEPENDENT_CODE ON) target_include_directories(parser SYSTEM PUBLIC ${antlrsrc_SOURCE_DIR}/lib/cpp) target_include_directories(parser PRIVATE . ${CMAKE_GENERATED_SOURCE_DIR} PUBLIC . SYSTEM PUBLIC ${CMAKE_GENERATED_SOURCE_DIR}) target_link_libraries(parser PRIVATE LibXml2::LibXml2 antlr) -target_include_directories(parser PRIVATE $) if(SRCML_DEBUG_PARSER) set_source_files_properties(${CMAKE_GENERATED_SOURCE_DIR}/srcMLParser.cpp PROPERTIES COMPILE_DEFINITIONS SRCML_DEBUG_PARSER) endif()