feat: added ftxui and MSVC settings

master
cobrapitz 3 years ago
parent 803e10bf90
commit 28a2f25b23

@ -1,6 +1,6 @@
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) # set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
# Export compile command -> better tool integration. # Export compile command -> better tool integration.
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
@ -10,5 +10,12 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
set_property(GLOBAL PROPERTY USE_FOLDERS ON) if (MSVC)
include(cmake/MSVCSettings.cmake)
else()
endif()
# set_property(GLOBAL PROPERTY USE_FOLDERS ON)
endif() endif()

@ -15,7 +15,6 @@ if (NOT DEFINED BOOST_GIT_TAG)
message(FATAL_ERROR "BOOST_GIT_TAG is not defined.\n see https://github.com/boostorg/boost and grab a release tag.\n example: set(BOOST_GIT_TAG boost-1.81.0)") message(FATAL_ERROR "BOOST_GIT_TAG is not defined.\n see https://github.com/boostorg/boost and grab a release tag.\n example: set(BOOST_GIT_TAG boost-1.81.0)")
endif() endif()
if (NOT DEFINED BOOST_INCLUDE_LIBRARIES) if (NOT DEFINED BOOST_INCLUDE_LIBRARIES)
message(FATAL_ERROR "BOOST_INCLUDE_LIBRARIES is not defined. \n example: set(BOOST_INCLUDE_LIBRARIES thread filesystem system program_options dll pfr).") message(FATAL_ERROR "BOOST_INCLUDE_LIBRARIES is not defined. \n example: set(BOOST_INCLUDE_LIBRARIES thread filesystem system program_options dll pfr).")
endif() endif()

@ -0,0 +1,29 @@
# https://arthursonzogni.github.io/FTXUI/#build-cmake
#
# usage:
# FetchContent_MakeAvailable(ftxui)
# target_link_libraries(${PROJECT_NAME}
# PRIVATE ftxui::screen
# PRIVATE ftxui::dom
# PRIVATE ftxui::component++
# )
if (NOT DEFINED FTXUI_GIT_TAG)
message(FATAL_ERROR "FTXUI_GIT_TAG is not defined.\n see https://github.com/ArthurSonzogni/ftxui and grab a release tag.\n example: set(FTXUI_GIT_TAG v3.0.0)")
endif()
FetchContent_Declare(
ftxui
GIT_REPOSITORY https://github.com/ArthurSonzogni/ftxui
GIT_TAG ${FTXUI_GIT_TAG}
)
FetchContent_GetProperties(ftxui)
if(NOT ftxui_POPULATED)
FetchContent_Populate(ftxui)
add_subdirectory(${ftxui_SOURCE_DIR} ${ftxui_BINARY_DIR} EXCLUDE_FROM_ALL)
endif()
include(${CMAKE_SOURCE_DIR}/cmake/Utils.cmake)
print_git_tag(${FTXUI_GIT_TAG})

@ -0,0 +1,17 @@
# usage:
# FetchContent_MakeAvailable(cpr)
# target_link_libraries(${PROJECT_NAME} PRIVATE cpr::cpr)
if (NOT DEFINED CPR_GIT_TAG)
message(FATAL_ERROR "CPR_GIT_TAG is not defined.\n see https://github.com/libcpr/cpr and grab a release tag.\n example: set(CPR_GIT_TAG 1.10.2)")
endif()
FetchContent_Declare(
cpr
GIT_REPOSITORY https://github.com/libcpr/cpr.git
GIT_TAG ${CPR_GIT_TAG}
)
include(${CMAKE_SOURCE_DIR}/cmake/Utils.cmake)
print_git_tag(${CPR_GIT_TAG})
Loading…
Cancel
Save