aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCloud Han <cloudhan@outlook.com>2019-07-16 02:37:40 +0800
committerVictor Romero <romerosanchezv@gmail.com>2019-07-15 11:37:40 -0700
commitac00ef2070be876479bcf667ac2f41c0a888bdb8 (patch)
tree5c7486a5c1453a4396bce43456b7b43e0c4ae3e6
parent8fb83ad0ad2a2b2df3a4338c7cf2d2ca8cc0f7c1 (diff)
downloadvcpkg-ac00ef2070be876479bcf667ac2f41c0a888bdb8.tar.gz
vcpkg-ac00ef2070be876479bcf667ac2f41c0a888bdb8.zip
use abseil's official cmake for build (#7018)
-rw-r--r--ports/abseil/CMakeLists.txt93
-rw-r--r--ports/abseil/portfile.cmake10
2 files changed, 6 insertions, 97 deletions
diff --git a/ports/abseil/CMakeLists.txt b/ports/abseil/CMakeLists.txt
deleted file mode 100644
index b4147266f..000000000
--- a/ports/abseil/CMakeLists.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-cmake_minimum_required(VERSION 3.8)
-project(abseil CXX)
-
-add_definitions(-DNOMINMAX -DWIN32_LEAN_AND_MEAN)
-
-set(CMAKE_CXX_STANDARD 14)
-
-set(CMAKE_DEBUG_POSTFIX d)
-
-if(CMAKE_BUILD_TYPE STREQUAL "Release")
- option(INSTALL_HEADERS "Install header files" ON)
-else()
- option(INSTALL_HEADERS "Install header files" OFF)
-endif()
-
-function(add_sublibrary LIB)
- file(GLOB_RECURSE SOURCES "absl/${LIB}/*.cc")
- list(FILTER SOURCES EXCLUDE REGEX "_test(ing)?(_.+)?.cc$|_nonprod.cc$|test_util.cc$|_benchmark.cc$")
- file(GLOB_RECURSE HEADERS "absl/${LIB}/*.h" "absl/${LIB}/*.inc")
-
- if(SOURCES)
- if("STATIC" IN_LIST ARGN)
- add_library(${LIB} STATIC ${SOURCES})
- else()
- add_library(${LIB} ${SOURCES})
- endif()
- set_target_properties(${LIB} PROPERTIES OUTPUT_NAME "absl_${LIB}")
- target_include_directories(${LIB} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include>)
- else()
- add_library(${LIB} INTERFACE)
- target_include_directories(${LIB} INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include>)
- endif()
-
- install(TARGETS ${LIB} EXPORT unofficial-abseil-targets
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
- )
-
- if(INSTALL_HEADERS)
- if(HEADERS)
- foreach(file IN LISTS HEADERS)
- get_filename_component(dir ${file} DIRECTORY)
- file(RELATIVE_PATH rel_dir ${CMAKE_SOURCE_DIR}/absl/${LIB} ${dir})
- install(FILES ${file} DESTINATION "include/absl/${LIB}/${rel_dir}")
- endforeach()
- endif()
- endif()
-endfunction()
-
-function(target_link_public_libraries A)
- get_target_property(A_TYPE ${A} TYPE)
- if(A_TYPE STREQUAL INTERFACE_LIBRARY)
- target_link_libraries(${A} INTERFACE ${ARGN})
- else()
- target_link_libraries(${A} PUBLIC ${ARGN})
- endif()
-endfunction()
-
-add_sublibrary(algorithm)
-add_sublibrary(base)
-add_sublibrary(container STATIC)
-add_sublibrary(debugging)
-add_sublibrary(hash)
-add_sublibrary(memory)
-add_sublibrary(meta)
-add_sublibrary(numeric)
-add_sublibrary(strings)
-add_sublibrary(synchronization STATIC)
-# Time must be static because there are global variables intended for export
-add_sublibrary(time STATIC)
-add_sublibrary(types)
-add_sublibrary(utility)
-
-target_link_public_libraries(algorithm base meta)
-target_link_public_libraries(container algorithm base memory time)
-target_link_public_libraries(debugging base)
-target_link_public_libraries(hash base)
-target_link_public_libraries(memory meta)
-target_link_public_libraries(meta base)
-target_link_public_libraries(numeric base)
-target_link_public_libraries(strings base memory meta numeric)
-target_link_public_libraries(types base utility meta algorithm strings)
-target_link_public_libraries(utility base meta)
-target_link_public_libraries(time base numeric)
-target_link_public_libraries(synchronization base time)
-
-install(
- EXPORT unofficial-abseil-targets
- FILE unofficial-abseil-config.cmake
- NAMESPACE unofficial::abseil::
- DESTINATION share/unofficial-abseil
-)
diff --git a/ports/abseil/portfile.cmake b/ports/abseil/portfile.cmake
index b14618229..1c2993332 100644
--- a/ports/abseil/portfile.cmake
+++ b/ports/abseil/portfile.cmake
@@ -15,17 +15,19 @@ vcpkg_from_github(
PATCHES fix-usage-lnk-error.patch
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
)
vcpkg_install_cmake()
-
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-abseil TARGET_PATH share/unofficial-abseil)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/absl)
vcpkg_copy_pdbs()
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/abseil RENAME copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/include/absl/copts
+ ${CURRENT_PACKAGES_DIR}/include/absl/strings/testdata
+ ${CURRENT_PACKAGES_DIR}/include/absl/time/internal/cctz/testdata) \ No newline at end of file