refactor: update project
- add documentation CMake build script. re-organise document layout for future changes. - move LIBCMO_EXPORT to BMap and rename it to BMAP_EXPORT because only BMap need to use this macro. - fully refactor VTEncoding to make it more like Python - Now language name is platform independent. - Hide implementation detail as possible as I can. - Language mapping are still work in progress. - add code gen for new added universal encoding feature to generate language name mapping in Windows and Iconv respectively. - remove old code of CMake build script. - update VTUtils for new requirement. - remove useless functions. - create LibCmo specific custom exception classes.
This commit is contained in:
@ -34,8 +34,12 @@ PROPERTIES
|
||||
CXX_STANDARD_REQUIRED 20
|
||||
CXX_EXTENSION OFF
|
||||
)
|
||||
# Order Unicode charset for private using
|
||||
# Setup project macros
|
||||
target_compile_definitions(BMap
|
||||
# Enable export macro
|
||||
PRIVATE
|
||||
BMAP_EXPORTING
|
||||
# Order Unicode charset for private using
|
||||
PRIVATE
|
||||
$<$<CXX_COMPILER_ID:MSVC>:UNICODE>
|
||||
$<$<CXX_COMPILER_ID:MSVC>:_UNICODE>
|
||||
@ -51,69 +55,3 @@ install(TARGETS BMap
|
||||
CONFIGURATIONS Release
|
||||
RUNTIME DESTINATION ${YYCC_INSTALL_BIN_PATH}
|
||||
)
|
||||
|
||||
|
||||
# cmake_minimum_required(VERSION 3.12)
|
||||
# project(BMap LANGUAGES CXX)
|
||||
|
||||
# # add libcmo if not existed
|
||||
# if (NOT TARGET LibCmo)
|
||||
# add_subdirectory("../LibCmo" "LibCmo.out")
|
||||
# endif ()
|
||||
# # add ironpad if not existed
|
||||
# if (NOT TARGET IronPad)
|
||||
# add_subdirectory("../IronPad" "IronPad.out")
|
||||
# endif ()
|
||||
|
||||
# # hide all function in default
|
||||
# # fix imported library PIC issue (i don't know why. just make it works)
|
||||
# set_target_properties(LibCmo
|
||||
# PROPERTIES
|
||||
# CXX_VISIBILITY_PRESET hidden
|
||||
# POSITION_INDEPENDENT_CODE ON
|
||||
# )
|
||||
# set_target_properties(IronPad
|
||||
# PROPERTIES
|
||||
# CXX_VISIBILITY_PRESET hidden
|
||||
# POSITION_INDEPENDENT_CODE ON
|
||||
# )
|
||||
|
||||
# # setup sources
|
||||
# set(bmap_headers ".")
|
||||
# set(bmap_sources
|
||||
# BMap.cpp
|
||||
# BMExports.cpp
|
||||
# )
|
||||
|
||||
# # generate shared library
|
||||
# add_library(BMap
|
||||
# SHARED
|
||||
# ${bmap_sources}
|
||||
# )
|
||||
# target_link_libraries(BMap
|
||||
# PRIVATE
|
||||
# LibCmo
|
||||
# IronPad
|
||||
# )
|
||||
# target_include_directories(BMap
|
||||
# PRIVATE
|
||||
# ${bmap_headers}
|
||||
# )
|
||||
|
||||
# # set project standard
|
||||
# set_target_properties(BMap
|
||||
# PROPERTIES
|
||||
# CXX_STANDARD 20
|
||||
# CXX_STANDARD_REQUIRED 20
|
||||
# CXX_EXTENSION OFF
|
||||
# )
|
||||
# # set default visibility to hidden
|
||||
# set_target_properties(BMap
|
||||
# PROPERTIES
|
||||
# CXX_VISIBILITY_PRESET hidden
|
||||
# )
|
||||
# # add export used macro flag
|
||||
# target_compile_definitions(BMap
|
||||
# PUBLIC
|
||||
# LIBCMO_EXPORTING
|
||||
# )
|
||||
|
Reference in New Issue
Block a user