2017-11-26 07:53:32 +08:00
|
|
|
cmake_minimum_required(VERSION 3.3)
|
2018-03-13 20:21:17 +08:00
|
|
|
project(vcpkg C CXX)
|
2017-11-26 07:53:32 +08:00
|
|
|
|
2017-12-15 06:31:16 +08:00
|
|
|
if(CMAKE_COMPILER_IS_GNUXX OR CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
2017-11-29 05:06:56 +08:00
|
|
|
set(GCC 1)
|
|
|
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
|
|
|
|
set(CLANG 1)
|
2018-03-03 03:16:49 +08:00
|
|
|
elseif(MSVC)
|
|
|
|
add_compile_options(/std:c++latest)
|
2017-12-15 06:31:16 +08:00
|
|
|
else()
|
|
|
|
message(FATAL_ERROR "Unknown compiler: ${CMAKE_CXX_COMPILER_ID}")
|
2017-11-29 05:06:56 +08:00
|
|
|
endif()
|
|
|
|
|
2018-03-03 03:16:49 +08:00
|
|
|
if(GCC OR CLANG)
|
|
|
|
add_compile_options(-std=c++1z)
|
|
|
|
endif()
|
|
|
|
|
2017-11-26 07:53:32 +08:00
|
|
|
file(GLOB_RECURSE VCPKGLIB_SOURCES src/vcpkg/*.cpp)
|
|
|
|
|
2018-02-20 04:20:16 +08:00
|
|
|
add_executable(vcpkg src/vcpkg.cpp ${VCPKGLIB_SOURCES})
|
|
|
|
target_compile_definitions(vcpkg PRIVATE -DDISABLE_METRICS=0)
|
2018-03-13 20:21:17 +08:00
|
|
|
target_include_directories(vcpkg PRIVATE include)
|
2017-11-29 02:50:33 +08:00
|
|
|
|
2017-11-29 05:06:56 +08:00
|
|
|
if(GCC)
|
2018-03-13 20:21:17 +08:00
|
|
|
target_link_libraries(vcpkg PRIVATE stdc++fs)
|
2017-11-29 05:06:56 +08:00
|
|
|
elseif(CLANG)
|
2018-03-13 20:21:17 +08:00
|
|
|
target_link_libraries(vcpkg PRIVATE c++experimental)
|
2017-11-29 02:50:33 +08:00
|
|
|
endif()
|
2018-03-13 20:21:17 +08:00
|
|
|
|
|
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
target_link_libraries(vcpkg PRIVATE Threads::Threads)
|