early-access version 2853
This commit is contained in:
96
externals/vcpkg/ports/ctemplate/CMakeLists.txt
vendored
Executable file
96
externals/vcpkg/ports/ctemplate/CMakeLists.txt
vendored
Executable file
@@ -0,0 +1,96 @@
|
||||
cmake_minimum_required(VERSION 3.5.1)
|
||||
project(libctemplate C CXX)
|
||||
|
||||
# find_package(PythonInterp)
|
||||
if(NOT PYTHON_EXECUTABLE)
|
||||
message(FATAL_ERROR "PYTHON_EXECUTABLE must be set")
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
|
||||
add_definitions(-D_VARIADIC_MAX=10)
|
||||
endif()
|
||||
|
||||
set(SOURCE_PATH ${PROJECT_SOURCE_DIR}/src)
|
||||
set(BASE_SOURCE_PATH ${SOURCE_PATH}/base)
|
||||
set(WINDOWS_SOURCE_PATH ${SOURCE_PATH}/windows)
|
||||
set(HTMLPARSER_SOURCE_PATH ${SOURCE_PATH}/htmlparser)
|
||||
|
||||
set(COMMON_INCLUDES ${PROJECT_BINARY_DIR}/include)
|
||||
|
||||
set(HTMLPARSER_CONFIG ${HTMLPARSER_SOURCE_PATH}/htmlparser_fsm.config)
|
||||
set(JSPASPER_CONFIG ${HTMLPARSER_SOURCE_PATH}/jsparser_fsm.config)
|
||||
set(FSM_GENERATOR ${HTMLPARSER_SOURCE_PATH}/generate_fsm.py)
|
||||
|
||||
set(BASE_HEADERS
|
||||
"${BASE_SOURCE_PATH}/arena.h"
|
||||
"${BASE_SOURCE_PATH}/manual_constructor.h"
|
||||
"${BASE_SOURCE_PATH}/mutex.h"
|
||||
"${BASE_SOURCE_PATH}/small_map.h"
|
||||
"${BASE_SOURCE_PATH}/thread_annotations.h"
|
||||
"${BASE_SOURCE_PATH}/util.h"
|
||||
"${BASE_SOURCE_PATH}/arena-inl.h"
|
||||
)
|
||||
|
||||
set(
|
||||
HTMLPARSER_HEADERS
|
||||
"${HTMLPARSER_SOURCE_PATH}/htmlparser.h"
|
||||
"${HTMLPARSER_SOURCE_PATH}/htmlparser_cpp.h"
|
||||
"${HTMLPARSER_SOURCE_PATH}/jsparser.h"
|
||||
"${HTMLPARSER_SOURCE_PATH}/statemachine.h"
|
||||
)
|
||||
set(SRC_FILES
|
||||
"${SOURCE_PATH}/base/arena.cc"
|
||||
"${SOURCE_PATH}/htmlparser/htmlparser.cc"
|
||||
"${SOURCE_PATH}/htmlparser/jsparser.cc"
|
||||
"${SOURCE_PATH}/htmlparser/statemachine.cc"
|
||||
"${SOURCE_PATH}/per_expand_data.cc"
|
||||
"${SOURCE_PATH}/template.cc"
|
||||
"${SOURCE_PATH}/template_annotator.cc"
|
||||
"${SOURCE_PATH}/template_cache.cc"
|
||||
"${SOURCE_PATH}/template_dictionary.cc"
|
||||
"${SOURCE_PATH}/template_modifiers.cc"
|
||||
"${SOURCE_PATH}/template_namelist.cc"
|
||||
"${SOURCE_PATH}/template_pathops.cc"
|
||||
"${SOURCE_PATH}/template_string.cc"
|
||||
"${SOURCE_PATH}/windows/port.cc"
|
||||
)
|
||||
|
||||
file(COPY "${WINDOWS_SOURCE_PATH}/" DESTINATION ${COMMON_INCLUDES})
|
||||
file(COPY "${WINDOWS_SOURCE_PATH}/config.h" DESTINATION ${COMMON_INCLUDES}/windows)
|
||||
file(COPY "${WINDOWS_SOURCE_PATH}/port.h" DESTINATION ${COMMON_INCLUDES}/windows)
|
||||
file(COPY ${HTMLPARSER_HEADERS} DESTINATION ${COMMON_INCLUDES}/htmlparser)
|
||||
file(COPY ${BASE_HEADERS} DESTINATION ${COMMON_INCLUDES}/base)
|
||||
|
||||
execute_process(
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${FSM_GENERATOR} ${HTMLPARSER_CONFIG}
|
||||
WORKING_DIRECTORY ${COMMON_INCLUDES}/htmlparser
|
||||
OUTPUT_VARIABLE HTMLPARSER_CONFIG_H
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${FSM_GENERATOR} ${JSPASPER_CONFIG}
|
||||
WORKING_DIRECTORY ${COMMON_INCLUDES}/htmlparser
|
||||
OUTPUT_VARIABLE JSPASPER_CONFIG_H
|
||||
)
|
||||
|
||||
file(WRITE "${COMMON_INCLUDES}/htmlparser/htmlparser_fsm.h" "${HTMLPARSER_CONFIG_H}")
|
||||
file(WRITE "${COMMON_INCLUDES}/htmlparser/jsparser_fsm.h" "${JSPASPER_CONFIG_H}")
|
||||
|
||||
include_directories(${COMMON_INCLUDES})
|
||||
|
||||
add_library(libctemplate ${SRC_FILES})
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
# Note: CTEMPLATE_DLL_DECL should be empty to build static file
|
||||
target_compile_definitions(libctemplate PRIVATE -DCTEMPLATE_DLL_DECL=)
|
||||
endif()
|
||||
|
||||
install(
|
||||
TARGETS libctemplate
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib
|
||||
)
|
||||
|
||||
if(NOT DISABLE_INSTALL_HEADERS)
|
||||
install(DIRECTORY "${COMMON_INCLUDES}/ctemplate" DESTINATION include FILES_MATCHING PATTERN "*.h")
|
||||
endif()
|
||||
24
externals/vcpkg/ports/ctemplate/portfile.cmake
vendored
Executable file
24
externals/vcpkg/ports/ctemplate/portfile.cmake
vendored
Executable file
@@ -0,0 +1,24 @@
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO OlafvdSpek/ctemplate
|
||||
REF 1c397b63e62dc6547054f4711c27918aedce4c2d # accessed on 2020-09-14
|
||||
SHA512 9691393cbb89972e95dba3cb802d0a0379f8f45cddc696e4ce223eb94887b3be46a9d999cac161069261ef63ba26fbdc392c53c3f977e1a7ae51768caa7739ea
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
|
||||
vcpkg_find_acquire_program(PYTHON3)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS -DPYTHON_EXECUTABLE=${PYTHON3}
|
||||
OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ctemplate RENAME copyright)
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
8
externals/vcpkg/ports/ctemplate/vcpkg.json
vendored
Executable file
8
externals/vcpkg/ports/ctemplate/vcpkg.json
vendored
Executable file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "ctemplate",
|
||||
"version-date": "2020-09-14",
|
||||
"port-version": 3,
|
||||
"description": "C++ CTemplate system",
|
||||
"homepage": "https://github.com/OlafvdSpek/ctemplate",
|
||||
"supports": "!arm"
|
||||
}
|
||||
Reference in New Issue
Block a user