mirror of
https://gitlab.freedesktop.org/uchardet/uchardet.git
synced 2025-12-24 12:44:46 +08:00
It is unneeded to do it by target, using the globale property CMAKE_CXX_STANDARD instead. Also with CMAKE_CXX_STANDARD_REQUIRED, I make this a strong requirement. The documentation indeed states that the CXX_STANDARD "is treated as optional and may “decay” to a previous standard if the requested is not available". This means that uchardet will likely not be buildable with a compiler with no C++11 support. But I assume this is not a common situation, and probably we should not care about outdated compilers. I remain open to suggestions and disagreement on the topic obviously.
156 lines
3.0 KiB
CMake
156 lines
3.0 KiB
CMake
set(
|
|
UCHARDET_HEADERS
|
|
uchardet.h
|
|
)
|
|
|
|
set(
|
|
UCHARDET_SOURCES
|
|
CharDistribution.cpp
|
|
JpCntx.cpp
|
|
LangModels/LangArabicModel.cpp
|
|
LangModels/LangBulgarianModel.cpp
|
|
LangModels/LangCroatianModel.cpp
|
|
LangModels/LangCzechModel.cpp
|
|
LangModels/LangEsperantoModel.cpp
|
|
LangModels/LangEstonianModel.cpp
|
|
LangModels/LangFinnishModel.cpp
|
|
LangModels/LangFrenchModel.cpp
|
|
LangModels/LangDanishModel.cpp
|
|
LangModels/LangGermanModel.cpp
|
|
LangModels/LangGreekModel.cpp
|
|
LangModels/LangHungarianModel.cpp
|
|
LangModels/LangHebrewModel.cpp
|
|
LangModels/LangIrishModel.cpp
|
|
LangModels/LangItalianModel.cpp
|
|
LangModels/LangLithuanianModel.cpp
|
|
LangModels/LangLatvianModel.cpp
|
|
LangModels/LangMalteseModel.cpp
|
|
LangModels/LangPolishModel.cpp
|
|
LangModels/LangPortugueseModel.cpp
|
|
LangModels/LangRomanianModel.cpp
|
|
LangModels/LangRussianModel.cpp
|
|
LangModels/LangSlovakModel.cpp
|
|
LangModels/LangSloveneModel.cpp
|
|
LangModels/LangSwedishModel.cpp
|
|
LangModels/LangSpanishModel.cpp
|
|
LangModels/LangThaiModel.cpp
|
|
LangModels/LangTurkishModel.cpp
|
|
LangModels/LangVietnameseModel.cpp
|
|
nsHebrewProber.cpp
|
|
nsCharSetProber.cpp
|
|
nsBig5Prober.cpp
|
|
nsEUCJPProber.cpp
|
|
nsEUCKRProber.cpp
|
|
nsEUCTWProber.cpp
|
|
nsEscCharsetProber.cpp
|
|
nsEscSM.cpp
|
|
nsGB2312Prober.cpp
|
|
nsMBCSGroupProber.cpp
|
|
nsMBCSSM.cpp
|
|
nsSBCSGroupProber.cpp
|
|
nsSBCharSetProber.cpp
|
|
nsSJISProber.cpp
|
|
nsUTF8Prober.cpp
|
|
nsLatin1Prober.cpp
|
|
nsUniversalDetector.cpp
|
|
uchardet.cpp
|
|
)
|
|
|
|
set (UCHARDET_LIBRARY libuchardet)
|
|
set (UCHARDET_LIBRARY libuchardet PARENT_SCOPE)
|
|
|
|
if (BUILD_STATIC AND BUILD_SHARED_LIBS)
|
|
set (UCHARDET_STATIC_LIBRARY libuchardet_static)
|
|
endif ()
|
|
|
|
add_definitions(
|
|
-DVERSION="${UCHARDET_VERSION}"
|
|
-Wall
|
|
)
|
|
|
|
if (CMAKE_BUILD_TYPE MATCHES Debug)
|
|
add_definitions(
|
|
-O0
|
|
-g3
|
|
)
|
|
endif (CMAKE_BUILD_TYPE MATCHES Debug)
|
|
|
|
add_library(
|
|
${UCHARDET_LIBRARY}
|
|
${UCHARDET_SOURCES}
|
|
)
|
|
|
|
if (UCHARDET_STATIC_LIBRARY)
|
|
add_library(
|
|
${UCHARDET_STATIC_LIBRARY}
|
|
STATIC
|
|
${UCHARDET_SOURCES}
|
|
)
|
|
endif (UCHARDET_STATIC_LIBRARY)
|
|
|
|
set_target_properties(
|
|
${UCHARDET_LIBRARY}
|
|
PROPERTIES
|
|
LINKER_LANGUAGE
|
|
CXX
|
|
OUTPUT_NAME
|
|
${PACKAGE_NAME}
|
|
VERSION
|
|
${UCHARDET_VERSION}
|
|
SOVERSION
|
|
${UCHARDET_VERSION_MAJOR}
|
|
)
|
|
|
|
if (UCHARDET_STATIC_LIBRARY)
|
|
set_target_properties(
|
|
${UCHARDET_STATIC_LIBRARY}
|
|
PROPERTIES
|
|
LINKER_LANGUAGE
|
|
CXX
|
|
OUTPUT_NAME
|
|
${PACKAGE_NAME}
|
|
)
|
|
endif (UCHARDET_STATIC_LIBRARY)
|
|
|
|
if (NOT WIN32)
|
|
install(
|
|
TARGETS
|
|
${UCHARDET_LIBRARY}
|
|
LIBRARY DESTINATION
|
|
${CMAKE_INSTALL_LIBDIR}
|
|
ARCHIVE DESTINATION
|
|
${CMAKE_INSTALL_LIBDIR}
|
|
)
|
|
else (NOT WIN32)
|
|
install(
|
|
TARGETS
|
|
${UCHARDET_LIBRARY}
|
|
RUNTIME DESTINATION
|
|
${CMAKE_INSTALL_BINDIR}
|
|
ARCHIVE DESTINATION
|
|
${CMAKE_INSTALL_LIBDIR}
|
|
)
|
|
endif (NOT WIN32)
|
|
|
|
if (UCHARDET_STATIC_LIBRARY)
|
|
install(
|
|
TARGETS
|
|
${UCHARDET_STATIC_LIBRARY}
|
|
ARCHIVE DESTINATION
|
|
${CMAKE_INSTALL_LIBDIR}
|
|
)
|
|
endif (UCHARDET_STATIC_LIBRARY)
|
|
|
|
install(
|
|
FILES
|
|
${UCHARDET_HEADERS}
|
|
DESTINATION
|
|
${CMAKE_INSTALL_INCLUDEDIR}/${PACKAGE_NAME}
|
|
)
|
|
|
|
include(symbols.cmake)
|
|
|
|
if (BUILD_BINARY)
|
|
add_subdirectory(tools)
|
|
endif (BUILD_BINARY)
|